You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ti...@apache.org on 2010/10/21 16:13:31 UTC
svn commit: r1026007 - in /incubator/aries/trunk/application:
application-api/src/main/java/org/apache/aries/application/management/spi/resolve/
application-deployment-management/src/main/java/org/apache/aries/application/deployment/management/impl/
ap...
Author: timothyjward
Date: Thu Oct 21 14:13:31 2010
New Revision: 1026007
URL: http://svn.apache.org/viewvc?rev=1026007&view=rev
Log:
ARIES-464 : Pass an ApplicationMetadata to the PostResolveTransformer
Modified:
incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/resolve/DeploymentManifestManager.java
incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/resolve/PostResolveTransformer.java
incubator/aries/trunk/application/application-deployment-management/src/main/java/org/apache/aries/application/deployment/management/impl/DeploymentManifestManagerImpl.java
incubator/aries/trunk/application/application-deployment-management/src/test/java/org/apache/aries/application/deployment/management/DeploymentGeneratorTest.java
incubator/aries/trunk/application/application-management/src/test/java/org/apache/aries/application/management/impl/AriesApplicationManagerImplTest.java
incubator/aries/trunk/application/application-noop-postresolve-process/src/main/java/org/apache/aries/application/noop/postresolve/process/impl/DefaultPostResolveTransformer.java
Modified: incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/resolve/DeploymentManifestManager.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/resolve/DeploymentManifestManager.java?rev=1026007&r1=1026006&r2=1026007&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/resolve/DeploymentManifestManager.java (original)
+++ incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/resolve/DeploymentManifestManager.java Thu Oct 21 14:13:31 2010
@@ -21,6 +21,7 @@ package org.apache.aries.application.man
import java.util.Collection;
import java.util.jar.Manifest;
+import org.apache.aries.application.ApplicationMetadata;
import org.apache.aries.application.Content;
import org.apache.aries.application.ServiceDeclaration;
import org.apache.aries.application.management.AriesApplication;
@@ -52,13 +53,9 @@ public interface DeploymentManifestManag
* @throws ResolverException
*/
DeployedBundles generateDeployedBundles(
- String appName,
- String appVersion,
- Collection<Content> appContent,
+ ApplicationMetadata appMetadata,
Collection<ModelledResource> byValueBundles,
- Collection<Content> useBundleSet,
- Collection<Content> otherBundles,
- Collection<ServiceDeclaration> appImportServices) throws ResolverException;
+ Collection<Content> otherBundles) throws ResolverException;
/**
* Generate a Manifest representation of a DEPLOYMENT.MF,
Modified: incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/resolve/PostResolveTransformer.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/resolve/PostResolveTransformer.java?rev=1026007&r1=1026006&r2=1026007&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/resolve/PostResolveTransformer.java (original)
+++ incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/resolve/PostResolveTransformer.java Thu Oct 21 14:13:31 2010
@@ -18,6 +18,7 @@
*/
package org.apache.aries.application.management.spi.resolve;
+import org.apache.aries.application.ApplicationMetadata;
import org.apache.aries.application.management.ResolverException;
import org.apache.aries.application.modelling.DeployedBundles;
@@ -25,10 +26,11 @@ public interface PostResolveTransformer
{
/**
* This method is to perform any post process after the resolver returns back a collection of bundles. It returns the updated manifest map.
+ * @param appMetaData The application that was resolved
* @param bundles A collection of bundles required by this application.
* @return Modified collection of bundles
* @throws ResolverException
*/
- DeployedBundles postResolveProcess(DeployedBundles deployedBundles) throws ResolverException;
+ DeployedBundles postResolveProcess(ApplicationMetadata appMetaData, DeployedBundles deployedBundles) throws ResolverException;
}
Modified: incubator/aries/trunk/application/application-deployment-management/src/main/java/org/apache/aries/application/deployment/management/impl/DeploymentManifestManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-deployment-management/src/main/java/org/apache/aries/application/deployment/management/impl/DeploymentManifestManagerImpl.java?rev=1026007&r1=1026006&r2=1026007&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-deployment-management/src/main/java/org/apache/aries/application/deployment/management/impl/DeploymentManifestManagerImpl.java (original)
+++ incubator/aries/trunk/application/application-deployment-management/src/main/java/org/apache/aries/application/deployment/management/impl/DeploymentManifestManagerImpl.java Thu Oct 21 14:13:31 2010
@@ -143,11 +143,10 @@ public class DeploymentManifestManagerIm
} catch (Exception e) {
throw new ResolverException (e);
}
- Collection<Content> useBundles = app.getApplicationMetadata().getUseBundles();
Collection<Content> bundlesToResolve = new ArrayList<Content>();
bundlesToResolve.addAll(appMetadata.getApplicationContents());
- bundlesToResolve.addAll(useBundles);
+ bundlesToResolve.addAll(app.getApplicationMetadata().getUseBundles());
//If we pass in provision bundles (e.g. import deployment manifest sanity check), we add them into our bundlesToResolve set.
// This is because we want to make sure all bundles we passed into resolver the same as what we are going to get from resolver.
@@ -157,9 +156,8 @@ public class DeploymentManifestManagerIm
restrictedReqs.add(content);
}
- DeployedBundles deployedBundles = generateDeployedBundles (appMetadata.getApplicationSymbolicName(),
- appMetadata.getApplicationVersion().toString(), appMetadata.getApplicationContents(),
- byValueBundles, useBundles, restrictedReqs, appMetadata.getApplicationImportServices());
+ DeployedBundles deployedBundles = generateDeployedBundles (appMetadata,
+ byValueBundles, restrictedReqs);
Manifest man = generateDeploymentManifest(appMetadata.getApplicationSymbolicName(),
appMetadata.getApplicationVersion().toString(), deployedBundles);
@@ -178,21 +176,20 @@ public class DeploymentManifestManagerIm
@Override
public DeployedBundles generateDeployedBundles
(
- String appSymbolicName,
- String appVersion,
- Collection<Content> appContent,
+ ApplicationMetadata appMetadata,
Collection<ModelledResource> provideByValueBundles,
- Collection<Content> useBundleSet,
- Collection<Content> otherBundles,
- Collection<ServiceDeclaration> applicationImportService) throws ResolverException {
+ Collection<Content> otherBundles) throws ResolverException {
+
+ _logger.debug(LOG_ENTRY, "generateDeployedBundles", new Object[]{appMetadata,
+ provideByValueBundles,otherBundles });
+
+ Collection<Content> useBundleSet = appMetadata.getUseBundles();
+ Collection<Content> appContent = appMetadata.getApplicationContents();
- _logger.debug(LOG_ENTRY, "generateDeployedBundles", new Object[]{appSymbolicName, appVersion,
- appContent, provideByValueBundles,useBundleSet,otherBundles });
Collection<Content> bundlesToResolve = new ArrayList<Content>();
- Set<ImportedBundle> appContentIB = null;
- Set<ImportedBundle> useBundleIB = null;
- useBundleIB = new HashSet<ImportedBundle> (toImportedBundle(useBundleSet));
- appContentIB = new HashSet<ImportedBundle>(toImportedBundle(appContent));
+ Set<ImportedBundle> appContentIB = toImportedBundle(appContent);
+ Set<ImportedBundle> useBundleIB = toImportedBundle(useBundleSet);
+
bundlesToResolve.addAll(useBundleSet);
@@ -201,7 +198,7 @@ public class DeploymentManifestManagerIm
Collection<ModelledResource> byValueBundles = new ArrayList<ModelledResource>(provideByValueBundles);
ModelledResource fakeBundleResource;
try {
- fakeBundleResource = createFakeBundle(applicationImportService);
+ fakeBundleResource = createFakeBundle(appMetadata.getApplicationImportServices());
} catch (InvalidAttributeException iax) {
ResolverException rx = new ResolverException (iax);
_logger.debug(LOG_EXIT, "generateDeploymentManifest", new Object[] {rx});
@@ -209,6 +206,9 @@ public class DeploymentManifestManagerIm
throw rx;
}
byValueBundles.add(fakeBundleResource);
+
+ String appSymbolicName = appMetadata.getApplicationSymbolicName();
+ String appVersion = appMetadata.getApplicationVersion().toString();
String uniqueName = appSymbolicName + "_" + appVersion;
DeployedBundles deployedBundles = modellingHelper.createDeployedBundles(appSymbolicName, appContentIB, useBundleIB, Arrays.asList(fakeBundleResource));
@@ -330,7 +330,7 @@ public class DeploymentManifestManagerIm
}
if (postResolveTransformer != null) try {
- deployedBundles = postResolveTransformer.postResolveProcess (deployedBundles);
+ deployedBundles = postResolveTransformer.postResolveProcess (appMetadata, deployedBundles);
} catch (ServiceUnavailableException e) {
_logger.debug(MessageUtil.getMessage("POST_RESOLVE_TRANSFORMER_UNAVAILABLE",e));
}
@@ -523,12 +523,12 @@ public class DeploymentManifestManagerIm
* @return a collection of ImportedBundle objects
* @throws ResolverException
*/
- private Collection<ImportedBundle> toImportedBundle(Collection<Content> content) throws ResolverException
+ private Set<ImportedBundle> toImportedBundle(Collection<Content> content) throws ResolverException
{
_logger.debug(LOG_ENTRY, "toImportedBundle", new Object[]{content});
- List<ImportedBundle> result = new ArrayList<ImportedBundle>();
+ Set<ImportedBundle> result = new HashSet<ImportedBundle>();
for (Content c : content) {
try {
result.add(modellingManager.getImportedBundle(c.getContentName(), c.getVersion().toString()));
Modified: incubator/aries/trunk/application/application-deployment-management/src/test/java/org/apache/aries/application/deployment/management/DeploymentGeneratorTest.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-deployment-management/src/test/java/org/apache/aries/application/deployment/management/DeploymentGeneratorTest.java?rev=1026007&r1=1026006&r2=1026007&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-deployment-management/src/test/java/org/apache/aries/application/deployment/management/DeploymentGeneratorTest.java (original)
+++ incubator/aries/trunk/application/application-deployment-management/src/test/java/org/apache/aries/application/deployment/management/DeploymentGeneratorTest.java Thu Oct 21 14:13:31 2010
@@ -181,6 +181,8 @@ public class DeploymentGeneratorTest
new MethodCall(ApplicationMetadata.class, "getApplicationSymbolicName"), "aries.test");
Skeleton.getSkeleton(appMetadata).setReturnValue(
new MethodCall(ApplicationMetadata.class, "getApplicationVersion"), new Version("1.0.0"));
+ Skeleton.getSkeleton(appMetadata).setReturnValue(
+ new MethodCall(ApplicationMetadata.class, "getUseBundles"), Collections.EMPTY_LIST);
app = Skeleton.newMock(AriesApplication.class);
Skeleton.getSkeleton(app).setReturnValue(new MethodCall(AriesApplication.class, "getApplicationMetadata"), appMetadata);
@@ -240,12 +242,10 @@ public class DeploymentGeneratorTest
{
Skeleton.getSkeleton(appMetadata).setReturnValue(new MethodCall(ApplicationMetadata.class, "getApplicationContents"), Arrays.asList(mockContent("aries.test.a", "1.0.0"), mockContent("aries.test.b", "[1.0.0, 2.0.0)" )));
+ Skeleton.getSkeleton(appMetadata).setReturnValue(new MethodCall(ApplicationMetadata.class, "getUseBundles"), Arrays.asList(BUNDLE_C, BUNDLE_D));
-
- DeployedBundles deployedBundles = deplMFMgr.generateDeployedBundles (appMetadata.getApplicationSymbolicName(),
- appMetadata.getApplicationVersion().toString(), appMetadata.getApplicationContents(),
- new ArrayList<ModelledResource>(),
- Arrays.asList(BUNDLE_C, BUNDLE_D), Collections.<Content>emptyList(), appMetadata.getApplicationImportServices());
+ DeployedBundles deployedBundles = deplMFMgr.generateDeployedBundles (appMetadata,
+ new ArrayList<ModelledResource>(), Collections.<Content>emptyList());
Manifest man = deplMFMgr.generateDeploymentManifest(appMetadata.getApplicationSymbolicName(),
appMetadata.getApplicationVersion().toString(), deployedBundles);
@@ -290,10 +290,8 @@ public class DeploymentGeneratorTest
try {
- DeployedBundles deployedBundles = deplMFMgr.generateDeployedBundles (appMetadata.getApplicationSymbolicName(),
- appMetadata.getApplicationVersion().toString(), appMetadata.getApplicationContents(),
- new ArrayList<ModelledResource>(),
- new ArrayList<Content>(), Collections.<Content>emptyList(), appMetadata.getApplicationImportServices());
+ DeployedBundles deployedBundles = deplMFMgr.generateDeployedBundles (appMetadata,
+ new ArrayList<ModelledResource>(), new ArrayList<Content>());
deplMFMgr.generateDeploymentManifest(appMetadata.getApplicationSymbolicName(),
appMetadata.getApplicationVersion().toString(), deployedBundles);
} catch (ResolverException rx) {
@@ -343,10 +341,9 @@ public class DeploymentGeneratorTest
Skeleton.getSkeleton(app).setReturnValue(new MethodCall(AriesApplication.class, "getApplicationMetadata"), appMetadata);
try {
- DeployedBundles deployedBundles = deplMFMgr.generateDeployedBundles (appMetadata.getApplicationSymbolicName(),
- appMetadata.getApplicationVersion().toString(), appMetadata.getApplicationContents(),
+ DeployedBundles deployedBundles = deplMFMgr.generateDeployedBundles (appMetadata,
Arrays.asList(new ModelledResource[] {testIsolated1.getBundle(), testIsolated2.getBundle()}),
- new ArrayList<Content>(), Collections.<Content>emptyList(), appMetadata.getApplicationImportServices());
+ new ArrayList<Content>());
deplMFMgr.generateDeploymentManifest(appMetadata.getApplicationSymbolicName(),
appMetadata.getApplicationVersion().toString(), deployedBundles);
} catch (ResolverException rx) {
Modified: incubator/aries/trunk/application/application-management/src/test/java/org/apache/aries/application/management/impl/AriesApplicationManagerImplTest.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-management/src/test/java/org/apache/aries/application/management/impl/AriesApplicationManagerImplTest.java?rev=1026007&r1=1026006&r2=1026007&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-management/src/test/java/org/apache/aries/application/management/impl/AriesApplicationManagerImplTest.java (original)
+++ incubator/aries/trunk/application/application-management/src/test/java/org/apache/aries/application/management/impl/AriesApplicationManagerImplTest.java Thu Oct 21 14:13:31 2010
@@ -147,11 +147,8 @@ public class AriesApplicationManagerImpl
return null;
}
- public DeployedBundles generateDeployedBundles(String appName,
- String appVersion, Collection<Content> appContent,
- Collection<ModelledResource> byValueBundles,
- Collection<Content> useBundleSet, Collection<Content> otherBundles,
- Collection<ServiceDeclaration> appImportServices)
+ public DeployedBundles generateDeployedBundles(ApplicationMetadata appMetadata,
+ Collection<ModelledResource> byValueBundles, Collection<Content> otherBundles)
throws ResolverException {
// Not required or used in this test
return null;
Modified: incubator/aries/trunk/application/application-noop-postresolve-process/src/main/java/org/apache/aries/application/noop/postresolve/process/impl/DefaultPostResolveTransformer.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-noop-postresolve-process/src/main/java/org/apache/aries/application/noop/postresolve/process/impl/DefaultPostResolveTransformer.java?rev=1026007&r1=1026006&r2=1026007&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-noop-postresolve-process/src/main/java/org/apache/aries/application/noop/postresolve/process/impl/DefaultPostResolveTransformer.java (original)
+++ incubator/aries/trunk/application/application-noop-postresolve-process/src/main/java/org/apache/aries/application/noop/postresolve/process/impl/DefaultPostResolveTransformer.java Thu Oct 21 14:13:31 2010
@@ -18,6 +18,8 @@
*/
package org.apache.aries.application.noop.postresolve.process.impl;
+
+import org.apache.aries.application.ApplicationMetadata;
import org.apache.aries.application.management.ResolverException;
import org.apache.aries.application.management.spi.resolve.PostResolveTransformer;
import org.apache.aries.application.modelling.DeployedBundles;
@@ -28,7 +30,7 @@ public class DefaultPostResolveTransform
{
@Override
- public DeployedBundles postResolveProcess(DeployedBundles deployedBundles)
+ public DeployedBundles postResolveProcess(ApplicationMetadata appMetadata, DeployedBundles deployedBundles)
throws ResolverException
{