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");