Author: fmeschbe
Date: Thu Sep 20 05:44:54 2007
New Revision: 577722

URL: http://svn.apache.org/viewvc?rev=577722&view=rev
Log:
- Some Formatting of Pom
- Use (released) Bundle plugin for bundling
- Use released framework and osgi-core libraries
- small fix to ConfigAdminManager to compile on Java 1.4
- Add MX4J dependencies for compiling on Java 1.4

Modified:
    felix/trunk/jmood/   (props changed)
    felix/trunk/jmood/pom.xml
    
felix/trunk/jmood/src/main/java/org/apache/felix/jmood/compendium/ConfigAdminManager.java
    felix/trunk/jmood/src/test/java/org/apache/felix/jmood/FelixLauncher.java

Propchange: felix/trunk/jmood/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Sep 20 05:44:54 2007
@@ -0,0 +1,4 @@
+.settings
+target
+.classpath
+.project

Modified: felix/trunk/jmood/pom.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/jmood/pom.xml?rev=577722&r1=577721&r2=577722&view=diff
==============================================================================
--- felix/trunk/jmood/pom.xml (original)
+++ felix/trunk/jmood/pom.xml Thu Sep 20 05:44:54 2007
@@ -1,92 +1,105 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
     <parent>
-    <groupId>org.apache.felix</groupId>
-    <artifactId>felix</artifactId>
-    <version>1.1.0-SNAPSHOT</version>
-    <relativePath>../pom/pom.xml</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <packaging>osgi-bundle</packaging>
-  <name>JMood JMX Management Agent</name>
-  <version>0.9.0-SNAPSHOT</version>
-  <artifactId>${groupId}.jmood</artifactId>
-  <dependencies>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.apache.felix.framework</artifactId>
-      <version>0.9.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>1.1.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
-      <version>0.9.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-  <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix.plugins</groupId>
-        <artifactId>maven-osgi-plugin</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
-        <extensions>true</extensions>
-        <configuration>
-          <osgiManifest >
-            <bundleName>${name}</bundleName>
-            <bundleActivator>${artifactId}.Activator</bundleActivator>
-            <bundleDescription>JMood management agent</bundleDescription>
-            <bundleSymbolicName>${artifactId}</bundleSymbolicName>
-            <exportPackage>
-            <!-- TODO -->
-            </exportPackage>
-            <!--Automatic resolution includes not available, unused, mx4j 
stuff-->
-                       <importPackage>
-                       org.osgi.framework, org.osgi.util.tracker, 
org.osgi.service.log, org.osgi.service.packageadmin, 
org.osgi.service.startlevel, org.osgi.service.permissionadmin, 
org.osgi.service.useradmin, org.osgi.service.cm, javax.management, 
javax.management.remote
-                       </importPackage>
-          </osgiManifest>
-        </configuration>
-      </plugin>
-     <plugin>
-      <groupId>org.apache.maven.plugins</groupId>
-      <artifactId>maven-surefire-plugin</artifactId>
-      <configuration>
-      <!--
-      Current tests are (unfinished) integration tests, and need 
-      to have the bundle available, so there's a chicken-egg problem there. 
Temporal workaround: omit tests in pom
-      -->
-      
-        <skip>true</skip>
-      </configuration>
-    </plugin>
-      
-    </plugins>
-  </build>
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-project-info-reports-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </reporting>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>felix</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom/pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>bundle</packaging>
+    <name>JMood JMX Management Agent</name>
+    <version>0.9.0-SNAPSHOT</version>
+    <artifactId>${groupId}.jmood</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>${pom.groupId}</groupId>
+            <artifactId>org.apache.felix.framework</artifactId>
+            <version>1.0.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>${pom.groupId}</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <version>1.0.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>${pom.groupId}</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+            <version>0.9.0-SNAPSHOT</version>
+            <scope>provided</scope>
+        </dependency>
+        
+        <!-- Building on Java prior to Java 5 requires these -->
+        <dependency>
+            <groupId>mx4j</groupId>
+            <artifactId>mx4j</artifactId>
+            <version>3.0.1</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>mx4j</groupId>
+            <artifactId>mx4j-remote</artifactId>
+            <version>3.0.1</version>
+            <scope>provided</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>1.0.0</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-Activator>
+                            org.apache.felix.jmood.Activator
+                        </Bundle-Activator>
+                        <Private-Package>
+                            org.apache.felix.jmood.*
+                        </Private-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <!--
+                        Current tests are (unfinished) integration tests, and 
need 
+                        to have the bundle available, so there's a chicken-egg 
problem there. Temporal workaround: omit tests in pom
+                    -->
+
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+
+        </plugins>
+    </build>
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>
+                    maven-project-info-reports-plugin
+                </artifactId>
+            </plugin>
+        </plugins>
+    </reporting>
 </project>

Modified: 
felix/trunk/jmood/src/main/java/org/apache/felix/jmood/compendium/ConfigAdminManager.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/jmood/src/main/java/org/apache/felix/jmood/compendium/ConfigAdminManager.java?rev=577722&r1=577721&r2=577722&view=diff
==============================================================================
--- 
felix/trunk/jmood/src/main/java/org/apache/felix/jmood/compendium/ConfigAdminManager.java
 (original)
+++ 
felix/trunk/jmood/src/main/java/org/apache/felix/jmood/compendium/ConfigAdminManager.java
 Thu Sep 20 05:44:54 2007
@@ -109,7 +109,7 @@
         //FIXME this should not be invoked
         //if created, the configuration is attached to the management agent's 
location
                ac.debug("ConfigAdmin, getting config for pid: "+pid);
-               if (pid.contains(":")) throw new IllegalArgumentException("pid 
not compliant with jmx. Please remove ':' from the pid");
+               if (pid.indexOf(':') >= 0) throw new 
IllegalArgumentException("pid not compliant with jmx. Please remove ':' from 
the pid");
                ConfigurationAdmin cad=ac.getConfigurationAdmin();
                if (cad != null) {
                        Configuration config = cad.getConfiguration(pid);
@@ -129,7 +129,7 @@
        public String getConfiguration(String pid, String location)
                throws Exception {
                //":" is reserved in objectnames, as a work around we do not 
permit pids containing it
-                       if (pid.contains(":")) throw new 
IllegalArgumentException("pid not compliant with jmx. Please remove ':' from 
the pid");
+                       if (pid.indexOf(':') >= 0) throw new 
IllegalArgumentException("pid not compliant with jmx. Please remove ':' from 
the pid");
                        ConfigurationAdmin cad=ac.getConfigurationAdmin();
                if (cad != null) {
                        Configuration config = cad.getConfiguration(pid, 
location);

Modified: 
felix/trunk/jmood/src/test/java/org/apache/felix/jmood/FelixLauncher.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/jmood/src/test/java/org/apache/felix/jmood/FelixLauncher.java?rev=577722&r1=577721&r2=577722&view=diff
==============================================================================
--- felix/trunk/jmood/src/test/java/org/apache/felix/jmood/FelixLauncher.java 
(original)
+++ felix/trunk/jmood/src/test/java/org/apache/felix/jmood/FelixLauncher.java 
Thu Sep 20 05:44:54 2007
@@ -16,26 +16,20 @@
  */
 package org.apache.felix.jmood;
 
-import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.logging.Logger;
-
-import javax.management.MBeanServerConnection;
 
 import org.apache.felix.framework.Felix;
-import org.apache.felix.framework.util.MutablePropertyResolver;
-import org.apache.felix.framework.util.MutablePropertyResolverImpl;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleException;
 import org.osgi.framework.Constants;
 public class FelixLauncher {
 
-    private MutablePropertyResolver props;
+    private Map props;
        private Felix framework;
        private List bundles;
        private List packages;
@@ -47,12 +41,10 @@
                clearCache(cacheDir);
        cacheDir.mkdir();
         
-        framework = new Felix();
-               Map m=new HashMap();
                bundles=new ArrayList();
                packages=new ArrayList();
 
-        props = new MutablePropertyResolverImpl(m);
+        props = new HashMap();
         props.put("felix.cache.profiledir", cacheDir.getAbsolutePath());
 
     }
@@ -64,7 +56,7 @@
                if(!packages.contains(packageName))
                packages.add(packageName);
        }
-       public void start(){
+       public void start() throws BundleException {
                StringBuffer autostart=new StringBuffer();
                for (int i=0; i<bundles.size(); i++){
                        String bundle=(String)bundles.get(i);
@@ -81,12 +73,13 @@
                
         props.put(Constants.FRAMEWORK_SYSTEMPACKAGES, spkg.toString());
 
-        framework.start(props,null);
+        framework = new Felix(props, null);
+        framework.start();
        }
        public void blockingStart() throws Exception{
                this.start();
         int to=0;
-        while(framework.getStatus()!=Felix.RUNNING_STATUS) {
+        while(framework.getState()!=Bundle.ACTIVE) {
             Thread.sleep(10);
             to++;
             if(to>100) throw new Exception("timeout");
@@ -94,7 +87,8 @@
 
        }
        public void shutdown(){
-               framework.shutdown();
+               framework.stopAndWait();
+               framework = null;
                clearCache(cacheDir);
        }
 


Reply via email to