modules/core/domain/src/main/java/org/rhq/core/domain/content/Repo.java
| 4
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/ListReposUIBean.java
| 2
modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listRepos.xhtml
| 2
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/plugin/pc/content/ContentProviderManager.java
| 2
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/ContentSourceManagerBeanTest.java
| 7
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/RepoManagerBeanTest.java
| 32 +--
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/RepoSyncingTest.java
| 47 ++++
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/ContentProviderManagerTest.java
| 100 +---------
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/TestContentProvider.java
| 72 +++++++
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/TestContentServerPluginService.java
| 99 ++-------
10 files changed, 178 insertions(+), 189 deletions(-)
New commits:
commit 45826a4216d055d6ca0a9caca79f0ddd030a4eba
Author: Mike McCune <mmccune(a)gibson.pdx.redhat.com>
Date: Mon Nov 30 14:48:40 2009 -0800
1102 - test refactoring to unify TestContentProvider
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/content/Repo.java
b/modules/core/domain/src/main/java/org/rhq/core/domain/content/Repo.java
index efcaa0c..061dea5 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/content/Repo.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/content/Repo.java
@@ -820,8 +820,8 @@ public class Repo implements Serializable, Taggable {
Comparator dc = new Comparator() {
public int compare(Object arg0, Object arg1) {
long currTime = System.currentTimeMillis();
- ContentSourceSyncResults c1 = (ContentSourceSyncResults) arg0;
- ContentSourceSyncResults c2 = (ContentSourceSyncResults) arg1;
+ RepoSyncResults c1 = (RepoSyncResults) arg0;
+ RepoSyncResults c2 = (RepoSyncResults) arg1;
Date d1 = null;
Date d2 = null;
diff --git
a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/ListReposUIBean.java
b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/ListReposUIBean.java
index e4041c5..4c923ec 100644
---
a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/ListReposUIBean.java
+++
b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/ListReposUIBean.java
@@ -57,7 +57,7 @@ public class ListReposUIBean extends PagedDataTableUIBean {
return "importRepos";
}
- public String syncSelectedContentSources() {
+ public String syncSelectedRepos() {
Subject subject = EnterpriseFacesContextUtility.getSubject();
String[] selected = getSelectedRepos();
Integer[] repoIds = getIntegerArray(selected);
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listRepos.xhtml
b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listRepos.xhtml
index 5e05070..284dd88 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listRepos.xhtml
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listRepos.xhtml
@@ -147,7 +147,7 @@
<onc:selectCommandButton
action="#{ListReposUIBean.deleteSelectedRepos}"
value="DELETE SELECTED"
target="selectedRepos" styleClass="on-pager-button buttonsmall"/>
- <onc:selectCommandButton
action="#{ListReposUIBean.syncSelectedContentSources}"
+ <onc:selectCommandButton
action="#{ListReposUIBean.syncSelectedRepos}"
value="SYNC SELECTED"
target="selectedRepos" styleClass="on-pager-button buttonsmall"/>
<ui:param name="paginationDataTableName"
value="reposDataTable"/>
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/plugin/pc/content/ContentProviderManager.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/plugin/pc/content/ContentProviderManager.java
index 1e195fb..08ad3c4 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/plugin/pc/content/ContentProviderManager.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/plugin/pc/content/ContentProviderManager.java
@@ -508,7 +508,7 @@ public class ContentProviderManager {
* @param contentSource the source that the adapter will connect to
* @return an adapter instance; will be <code>null</code> if failed to
create adapter
*/
- private ContentProvider instantiateAdapter(ContentSource contentSource) {
+ protected ContentProvider instantiateAdapter(ContentSource contentSource) {
ContentProvider adapter = null;
String apiClassName = "?";
String pluginName = "?";
diff --git
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/ContentSourceManagerBeanTest.java
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/ContentSourceManagerBeanTest.java
index c79ec39..afe2593 100644
---
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/ContentSourceManagerBeanTest.java
+++
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/ContentSourceManagerBeanTest.java
@@ -40,8 +40,8 @@ import org.rhq.core.domain.configuration.PropertySimple;
import org.rhq.core.domain.content.Architecture;
import org.rhq.core.domain.content.ContentSource;
import org.rhq.core.domain.content.ContentSourceSyncResults;
-import org.rhq.core.domain.content.ContentSyncStatus;
import org.rhq.core.domain.content.ContentSourceType;
+import org.rhq.core.domain.content.ContentSyncStatus;
import org.rhq.core.domain.content.DownloadMode;
import org.rhq.core.domain.content.InstalledPackage;
import org.rhq.core.domain.content.Package;
@@ -151,10 +151,7 @@ public class ContentSourceManagerBeanTest extends AbstractEJB3Test {
setupTestEnvironment();
overlord = LookupUtil.getSubjectManager().getOverlord();
prepareScheduler();
- TestContentServerPluginService pluginService = new
TestContentServerPluginService();
- prepareCustomServerPluginService(pluginService);
- pluginService.startMasterPluginContainer();
-
+ TestContentServerPluginService pluginService = new
TestContentServerPluginService(this);
cleanupPreviousTestRuns();
}
diff --git
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/RepoManagerBeanTest.java
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/RepoManagerBeanTest.java
index f545530..935bae9 100644
---
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/RepoManagerBeanTest.java
+++
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/RepoManagerBeanTest.java
@@ -66,6 +66,7 @@ public class RepoManagerBeanTest extends AbstractEJB3Test {
@BeforeMethod
public void setupBeforeMethod() throws Exception {
+
TransactionManager tx = getTransactionManager();
tx.begin();
@@ -73,10 +74,7 @@ public class RepoManagerBeanTest extends AbstractEJB3Test {
contentSourceManager = LookupUtil.getContentSourceManager();
contentSourceMetadataManager = LookupUtil.getContentSourceMetadataManager();
- TestContentServerPluginService pluginService = new
TestContentServerPluginService();
- prepareCustomServerPluginService(pluginService);
- pluginService.startMasterPluginContainer();
-
+ TestContentServerPluginService pluginService = new
TestContentServerPluginService(this);
overlord = LookupUtil.getSubjectManager().getOverlord();
}
@@ -100,7 +98,7 @@ public class RepoManagerBeanTest extends AbstractEJB3Test {
for (int i = 0; i < 10; i++) {
Random r = new Random(System.currentTimeMillis());
Repo repo = new Repo(r.nextLong() + "");
- repoManager.createRepo(overlord, repo).getId();
+ repoManager.createRepo(overlord, repo);
}
repos = repoManager.findRepos(overlord, new PageControl());
@@ -108,26 +106,24 @@ public class RepoManagerBeanTest extends AbstractEJB3Test {
}
- @Test(enabled = ENABLED)
+ @Test(enabled = true)
public void testSyncRepos() throws Exception {
Repo repo = new Repo("testSyncStatus");
+
+ ContentSourceType type = new
ContentSourceType("testGetSyncResultsListCST");
+ Set<ContentSourceType> types = new HashSet<ContentSourceType>();
+ types.add(type);
+ contentSourceMetadataManager.registerTypes(types); // this blows away any
previous existing types
+ ContentSource contentSource = new
ContentSource("testGetSyncResultsListCS", type);
+ contentSource = contentSourceManager.simpleCreateContentSource(overlord,
contentSource);
+ repo.addContentSource(contentSource);
+
repoManager.createRepo(overlord, repo);
Integer[] ids = { repo.getId() };
int syncCount = repoManager.synchronizeRepos(overlord, ids);
- assert syncCount == 0;
-
- ContentSourceType cst = new ContentSourceType("testSyncStatus");
- ContentSource cs = new ContentSource("testSyncStatus", cst);
-
- EntityManager em = getEntityManager();
- em.persist(cst);
- em.persist(cs);
-
- repo.addContentSource(cs);
- syncCount = repoManager.synchronizeRepos(overlord, ids);
-
assert syncCount == 1;
+
}
@Test(enabled = ENABLED)
diff --git
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/RepoSyncingTest.java
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/RepoSyncingTest.java
new file mode 100644
index 0000000..a0c6b7c
--- /dev/null
+++
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/RepoSyncingTest.java
@@ -0,0 +1,47 @@
+package org.rhq.enterprise.server.content.test;
+
+import javax.transaction.TransactionManager;
+
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import org.rhq.core.domain.auth.Subject;
+import org.rhq.core.domain.content.Repo;
+import org.rhq.enterprise.server.plugin.pc.content.TestContentServerPluginService;
+import org.rhq.enterprise.server.test.AbstractEJB3Test;
+import org.rhq.enterprise.server.util.LookupUtil;
+
+public class RepoSyncingTest extends AbstractEJB3Test {
+
+ @BeforeMethod
+ public void setupBeforeMethod() throws Exception {
+ TransactionManager tx = getTransactionManager();
+ tx.begin();
+ }
+
+ @Test(enabled = true)
+ public void testSyncRepos() throws Exception {
+
+ TestContentServerPluginService pluginService = new
TestContentServerPluginService(this);
+ Repo repo = new Repo("testSyncRepos");
+
+ Subject overlord = LookupUtil.getSubjectManager().getOverlord();
+ LookupUtil.getRepoManagerLocal().createRepo(overlord, repo);
+
+ boolean synced =
pluginService.getContentProviderManager().synchronizeRepo(repo.getId());
+ assert synced;
+
+ }
+
+ @AfterMethod
+ public void tearDownAfterMethod() throws Exception {
+ unprepareServerPluginService();
+
+ TransactionManager tx = getTransactionManager();
+ if (tx != null) {
+ tx.rollback();
+ }
+ }
+
+}
diff --git
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/ContentProviderManagerTest.java
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/ContentProviderManagerTest.java
index d022a6d..d8328a9 100644
---
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/ContentProviderManagerTest.java
+++
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/ContentProviderManagerTest.java
@@ -22,12 +22,10 @@
*/
package org.rhq.enterprise.server.plugin.pc.content;
-import java.io.InputStream;
import java.util.ArrayList;
-import java.util.Collection;
+import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import java.util.HashSet;
import javax.persistence.EntityManager;
import javax.transaction.TransactionManager;
@@ -37,7 +35,6 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
-import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.content.ContentSource;
import org.rhq.core.domain.content.ContentSourceType;
import org.rhq.core.domain.content.PackageType;
@@ -68,12 +65,12 @@ public class ContentProviderManagerTest extends AbstractEJB3Test {
private static final String PLUGIN_NAME = "testPlugin";
private static final String CUSTOM_IMPORTED_REPO_NAME =
"customImportedRepo";
- private static final String EXISTING_IMPORTED_REPO_NAME =
"testRepoImportedExisting";
- private static final String EXISTING_CANDIDATE_REPO_NAME =
"testRepoCandidateExisting";
+ public static final String EXISTING_IMPORTED_REPO_NAME =
TestContentProvider.EXISTING_IMPORTED_REPO_NAME;
+ public static final String EXISTING_CANDIDATE_REPO_NAME =
TestContentProvider.EXISTING_CANDIDATE_REPO_NAME;
private static final String PREVIOUS_CANDIDATE_REPO_NAME =
"testPreviousCandidate";
- private TestContentProvider testProvider = new TestContentProvider();
+ TestContentServerPluginService pluginService;
// The following variables need to be cleaned up at the end of the test
@@ -98,9 +95,7 @@ public class ContentProviderManagerTest extends AbstractEJB3Test {
// Plugin service setup
prepareScheduler();
- TestContentServerPluginService pluginService = new
TestContentServerPluginService();
- prepareCustomServerPluginService(pluginService);
- pluginService.startMasterPluginContainer();
+ pluginService = new TestContentServerPluginService(this);
// Because of the (current) transaction settings of some of the nested methods
(i.e. REQUIRES_NEW),
// this test must commit its data and clean up after itself, as compared to
simply rolling back the
@@ -224,8 +219,6 @@ public class ContentProviderManagerTest extends AbstractEJB3Test {
SubjectManagerLocal subjectManager = LookupUtil.getSubjectManager();
Subject overlord = subjectManager.getOverlord();
- TestContentProviderManager providerManager = new TestContentProviderManager();
-
Set<String> reposThatShouldBeSyncced = new HashSet();
// -> Add an already imported repo to the system so it already exists when the
report introduces it
@@ -258,7 +251,11 @@ public class ContentProviderManagerTest extends AbstractEJB3Test {
// Test
// --------------------------------------------
- boolean completed =
providerManager.synchronizeContentProvider(syncSource.getId());
+ // TestContentProviderManager providerManager = new
TestContentProviderManager();
+ boolean tested =
pluginService.getContentProviderManager().testConnection(syncSource.getId());
+ assert tested;
+
+ boolean completed =
pluginService.getContentProviderManager().synchronizeContentProvider(syncSource.getId());
assert completed;
// Verify RepoGroups
@@ -346,81 +343,4 @@ public class ContentProviderManagerTest extends AbstractEJB3Test {
assert retrievedRepos.size() == 0;
}
-
- /**
- * Mock implementation of a content provider that will return known data.
- */
- private class TestContentProvider implements ContentProvider, PackageSource,
RepoSource {
-
- public RepoImportReport importRepos() throws Exception {
- RepoImportReport report = new RepoImportReport();
-
- // Create a repo group in the system
- RepoGroupDetails group1 = new RepoGroupDetails("testRepoGroup",
"family");
- report.addRepoGroup(group1);
-
- // Simple repo
- RepoDetails repo1 = new RepoDetails("testRepo1");
- repo1.setDescription("First test repo");
- report.addRepo(repo1);
-
- // Repo belonging to a group that was created in the sync
- RepoDetails repo2 = new RepoDetails("testRepo2");
- repo2.setRepoGroup("testRepoGroup");
- report.addRepo(repo2);
-
- // Repo with a parent repo created in this sync
- // Parent explicitly added to this list *after* this child to ensure
that's not a problem
- RepoDetails repo3 = new RepoDetails("testRepo3");
- report.addRepo(repo3);
-
- RepoDetails repo4 = new RepoDetails("testRepo4");
- repo4.setParentRepoName("testRepo3");
- report.addRepo(repo4);
-
- // Repo that was already imported in the system
- RepoDetails repo5 = new RepoDetails(EXISTING_IMPORTED_REPO_NAME);
- report.addRepo(repo5);
-
- // Repo that was already a candidate in the system
- RepoDetails repo6 = new RepoDetails(EXISTING_CANDIDATE_REPO_NAME);
- report.addRepo(repo6);
-
- return report;
- }
-
- public void synchronizePackages(String repoName, PackageSyncReport report,
- Collection<ContentProviderPackageDetails>
existingPackages) throws Exception {
- // No-op
- }
-
- public void initialize(Configuration configuration) throws Exception {
- // No-op
- }
-
- public void shutdown() {
- // No-op
- }
-
- public void testConnection() throws Exception {
- // No-op
- }
-
- public InputStream getInputStream(String location) throws Exception {
- // No-op
- return null;
- }
- }
-
- /**
- * Stubs out the methods in {@link ContentProviderManager} that would go out and
expect a fully packaged plugin.
- * Instead, use the mock implementation provided above.
- */
- private class TestContentProviderManager extends ContentProviderManager {
-
- public ContentProvider getIsolatedContentProvider(int contentProviderId) throws
RuntimeException {
- return testProvider;
- }
- }
-
}
diff --git
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/TestContentProvider.java
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/TestContentProvider.java
new file mode 100644
index 0000000..99de8d3
--- /dev/null
+++
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/TestContentProvider.java
@@ -0,0 +1,72 @@
+package org.rhq.enterprise.server.plugin.pc.content;
+
+import java.io.InputStream;
+import java.util.Collection;
+
+import org.rhq.core.domain.configuration.Configuration;
+
+public class TestContentProvider implements ContentProvider, PackageSource, RepoSource {
+
+ public static final String EXISTING_IMPORTED_REPO_NAME =
"testRepoImportedExisting";
+ public static final String EXISTING_CANDIDATE_REPO_NAME =
"testRepoCandidateExisting";
+
+ public RepoImportReport importRepos() throws Exception {
+ RepoImportReport report = new RepoImportReport();
+
+ // Create a repo group in the system
+ RepoGroupDetails group1 = new RepoGroupDetails("testRepoGroup",
"family");
+ report.addRepoGroup(group1);
+
+ // Simple repo
+ RepoDetails repo1 = new RepoDetails("testRepo1");
+ repo1.setDescription("First test repo");
+ report.addRepo(repo1);
+
+ // Repo belonging to a group that was created in the sync
+ RepoDetails repo2 = new RepoDetails("testRepo2");
+ repo2.setRepoGroup("testRepoGroup");
+ report.addRepo(repo2);
+
+ // Repo with a parent repo created in this sync
+ // Parent explicitly added to this list *after* this child to ensure that's
not a problem
+ RepoDetails repo3 = new RepoDetails("testRepo3");
+ report.addRepo(repo3);
+
+ RepoDetails repo4 = new RepoDetails("testRepo4");
+ repo4.setParentRepoName("testRepo3");
+ report.addRepo(repo4);
+
+ // Repo that was already imported in the system
+ RepoDetails repo5 = new RepoDetails(EXISTING_IMPORTED_REPO_NAME);
+ report.addRepo(repo5);
+
+ // Repo that was already a candidate in the system
+ RepoDetails repo6 = new RepoDetails(EXISTING_CANDIDATE_REPO_NAME);
+ report.addRepo(repo6);
+
+ return report;
+ }
+
+ public void synchronizePackages(String repoName, PackageSyncReport report,
+ Collection<ContentProviderPackageDetails> existingPackages) throws
Exception {
+ // No-op
+ }
+
+ public void initialize(Configuration configuration) throws Exception {
+ // No-op
+ }
+
+ public void shutdown() {
+ // No-op
+ }
+
+ public void testConnection() throws Exception {
+ // No-op
+ System.out.println("Connection tested.");
+ }
+
+ public InputStream getInputStream(String location) throws Exception {
+ // No-op
+ return null;
+ }
+}
diff --git
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/TestContentServerPluginService.java
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/TestContentServerPluginService.java
index 3716282..485118b 100644
---
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/TestContentServerPluginService.java
+++
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/content/TestContentServerPluginService.java
@@ -18,30 +18,20 @@
*/
package org.rhq.enterprise.server.plugin.pc.content;
-import java.io.ByteArrayInputStream;
import java.io.File;
-import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import org.rhq.core.domain.content.ContentSource;
import org.rhq.enterprise.server.plugin.pc.AbstractTypeServerPluginContainer;
import org.rhq.enterprise.server.plugin.pc.MasterServerPluginContainer;
import org.rhq.enterprise.server.plugin.pc.MasterServerPluginContainerConfiguration;
import org.rhq.enterprise.server.plugin.pc.ServerPluginService;
-import org.rhq.enterprise.server.plugin.pc.content.ContentProvider;
-import org.rhq.enterprise.server.plugin.pc.content.ContentProviderManager;
-import org.rhq.enterprise.server.plugin.pc.content.ContentProviderPackageDetails;
-import org.rhq.enterprise.server.plugin.pc.content.ContentServerPluginContainer;
-import org.rhq.enterprise.server.plugin.pc.content.ContentServerPluginManager;
-import org.rhq.enterprise.server.plugin.pc.content.PackageSource;
-import org.rhq.enterprise.server.plugin.pc.content.PackageSyncReport;
+import org.rhq.enterprise.server.test.AbstractEJB3Test;
import
org.rhq.enterprise.server.xmlschema.generated.serverplugin.ServerPluginDescriptorType;
/**
@@ -53,6 +43,24 @@ public class TestContentServerPluginService extends ServerPluginService
implemen
public PackageSyncReport testLastSyncReport;
public Map<ContentSource, Collection<ContentProviderPackageDetails>>
testExistingPackages;
public TestMasterServerPluginContainer master;
+ public TestContentProviderManager contentProviderManager;
+ public TestContentProvider testContentProvider;
+
+ // AbstractEJB3Test
+ public TestContentServerPluginService(AbstractEJB3Test testContainer) {
+ super();
+ testContentProvider = new TestContentProvider();
+ testContainer.prepareCustomServerPluginService(this);
+ this.startMasterPluginContainer();
+ }
+
+ public TestContentServerPluginService() {
+ super();
+ }
+
+ public TestContentProviderManager getContentProviderManager() {
+ return contentProviderManager;
+ }
@Override
protected MasterServerPluginContainer createMasterPluginContainer() {
@@ -96,8 +104,8 @@ public class TestContentServerPluginService extends ServerPluginService
implemen
@Override
protected ContentProviderManager createAdapterManager() {
- TestContentProviderManager am = new TestContentProviderManager();
- return am;
+ contentProviderManager = new TestContentProviderManager();
+ return contentProviderManager;
}
@Override
@@ -119,69 +127,18 @@ public class TestContentServerPluginService extends
ServerPluginService implemen
/**
* The test adapter manager.
*/
- class TestContentProviderManager extends ContentProviderManager {
- @Override
- public Set<ContentSource> getAllContentSources() {
- return (testAdapters != null) ? testAdapters.keySet() : new
HashSet<ContentSource>();
- }
-
- @Override
- protected void initialize(ContentServerPluginManager pluginManager) {
- createInitialAdaptersMap();
- }
-
- @Override
- public void shutdown() {
- }
+ public class TestContentProviderManager extends ContentProviderManager {
- @Override
- public InputStream loadPackageBits(int contentSourceId, String location) throws
Exception {
- if (testAdapters != null) {
- for (ContentSource cs : testAdapters.keySet()) {
- if (cs.getId() == contentSourceId) {
- PackageSource packageSource = (PackageSource)
testAdapters.get(cs);
- return packageSource.getInputStream(location);
- }
- }
- }
-
- System.out.println("!!!!!!!!!!");
- System.out.println("STREAM: TEST DID NOT SETUP ADAPTER - EMPTY STREAM
FOR [" + contentSourceId + "]");
- return new ByteArrayInputStream(new byte[0]);
+ public ContentProvider getIsolatedContentProvider(int contentProviderId) throws
RuntimeException {
+ return testContentProvider;
}
- @Override
- public boolean synchronizeContentProvider(int contentSourceId) throws Exception
{
- if (testAdapters != null) {
- for (ContentSource cs : testAdapters.keySet()) {
- if (cs.getId() == contentSourceId) {
- testLastSyncReport = new PackageSyncReport();
- PackageSource packageSource = (PackageSource)
testAdapters.get(cs);
- packageSource.synchronizePackages(null, testLastSyncReport,
testExistingPackages.get(cs));
- return true;
- }
- }
- }
-
- System.out.println("!!!!!!!!!!");
- System.out.println("SYNC: TEST DID NOT SETUP ADAPTER - NO-OP FOR ["
+ contentSourceId + "]");
- return true;
+ protected ContentProvider getIsolatedContentSourceAdapter(ContentSource
contentSource) throws RuntimeException {
+ return testContentProvider;
}
- @Override
- public boolean testConnection(int contentSourceId) throws Exception {
- if (testAdapters != null) {
- for (ContentSource cs : testAdapters.keySet()) {
- if (cs.getId() == contentSourceId) {
- testAdapters.get(cs).testConnection();
- return true;
- }
- }
- }
-
- System.out.println("!!!!!!!!!!");
- System.out.println("CONN: TEST DID NOT SETUP ADAPTER - NO-OP FOR ["
+ contentSourceId + "]");
- return true;
+ protected ContentProvider instantiateAdapter(ContentSource contentSource) {
+ return testContentProvider;
}
}
}
\ No newline at end of file