You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by mn...@apache.org on 2010/01/19 14:17:18 UTC
svn commit: r900765 - in /incubator/aries/trunk/application:
application-api/src/main/java/org/apache/aries/application/
application-management/src/main/java/org/apache/aries/application/management/impl/
application-management/src/main/resources/OSGI-I...
Author: mnuttall
Date: Tue Jan 19 13:17:18 2010
New Revision: 900765
URL: http://svn.apache.org/viewvc?rev=900765&view=rev
Log:
Aries-121: Convert ApplicationMetadataManager into a Factory.
Added:
incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/ApplicationMetadataFactory.java
- copied, changed from r900309, incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/ApplicationMetadataManager.java
incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ApplicationMetadataFactoryImpl.java
- copied, changed from r900309, incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ApplicationMetadataManagerImpl.java
Removed:
incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/ApplicationMetadataManager.java
incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ApplicationMetadataManagerImpl.java
incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ApplicationMetadataManagerServiceImpl.java
Modified:
incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/AriesApplicationManagerImpl.java
incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/BundleInfoImpl.java
incubator/aries/trunk/application/application-management/src/main/resources/OSGI-INF/blueprint/app-management.xml
incubator/aries/trunk/application/application-management/src/test/java/org/apache/aries/application/management/impl/AriesApplicationManagerImplTest.java
incubator/aries/trunk/application/application-utils/src/main/resources/OSGI-INF/blueprint/app-utils.xml
incubator/aries/trunk/application/application-utils/src/test/java/org/apache/aries/application/impl/ApplicationMetadataImplTest.java
incubator/aries/trunk/application/application-utils/src/test/java/org/apache/aries/application/utils/manifest/ManifestProcessorTest.java
Copied: incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/ApplicationMetadataFactory.java (from r900309, incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/ApplicationMetadataManager.java)
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/ApplicationMetadataFactory.java?p2=incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/ApplicationMetadataFactory.java&p1=incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/ApplicationMetadataManager.java&r1=900309&r2=900765&rev=900765&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/ApplicationMetadataManager.java (original)
+++ incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/ApplicationMetadataFactory.java Tue Jan 19 13:17:18 2010
@@ -27,7 +27,7 @@
/**
* This service provides manages application metadata.
*/
-public interface ApplicationMetadataManager
+public interface ApplicationMetadataFactory
{
/**
* Parse from the input stream the application manifest. This method is more
@@ -61,31 +61,5 @@
* registered.
*/
public ApplicationMetadata getApplicationMetadata (String applicationSymbolicName, Version version);
-
- // MN: Dec 22: register, unregisterApplication probably will not be required
- // as we implement AriesApplicationManager, so I'm not refactoring the method names.
- // Once we remove the methods, this interface should be renamed ApplicationMetadataFactory, since
- // it won't be managing anything anymore.
-
- /**
- * This method is used to register an application. The ApplicationMetadata
- * passed in should be created via the createApplication or parseApplication
- * methods on this service. A boolean is returned to indicate if the
- * registration was successful or not. The most likely reason for a registration
- * failure is that the application is already registered. When this service is
- * released all registered applications will be removed from the service.
- *
- * @param app the application to register.
- * @return true if the application was registered, false otherwise.
- */
- public boolean registerApplication(ApplicationMetadata app);
-
- /**
- * This method is used to remove a previously registered application. An
- * application can only be removed by the bundle that registered the application.
- *
- * @param app the application to remove.
- * @return true if the application was removed, false otherwise.
- */
- public boolean unregisterApplication(ApplicationMetadata app);
+
}
\ No newline at end of file
Modified: incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/AriesApplicationManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/AriesApplicationManagerImpl.java?rev=900765&r1=900764&r2=900765&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/AriesApplicationManagerImpl.java (original)
+++ incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/AriesApplicationManagerImpl.java Tue Jan 19 13:17:18 2010
@@ -35,7 +35,7 @@
import java.util.jar.Manifest;
import org.apache.aries.application.ApplicationMetadata;
-import org.apache.aries.application.ApplicationMetadataManager;
+import org.apache.aries.application.ApplicationMetadataFactory;
import org.apache.aries.application.DeploymentMetadata;
import org.apache.aries.application.DeploymentMetadataFactory;
import org.apache.aries.application.filesystem.IDirectory;
@@ -67,7 +67,7 @@
public class AriesApplicationManagerImpl implements AriesApplicationManager {
- private ApplicationMetadataManager _applicationMetadataManager;
+ private ApplicationMetadataFactory _applicationMetadataFactory;
private DeploymentMetadataFactory _deploymentMetadataFactory;
private List<BundleConverter> _bundleConverters;
private AriesApplicationResolver _resolver;
@@ -76,8 +76,8 @@
private static final Logger _logger = LoggerFactory.getLogger("org.apache.aries.application.management.impl");
- public void setApplicationMetadataManager (ApplicationMetadataManager amm) {
- _applicationMetadataManager = amm;
+ public void setApplicationMetadataFactory (ApplicationMetadataFactory amf) {
+ _applicationMetadataFactory = amf;
}
public void setDeploymentMetadataFactory (DeploymentMetadataFactory dmf) {
@@ -114,7 +114,7 @@
try {
Manifest applicationManifest = parseApplicationManifest (ebaFile);
ManifestDefaultsInjector.updateManifest(applicationManifest, ebaFile.getName(), ebaFile);
- applicationMetadata = _applicationMetadataManager.createApplicationMetadata(applicationManifest);
+ applicationMetadata = _applicationMetadataFactory.createApplicationMetadata(applicationManifest);
IFile deploymentManifest = ebaFile.getFile(AppConstants.DEPLOYMENT_MF);
if (deploymentManifest != null) {
@@ -142,7 +142,7 @@
BundleManifest bm = getBundleManifest (f);
if (bm != null) {
if (bm.isValid()) {
- extraBundlesInfo.add(new BundleInfoImpl(_applicationMetadataManager, bm, f.toURL().toExternalForm()));
+ extraBundlesInfo.add(new BundleInfoImpl(_applicationMetadataFactory, bm, f.toURL().toExternalForm()));
} else if (deploymentMetadata != null) {
throw new ManagementException (MessageUtil.getMessage("APPMANAGEMENT0003E", f.getName(), ebaFile.getName()));
} else {
@@ -168,7 +168,7 @@
if (convertedBinary != null) {
modifiedBundles.put (f.getName(), convertedBinary);
bm = BundleManifest.fromBundle(f);
- extraBundlesInfo.add(new BundleInfoImpl(_applicationMetadataManager, bm, f.getName()));
+ extraBundlesInfo.add(new BundleInfoImpl(_applicationMetadataFactory, bm, f.getName()));
}
}
}
Modified: incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/BundleInfoImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/BundleInfoImpl.java?rev=900765&r1=900764&r2=900765&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/BundleInfoImpl.java (original)
+++ incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/BundleInfoImpl.java Tue Jan 19 13:17:18 2010
@@ -27,7 +27,7 @@
import java.util.Map.Entry;
import java.util.jar.Attributes;
-import org.apache.aries.application.ApplicationMetadataManager;
+import org.apache.aries.application.ApplicationMetadataFactory;
import org.apache.aries.application.Content;
import org.apache.aries.application.management.BundleInfo;
import org.apache.aries.application.utils.manifest.BundleManifest;
@@ -42,14 +42,14 @@
private Set<Content> _exportPackages = null;
private Set<Content> _importPackages = null;
private String _location;
- private ApplicationMetadataManager _applicationMetadataManager;
+ private ApplicationMetadataFactory _applicationMetadataFactory;
- public BundleInfoImpl (ApplicationMetadataManager amm, BundleManifest bm, String location) {
+ public BundleInfoImpl (ApplicationMetadataFactory amf, BundleManifest bm, String location) {
_symbolicName = bm.getSymbolicName();
_version = bm.getVersion();
_attributes = bm.getRawAttributes();
_location = location;
- _applicationMetadataManager = amm;
+ _applicationMetadataFactory = amf;
}
public Set<Content> getExportPackage() {
@@ -94,7 +94,7 @@
List<String> splitHeader = ManifestHeaderProcessor.split(header, ",");
HashSet<Content> result = new HashSet<Content>();
for (String s: splitHeader) {
- Content c = _applicationMetadataManager.parseContent(s);
+ Content c = _applicationMetadataFactory.parseContent(s);
result.add(c);
}
return result;
Modified: incubator/aries/trunk/application/application-management/src/main/resources/OSGI-INF/blueprint/app-management.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-management/src/main/resources/OSGI-INF/blueprint/app-management.xml?rev=900765&r1=900764&r2=900765&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-management/src/main/resources/OSGI-INF/blueprint/app-management.xml (original)
+++ incubator/aries/trunk/application/application-management/src/main/resources/OSGI-INF/blueprint/app-management.xml Tue Jan 19 13:17:18 2010
@@ -20,7 +20,7 @@
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0">
<bean id="app-manager" class="org.apache.aries.application.management.impl.AriesApplicationManagerImpl" scope="singleton" activation="lazy">
- <property name="applicationMetadataManager" ref="app-metadata-manager"/>
+ <property name="applicationMetadataFactory" ref="app-metadata-factory"/>
<property name="deploymentMetadataFactory" ref="deployment-metadata-factory"/>
<property name="bundleConverters" ref="bundle-converters"/>
<property name="resolver" ref="resolver"/>
@@ -28,7 +28,7 @@
<property name="applicationContextManager" ref="application-context-manager"/>
</bean>
- <reference id="app-metadata-manager" interface="org.apache.aries.application.ApplicationMetadataManager"/>
+ <reference id="app-metadata-factory" interface="org.apache.aries.application.ApplicationMetadataFactory"/>
<reference id="deployment-metadata-factory" interface="org.apache.aries.application.DeploymentMetadataFactory"/>
<reference-list id="bundle-converters"
interface="org.apache.aries.application.management.BundleConverter"
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=900765&r1=900764&r2=900765&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 Tue Jan 19 13:17:18 2010
@@ -32,14 +32,14 @@
import java.util.Set;
import org.apache.aries.application.ApplicationMetadata;
-import org.apache.aries.application.ApplicationMetadataManager;
+import org.apache.aries.application.ApplicationMetadataFactory;
import org.apache.aries.application.Content;
import org.apache.aries.application.DeploymentContent;
import org.apache.aries.application.DeploymentMetadata;
import org.apache.aries.application.DeploymentMetadataFactory;
import org.apache.aries.application.filesystem.IDirectory;
import org.apache.aries.application.filesystem.IFile;
-import org.apache.aries.application.impl.ApplicationMetadataManagerImpl;
+import org.apache.aries.application.impl.ApplicationMetadataFactoryImpl;
import org.apache.aries.application.impl.ContentImpl;
import org.apache.aries.application.impl.DeploymentContentImpl;
import org.apache.aries.application.impl.DeploymentMetadataFactoryImpl;
@@ -101,19 +101,19 @@
}
AriesApplicationManagerImpl _appMgr;
- ApplicationMetadataManager _appMetaMgr;
+ ApplicationMetadataFactory _appMetaFactory;
DummyResolver _resolver;
@Before
public void setup() {
_appMgr = new AriesApplicationManagerImpl ();
- _appMetaMgr = new ApplicationMetadataManagerImpl ();
+ _appMetaFactory = new ApplicationMetadataFactoryImpl ();
DeploymentMetadataFactory dmf = new DeploymentMetadataFactoryImpl();
List<BundleConverter> bundleConverters = new ArrayList<BundleConverter>();
_resolver = new DummyResolver();
- _appMgr.setApplicationMetadataManager(_appMetaMgr);
+ _appMgr.setApplicationMetadataFactory(_appMetaFactory);
_appMgr.setDeploymentMetadataFactory(dmf);
_appMgr.setBundleConverters(bundleConverters);
_appMgr.setResolver(_resolver);
@@ -189,7 +189,7 @@
String persistenceLibraryLocation = "../src/test/resources/bundles/repository/a.handy.persistence.library.jar";
File persistenceLibrary = new File (persistenceLibraryLocation);
BundleManifest mf = BundleManifest.fromBundle(persistenceLibrary);
- BundleInfo resolvedPersistenceLibrary = new BundleInfoImpl(_appMetaMgr, mf, persistenceLibraryLocation);
+ BundleInfo resolvedPersistenceLibrary = new BundleInfoImpl(_appMetaFactory, mf, persistenceLibraryLocation);
Field v = BundleInfoImpl.class.getDeclaredField("_version");
v.setAccessible(true);
v.set(resolvedPersistenceLibrary, new Version("1.1.0"));
Copied: incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ApplicationMetadataFactoryImpl.java (from r900309, incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ApplicationMetadataManagerImpl.java)
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ApplicationMetadataFactoryImpl.java?p2=incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ApplicationMetadataFactoryImpl.java&p1=incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ApplicationMetadataManagerImpl.java&r1=900309&r2=900765&rev=900765&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ApplicationMetadataManagerImpl.java (original)
+++ incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ApplicationMetadataFactoryImpl.java Tue Jan 19 13:17:18 2010
@@ -25,18 +25,13 @@
import java.util.jar.Manifest;
import org.apache.aries.application.ApplicationMetadata;
-import org.apache.aries.application.ApplicationMetadataManager;
+import org.apache.aries.application.ApplicationMetadataFactory;
import org.apache.aries.application.Content;
import org.apache.aries.application.VersionRange;
import org.apache.aries.application.utils.manifest.ManifestProcessor;
import org.osgi.framework.Version;
-/**
- * This class implements the application metadata manager. It is not directly
- * exposed outside of the bundle, their is a service facade in front of it which
- * is used by clients.
- */
-public class ApplicationMetadataManagerImpl implements ApplicationMetadataManager
+public class ApplicationMetadataFactoryImpl implements ApplicationMetadataFactory
{
/** The applications managed, keyed based on the app symbolic name and version */
public ConcurrentMap<String, ApplicationMetadata> applications = new ConcurrentHashMap<String, ApplicationMetadata>();
Modified: incubator/aries/trunk/application/application-utils/src/main/resources/OSGI-INF/blueprint/app-utils.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-utils/src/main/resources/OSGI-INF/blueprint/app-utils.xml?rev=900765&r1=900764&r2=900765&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-utils/src/main/resources/OSGI-INF/blueprint/app-utils.xml (original)
+++ incubator/aries/trunk/application/application-utils/src/main/resources/OSGI-INF/blueprint/app-utils.xml Tue Jan 19 13:17:18 2010
@@ -19,13 +19,8 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0">
- <bean id="core-manager" class="org.apache.aries.application.impl.ApplicationMetadataManagerImpl" scope="singleton" activation="lazy"/>
-
- <bean id="manager-service" class="org.apache.aries.application.impl.ApplicationMetadataManagerServiceImpl" scope="singleton" activation="lazy">
- <property name="manager" ref="core-manager"/>
- </bean>
-
- <service interface="org.apache.aries.application.ApplicationMetadataManager" ref="manager-service" />
+ <bean id="applicationMf-factory" class="org.apache.aries.application.impl.ApplicationMetadataFactoryImpl" />
+ <service interface="org.apache.aries.application.ApplicationMetadataFactory" ref="applicationMf-factory" />
<bean id="deploymentMf-factory" class="org.apache.aries.application.impl.DeploymentMetadataFactoryImpl" />
<service interface="org.apache.aries.application.DeploymentMetadataFactory" ref="deploymentMf-factory" />
Modified: incubator/aries/trunk/application/application-utils/src/test/java/org/apache/aries/application/impl/ApplicationMetadataImplTest.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-utils/src/test/java/org/apache/aries/application/impl/ApplicationMetadataImplTest.java?rev=900765&r1=900764&r2=900765&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-utils/src/test/java/org/apache/aries/application/impl/ApplicationMetadataImplTest.java (original)
+++ incubator/aries/trunk/application/application-utils/src/test/java/org/apache/aries/application/impl/ApplicationMetadataImplTest.java Tue Jan 19 13:17:18 2010
@@ -23,8 +23,8 @@
import junit.framework.Assert;
import org.apache.aries.application.ApplicationMetadata;
-import org.apache.aries.application.ApplicationMetadataManager;
-import org.apache.aries.application.impl.ApplicationMetadataManagerImpl;
+import org.apache.aries.application.ApplicationMetadataFactory;
+import org.apache.aries.application.impl.ApplicationMetadataFactoryImpl;
import org.junit.Test;
public class ApplicationMetadataImplTest
@@ -32,7 +32,7 @@
@Test
public void testBasicMetadataCreation() throws IOException
{
- ApplicationMetadataManager manager = new ApplicationMetadataManagerImpl();
+ ApplicationMetadataFactory manager = new ApplicationMetadataFactoryImpl();
ApplicationMetadata app = manager.parseApplicationMetadata(getClass().getResourceAsStream("/META-INF/APPLICATION.MF"));
Assert.assertEquals("Travel Reservation", app.getApplicationName());
Modified: incubator/aries/trunk/application/application-utils/src/test/java/org/apache/aries/application/utils/manifest/ManifestProcessorTest.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-utils/src/test/java/org/apache/aries/application/utils/manifest/ManifestProcessorTest.java?rev=900765&r1=900764&r2=900765&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-utils/src/test/java/org/apache/aries/application/utils/manifest/ManifestProcessorTest.java (original)
+++ incubator/aries/trunk/application/application-utils/src/test/java/org/apache/aries/application/utils/manifest/ManifestProcessorTest.java Tue Jan 19 13:17:18 2010
@@ -32,7 +32,7 @@
import org.apache.aries.application.ApplicationMetadata;
import org.apache.aries.application.Content;
import org.apache.aries.application.VersionRange;
-import org.apache.aries.application.impl.ApplicationMetadataManagerImpl;
+import org.apache.aries.application.impl.ApplicationMetadataFactoryImpl;
import org.apache.aries.application.utils.manifest.ManifestProcessor;
import org.junit.Test;
import org.osgi.framework.Version;
@@ -84,7 +84,7 @@
@Test
public void testManifestMetadata() throws Exception
{
- ApplicationMetadataManagerImpl manager = new ApplicationMetadataManagerImpl();
+ ApplicationMetadataFactoryImpl manager = new ApplicationMetadataFactoryImpl();
InputStream in = getClass().getClassLoader().getResourceAsStream("META-INF/APPLICATION.MF");
ApplicationMetadata am = manager.parseApplicationMetadata(in);
assertNotNull(am);
@@ -113,7 +113,7 @@
@Test
public void testManifestMetadataWithMultiLineEntries() throws Exception
{
- ApplicationMetadataManagerImpl manager = new ApplicationMetadataManagerImpl();
+ ApplicationMetadataFactoryImpl manager = new ApplicationMetadataFactoryImpl();
InputStream in = getClass().getClassLoader().getResourceAsStream("META-INF/APPLICATION2.MF");
@@ -140,7 +140,7 @@
@Test
public void testManifestWithoutEndingInNewLine() throws Exception
{
- ApplicationMetadataManagerImpl manager = new ApplicationMetadataManagerImpl();
+ ApplicationMetadataFactoryImpl manager = new ApplicationMetadataFactoryImpl();
InputStream in = getClass().getClassLoader().getResourceAsStream("META-INF/APPLICATION3.MF");