You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by fm...@apache.org on 2007/09/20 14:44:54 UTC
svn commit: r577722 - in /felix/trunk/jmood: ./ pom.xml
src/main/java/org/apache/felix/jmood/compendium/ConfigAdminManager.java
src/test/java/org/apache/felix/jmood/FelixLauncher.java
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);
}