You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2011/01/10 18:06:31 UTC
svn commit: r1057284 [2/2] - in /sling/trunk/installer/core/src:
main/java/org/apache/sling/installer/api/
main/java/org/apache/sling/installer/api/tasks/
main/java/org/apache/sling/installer/core/impl/
main/java/org/apache/sling/installer/core/impl/co...
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java?rev=1057284&r1=1057283&r2=1057284&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java Mon Jan 10 17:06:30 2011
@@ -23,6 +23,7 @@ import org.apache.sling.installer.api.ta
import org.apache.sling.installer.api.tasks.InstallTaskFactory;
import org.apache.sling.installer.api.tasks.RegisteredResource;
import org.apache.sling.installer.api.tasks.RegisteredResourceGroup;
+import org.apache.sling.installer.core.impl.InternalService;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
@@ -36,7 +37,7 @@ import org.slf4j.LoggerFactory;
/**
* Task creator for bundles
*/
-public class BundleTaskCreator implements InstallTaskFactory {
+public class BundleTaskCreator implements InternalService, InstallTaskFactory {
/** The logger */
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -52,18 +53,18 @@ public class BundleTaskCreator implement
private static final String MAVEN_SNAPSHOT_MARKER = "SNAPSHOT";
/** Tracker for the package admin. */
- private final ServiceTracker packageAdminTracker;
+ private ServiceTracker packageAdminTracker;
/** Tracker for the start level service. */
- private final ServiceTracker startLevelTracker;
+ private ServiceTracker startLevelTracker;
/** The bundle context. */
- private final BundleContext bundleContext;
+ private BundleContext bundleContext;
/**
- * Constructor
+ * @see org.apache.sling.installer.core.impl.InternalService#init(org.osgi.framework.BundleContext)
*/
- public BundleTaskCreator(final BundleContext bc) {
+ public void init(final BundleContext bc) {
this.bundleContext = bc;
// create and start tracker
this.packageAdminTracker = new ServiceTracker(bc, PACKAGE_ADMIN_NAME, null);
@@ -73,11 +74,24 @@ public class BundleTaskCreator implement
}
/**
- * Deactivate creator.
+ * @see org.apache.sling.installer.core.impl.InternalService#deactivate()
*/
public void deactivate() {
- this.packageAdminTracker.close();
- this.startLevelTracker.close();
+ if ( this.packageAdminTracker != null ) {
+ this.packageAdminTracker.close();
+ this.packageAdminTracker = null;
+ }
+ if ( this.startLevelTracker != null ) {
+ this.startLevelTracker.close();
+ this.startLevelTracker = null;
+ }
+ }
+
+ /**
+ * @see org.apache.sling.installer.core.impl.InternalService#getDescription()
+ */
+ public String getDescription() {
+ return "Apache Sling Bundle Install Task Factory";
}
public BundleContext getBundleContext() {
Modified: sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/DictionaryDigestTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/DictionaryDigestTest.java?rev=1057284&r1=1057283&r2=1057284&view=diff
==============================================================================
--- sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/DictionaryDigestTest.java (original)
+++ sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/DictionaryDigestTest.java Mon Jan 10 17:06:30 2011
@@ -36,8 +36,9 @@ public class DictionaryDigestTest {
d.put("array", new String[] { "a", "b"});
}
- private RegisteredResourceImpl create(final InstallableResource is) throws IOException {
- return RegisteredResourceImpl.create(new MockBundleContext(), is, "test", new FileUtil(new MockBundleContext()));
+ private InternalResource create(final InstallableResource is) throws IOException {
+ new FileUtil(new MockBundleContext());
+ return InternalResource.create("test", is);
}
private String testDigestChanged(Dictionary<String, Object> d,
Modified: sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/MockBundleResource.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/MockBundleResource.java?rev=1057284&r1=1057283&r2=1057284&view=diff
==============================================================================
--- sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/MockBundleResource.java (original)
+++ sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/MockBundleResource.java Mon Jan 10 17:06:30 2011
@@ -67,7 +67,7 @@ public class MockBundleResource implemen
}
/**
- * @see org.apache.sling.installer.api.tasks.RegisteredResource#cleanup()
+ * Clean up
*/
public void cleanup() {
// nothing to do
Modified: sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/RegisteredResourceComparatorTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/RegisteredResourceComparatorTest.java?rev=1057284&r1=1057283&r2=1057284&view=diff
==============================================================================
--- sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/RegisteredResourceComparatorTest.java (original)
+++ sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/RegisteredResourceComparatorTest.java Mon Jan 10 17:06:30 2011
@@ -54,8 +54,13 @@ public class RegisteredResourceComparato
data = new Hashtable<String, Object>();
data.put("foo", "bar");
}
+ new FileUtil(new MockBundleContext());
final InstallableResource r = new InstallableResource(url, null, data, digest, null, priority);
- return RegisteredResourceImpl.create(null, r, "test", new FileUtil(new MockBundleContext()));
+ final InternalResource internal = InternalResource.create("test", r);
+ final RegisteredResourceImpl rr = RegisteredResourceImpl.create(internal);
+ rr.update(new DefaultTransformer().transform(rr));
+
+ return rr;
}
private void assertOrder(RegisteredResource[] inOrder) {
Modified: sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/RegisteredResourceTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/RegisteredResourceTest.java?rev=1057284&r1=1057283&r2=1057284&view=diff
==============================================================================
--- sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/RegisteredResourceTest.java (original)
+++ sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/RegisteredResourceTest.java Mon Jan 10 17:06:30 2011
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertFal
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -35,6 +34,7 @@ import java.util.Hashtable;
import org.apache.sling.installer.api.InstallableResource;
import org.apache.sling.installer.api.tasks.RegisteredResource;
+import org.apache.sling.installer.api.tasks.TransformationResult;
import org.junit.Test;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
@@ -52,6 +52,7 @@ public class RegisteredResourceTest {
{
final InputStream s = new FileInputStream(getTestBundle("testbundle-1.0.jar"));
final RegisteredResource r = create(new InstallableResource("test:1.jar", s, null, "some digest", null, null));
+
assertEquals(".jar URL creates a BUNDLE resource",
InstallableResource.TYPE_BUNDLE, r.getType());
final InputStream rs = r.getInputStream();
@@ -83,14 +84,16 @@ public class RegisteredResourceTest {
final BundleContext bc = new MockBundleContext();
final File f = getTestBundle("testbundle-1.0.jar");
final InputStream s = new FileInputStream(f);
- RegisteredResourceImpl.create(bc, new InstallableResource("test:1.jar", s, null, "somedigest", null, null), "test", new FileUtil(bc) {
+ FileUtil.SHARED = new FileUtil(bc) {
@Override
public File createNewDataFile(final String hint) {
return localFile;
}
- });
+ };
+
+ InternalResource.create("test", new InstallableResource("test:1.jar", s, null, "somedigest", null, null));
assertTrue("Local file exists", localFile.exists());
assertEquals("Local file length matches our data", f.length(), localFile.length());
@@ -100,11 +103,8 @@ public class RegisteredResourceTest {
final String data = "This is some data";
final InputStream in = new ByteArrayInputStream(data.getBytes());
- try {
- create(new InstallableResource("test:1.jar", in, null, null, null, null));
- fail("With jar extension, expected an IOException as digest is null");
- } catch(IOException asExpected) {
- }
+ create(new InstallableResource("test:1.jar", in, null, null, null, null));
+ assertNotNull(create(new InstallableResource("test:1.jar", in, null, null, null, null)).getDigest());
}
@org.junit.Test public void testBundleManifest() throws Exception {
@@ -160,7 +160,14 @@ public class RegisteredResourceTest {
);
}
- private RegisteredResourceImpl create(final InstallableResource is) throws IOException {
- return RegisteredResourceImpl.create(new MockBundleContext(), is, "test", new FileUtil(new MockBundleContext()));
+ private RegisteredResource create(final InstallableResource is) throws IOException {
+ new FileUtil(new MockBundleContext());
+ final InternalResource internal = InternalResource.create("test", is);
+ final RegisteredResourceImpl rr = RegisteredResourceImpl.create(internal);
+ final TransformationResult tr = new DefaultTransformer().transform(rr);
+ if ( tr != null ) {
+ rr.update(tr);
+ }
+ return rr;
}
}
\ No newline at end of file
Modified: sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/TaskOrderingTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/TaskOrderingTest.java?rev=1057284&r1=1057283&r2=1057284&view=diff
==============================================================================
--- sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/TaskOrderingTest.java (original)
+++ sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/TaskOrderingTest.java Mon Jan 10 17:06:30 2011
@@ -50,10 +50,14 @@ public class TaskOrderingTest {
}
private static EntityResourceList getRegisteredResource(String url) throws IOException {
- final EntityResourceList erl = new EntityResourceList();
- erl.addOrUpdate(RegisteredResourceImpl.create(null,
- new InstallableResource(url, null, new Hashtable<String, Object>(), null, null, null),
- "test", new FileUtil(new MockBundleContext())));
+ new FileUtil(new MockBundleContext());
+ final InternalResource internal = InternalResource.create("test",
+ new InstallableResource(url, null, new Hashtable<String, Object>(), null, null, null));
+ final RegisteredResourceImpl rr = RegisteredResourceImpl.create(internal);
+ rr.update(new DefaultTransformer().transform(rr));
+
+ final EntityResourceList erl = new EntityResourceList();
+ erl.addOrUpdate(rr);
return erl;
}
Modified: sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/tasks/MockBundleTaskCreator.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/tasks/MockBundleTaskCreator.java?rev=1057284&r1=1057283&r2=1057284&view=diff
==============================================================================
--- sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/tasks/MockBundleTaskCreator.java (original)
+++ sling/trunk/installer/core/src/test/java/org/apache/sling/installer/core/impl/tasks/MockBundleTaskCreator.java Mon Jan 10 17:06:30 2011
@@ -23,7 +23,6 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.sling.installer.core.impl.MockBundleContext;
-import org.apache.sling.installer.core.impl.tasks.BundleTaskCreator;
import org.osgi.framework.Version;
/** BundleTaskCreator that simulates the presence and state of bundles */
@@ -32,7 +31,7 @@ class MockBundleTaskCreator extends Bund
private final Map<String, BundleInfo> fakeBundleInfo = new HashMap<String, BundleInfo>();
public MockBundleTaskCreator() throws IOException {
- super(new MockBundleContext());
+ this.init(new MockBundleContext());
}
void addBundleInfo(String symbolicName, String version, int state) {