You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by do...@apache.org on 2008/11/13 15:27:18 UTC

svn commit: r713734 - in /felix/sandbox/donsez/monitoradmin: pom.xml src/main/java/org/apache/felix/sandbox/monitor/MonitorAdminImpl.java

Author: donsez
Date: Thu Nov 13 06:27:17 2008
New Revision: 713734

URL: http://svn.apache.org/viewvc?rev=713734&view=rev
Log:
change dependencies versions in pom.xml and apply patches for JIRA FELIX-809, FELIX-810,  FELIX-811

Modified:
    felix/sandbox/donsez/monitoradmin/pom.xml
    felix/sandbox/donsez/monitoradmin/src/main/java/org/apache/felix/sandbox/monitor/MonitorAdminImpl.java

Modified: felix/sandbox/donsez/monitoradmin/pom.xml
URL: http://svn.apache.org/viewvc/felix/sandbox/donsez/monitoradmin/pom.xml?rev=713734&r1=713733&r2=713734&view=diff
==============================================================================
--- felix/sandbox/donsez/monitoradmin/pom.xml (original)
+++ felix/sandbox/donsez/monitoradmin/pom.xml Thu Nov 13 06:27:17 2008
@@ -23,28 +23,35 @@
 		<description>provides an implementation of Monitor Admin.</description>
 	</properties>  
 
+<!--
   <parent>
-    <groupId>org.apache.felix</groupId>
-    <artifactId>felix</artifactId>
-    <version>0.9.0-incubator-SNAPSHOT</version>
+    <groupId>org.apache.felix.sandbox</groupId>
+    <artifactId>sandbox</artifactId>
+    <version>0.1.0-SNAPSHOT</version>
   </parent>
-  
+-->
+
   <modelVersion>4.0.0</modelVersion>
   <packaging>bundle</packaging>
-  <name>Apache Felix Monitor Admin</name>
+
+  <name>Apache Felix MonitorAdmin</name>
+
   <artifactId>org.apache.felix.sandbox.monitor</artifactId>
+  <groupId>org.apache.felix.sandbox</groupId>
+  <version>0.1.0-SNAPSHOT</version>
+
   <description>${description}</description>
 
   <dependencies>
     <dependency>
-      <groupId>${pom.groupId}</groupId>
+      <groupId>org.apache.felix</groupId>
       <artifactId>org.osgi.core</artifactId>
-      <version>${pom.version}</version>
+      <version>1.0.0</version>
     </dependency>
     <dependency>
-      <groupId>${pom.groupId}</groupId>
+      <groupId>org.apache.felix</groupId>
       <artifactId>org.osgi.compendium</artifactId>
-      <version>${pom.version}</version>
+      <version>1.0.0</version>
     </dependency>
   </dependencies>
   <build>
@@ -60,7 +67,8 @@
           	
             <Export-Service>org.osgi.service.monitor.MonitorAdmin,org.osgi.service.monitor.MonitorListener</Export-Service>
 
-			<Import-Service>org.osgi.service.monitor.Monitorable,org.osgi.service.event.EventAdmin</Import-Service>
+            <!-- <Import-Service>org.osgi.service.monitor.Monitorable,org.osgi.service.event.EventAdmin</Import-Service> -->
+            
 
             <Private-Package>${pom.artifactId}.*</Private-Package>
             <Import-Package>*</Import-Package>
@@ -74,37 +82,11 @@
             
             <Bundle-Activator>${pom.artifactId}.MonitorAdminImpl</Bundle-Activator>
 
-            <!--
-            <Bundle-DocURL>${repositoryLocation}${pom.artifactId}/index.html</Bundle-DocURL>
-            <Bundle-Url>${repositoryLocation}${pom.artifactId}/${pom.artifactId}-${pom.version}.jar</Bundle-Url>
-            <Bundle-Source>${repositoryLocation}${pom.artifactId}/${pom.artifactId}-${pom.version}-src.jar</Bundle-Source>
-			-->
-			
-            <!--
-            <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
-            <Bundle-Description>${description}</Bundle-Description>
-            <Bundle-Vendor>Apache Software Foundation</Bundle-Vendor>
-			-->
 
           </instructions>
         </configuration>
       </plugin>
     </plugins>
   </build>
-  <!--
-  <repositories>
-    <repository>
-      <id>apache.m2.incubator</id>
-      <name>Apache M2 Incubator Repository</name>
-      <url>http://people.apache.org/repo/m2-incubating-repository/</url>
-    </repository>
-  </repositories>
-  <pluginRepositories>
-    <pluginRepository>
-      <id>apache.m2.incubator</id>
-      <name>Apache M2 Incubator Repository</name>
-      <url>http://people.apache.org/repo/m2-incubating-repository/</url>
-    </pluginRepository>
-  </pluginRepositories>
-  -->
+
 </project>

Modified: felix/sandbox/donsez/monitoradmin/src/main/java/org/apache/felix/sandbox/monitor/MonitorAdminImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/donsez/monitoradmin/src/main/java/org/apache/felix/sandbox/monitor/MonitorAdminImpl.java?rev=713734&r1=713733&r2=713734&view=diff
==============================================================================
--- felix/sandbox/donsez/monitoradmin/src/main/java/org/apache/felix/sandbox/monitor/MonitorAdminImpl.java (original)
+++ felix/sandbox/donsez/monitoradmin/src/main/java/org/apache/felix/sandbox/monitor/MonitorAdminImpl.java Thu Nov 13 06:27:17 2008
@@ -139,8 +139,13 @@
 				while(!isStopped){ // TODO check if notification is before or after the sleep ?
 					for(int i=0;i<statusVariables.length;i++){
 						String path=statusVariables[i];
-						StatusVariable statusVariable=monitorAdminProxy.getStatusVariable(path);
-						updated(path.substring(0,path.indexOf('/')),statusVariable);
+						String monitorableId=path.substring(0,path.indexOf('/'));
+						if (monitorables.containsKey(monitorableId)) {
+							StatusVariable statusVariable=monitorAdminProxy.getStatusVariable(path);
+							updated(monitorableId,statusVariable);
+						} else {
+							// XXX: should we log this here?
+						}
 					}
 					
 					if(--count>0){
@@ -181,9 +186,9 @@
 				List list=(List)subscriptions.get(statusVariableName);
 				if(list!=null) {
 					list.remove(this);
-				} // else never occurs
-				if(list.isEmpty())
-					subscriptions.remove(statusVariableName);
+					if(list.isEmpty())
+						subscriptions.remove(statusVariableName);
+				} // else occurs for scheduled jobs
 			}		
 		}
 
@@ -227,16 +232,16 @@
 			properties.put("mon.monitorable.pid", monitorableId);
 			properties.put("mon.statusvariable.name", statusVariable.getID());
 
-			Object value = null;
+			String value = null;
 			switch (statusVariable.getType()) { // TODO float->double, int->long
 			case StatusVariable.TYPE_BOOLEAN:
-				value = new Boolean(statusVariable.getBoolean());
+				value = Boolean.toString(statusVariable.getBoolean());
 				break;
 			case StatusVariable.TYPE_FLOAT:
-				value = new Float(statusVariable.getFloat());
+				value = Float.toString(statusVariable.getFloat());
 				break;
 			case StatusVariable.TYPE_INTEGER:
-				value = new Integer(statusVariable.getInteger());
+				value = Integer.toString(statusVariable.getInteger());
 				break;
 			case StatusVariable.TYPE_STRING:
 				value = statusVariable.getString();