From fff01672111033ed3d6d48df1877ac815f2913c9 Mon Sep 17 00:00:00 2001 From: j2blake Date: Sun, 29 Jan 2012 18:00:02 +0000 Subject: [PATCH] NIHVIVO-3542 Clean up the unit test for IndividualRequestAnalyzer - move the stub class into its own file. --- .../IndividualRequestAnalyzerTest.java | 87 +----------------- .../IndividualRequestAnalysisContextStub.java | 89 +++++++++++++++++++ 2 files changed, 92 insertions(+), 84 deletions(-) create mode 100644 webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextStub.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzerTest.java b/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzerTest.java index 4575901a0..709e72365 100644 --- a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzerTest.java +++ b/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzerTest.java @@ -9,16 +9,14 @@ import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertNotNull; import java.net.URL; -import java.util.HashMap; -import java.util.Map; import org.junit.Before; import org.junit.Test; import stubs.edu.cornell.mannlib.vitro.webapp.beans.IndividualStub; +import stubs.edu.cornell.mannlib.vitro.webapp.controller.individual.IndividualRequestAnalysisContextStub; import stubs.javax.servlet.http.HttpServletRequestStub; import edu.cornell.mannlib.vitro.testing.AbstractTestClass; -import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.web.ContentType; @@ -64,7 +62,7 @@ public class IndividualRequestAnalyzerTest extends AbstractTestClass { + ID_INDIVIDUAL_FOREIGN; private IndividualRequestAnalyzer analyzer; - private MyAnalysisContext analysisContext; + private IndividualRequestAnalysisContextStub analysisContext; private HttpServletRequestStub req; private VitroRequest vreq; private IndividualRequestInfo requestInfo; @@ -76,7 +74,7 @@ public class IndividualRequestAnalyzerTest extends AbstractTestClass { @Before public void setup() { req = new HttpServletRequestStub(); - analysisContext = new MyAnalysisContext(DEFAULT_NAMESPACE); + analysisContext = new IndividualRequestAnalysisContextStub(DEFAULT_NAMESPACE); testIndividual = new IndividualStub(URI_INDIVIDUAL_TEST); analysisContext.addIndividual(testIndividual); @@ -398,83 +396,4 @@ public class IndividualRequestAnalyzerTest extends AbstractTestClass { requestInfo.getRdfFormat()); } - // ---------------------------------------------------------------------- - // Supporting classes - // ---------------------------------------------------------------------- - - private static class MyAnalysisContext implements - IndividualRequestAnalysisContext { - // ---------------------------------------------------------------------- - // Stub infrastructure - // ---------------------------------------------------------------------- - - private final String defaultNamespace; - private final Map individualsByUri = new HashMap(); - private final Map profilePages = new HashMap(); - private final Map namespacesByPrefix = new HashMap(); - private final Map aliasUrlsByIndividual = new HashMap(); - - public MyAnalysisContext(String defaultNamespace) { - this.defaultNamespace = defaultNamespace; - } - - public void addIndividual(Individual individual) { - individualsByUri.put(individual.getURI(), individual); - } - - public void addProfilePage(String netId, Individual individual) { - profilePages.put(netId, individual); - } - - public void setNamespacePrefix(String prefix, String namespace) { - namespacesByPrefix.put(prefix, namespace); - } - - public void setAliasUrl(String individualUri, String aliasUrl) { - aliasUrlsByIndividual.put(individualUri, aliasUrl); - } - - // ---------------------------------------------------------------------- - // Stub methods - // ---------------------------------------------------------------------- - - @Override - public String getDefaultNamespace() { - return defaultNamespace; - } - - @Override - public String getNamespaceForPrefix(String prefix) { - if (prefix == null) { - return ""; - } - String namespace = namespacesByPrefix.get(prefix); - return (namespace == null) ? "" : namespace; - } - - @Override - public Individual getIndividualByURI(String individualUri) { - if (individualUri == null) { - return null; - - } - return individualsByUri.get(individualUri); - } - - @Override - public Individual getIndividualByNetId(String netId) { - if (netId == null) { - return null; - } - return profilePages.get(netId); - } - - @Override - public String getAliasUrlForBytestreamIndividual(Individual individual) { - if (individual == null) { - return null; - } - return aliasUrlsByIndividual.get(individual.getURI()); - } - } } diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextStub.java b/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextStub.java new file mode 100644 index 000000000..d303956b2 --- /dev/null +++ b/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextStub.java @@ -0,0 +1,89 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package stubs.edu.cornell.mannlib.vitro.webapp.controller.individual; + +import java.util.HashMap; +import java.util.Map; + +import edu.cornell.mannlib.vitro.webapp.beans.Individual; +import edu.cornell.mannlib.vitro.webapp.controller.individual.IndividualRequestAnalysisContext; + +/** + * A simple implementation of the Analysis Context for the Individual Request. + */ +public class IndividualRequestAnalysisContextStub implements + IndividualRequestAnalysisContext { + + // ---------------------------------------------------------------------- + // Stub infrastructure + // ---------------------------------------------------------------------- + + private final String defaultNamespace; + private final Map individualsByUri = new HashMap(); + private final Map profilePages = new HashMap(); + private final Map namespacesByPrefix = new HashMap(); + private final Map aliasUrlsByIndividual = new HashMap(); + + public IndividualRequestAnalysisContextStub(String defaultNamespace) { + this.defaultNamespace = defaultNamespace; + } + + public void addIndividual(Individual individual) { + individualsByUri.put(individual.getURI(), individual); + } + + public void addProfilePage(String netId, Individual individual) { + profilePages.put(netId, individual); + } + + public void setNamespacePrefix(String prefix, String namespace) { + namespacesByPrefix.put(prefix, namespace); + } + + public void setAliasUrl(String individualUri, String aliasUrl) { + aliasUrlsByIndividual.put(individualUri, aliasUrl); + } + + // ---------------------------------------------------------------------- + // Stub methods + // ---------------------------------------------------------------------- + + @Override + public String getDefaultNamespace() { + return defaultNamespace; + } + + @Override + public String getNamespaceForPrefix(String prefix) { + if (prefix == null) { + return ""; + } + String namespace = namespacesByPrefix.get(prefix); + return (namespace == null) ? "" : namespace; + } + + @Override + public Individual getIndividualByURI(String individualUri) { + if (individualUri == null) { + return null; + + } + return individualsByUri.get(individualUri); + } + + @Override + public Individual getIndividualByNetId(String netId) { + if (netId == null) { + return null; + } + return profilePages.get(netId); + } + + @Override + public String getAliasUrlForBytestreamIndividual(Individual individual) { + if (individual == null) { + return null; + } + return aliasUrlsByIndividual.get(individual.getURI()); + } +}