Author: julien_viet
Date: 2009-12-28 08:19:24 -0500 (Mon, 28 Dec 2009)
New Revision: 1211
Modified:
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMXManagementProvider.java
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManagementContextImpl.java
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProvider.java
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProviderContext.java
Log:
EXOJCR-330 : Enable plugability of management layer : a bit more decoupling
Modified:
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMXManagementProvider.java
===================================================================
---
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMXManagementProvider.java 2009-12-28
13:03:06 UTC (rev 1210)
+++
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMXManagementProvider.java 2009-12-28
13:19:24 UTC (rev 1211)
@@ -31,6 +31,7 @@
import javax.management.modelmbean.ModelMBeanInfo;
import java.util.Hashtable;
import java.util.Map;
+import java.util.List;
/**
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
@@ -91,6 +92,13 @@
{
Map<String, String> props = new Hashtable<String, String>();
+ // Merge scoping properties
+ List<Map<String, String>> list =
context.getScopingProperties();
+ for (Map<String, String> scopingProperties : list)
+ {
+ props.putAll(scopingProperties);
+ }
+
// Julien : I know it's does not look great but it's necessary
// for compiling under Java 5 and Java 6 properly. The methods
// ObjectName#getKeyPropertyList() returns an Hashtable with Java 5
@@ -104,12 +112,6 @@
}
//
- Map<String, String> scopingProperties =
context.getScopingProperties();
-
- // Merge with scoping properties
- props.putAll(scopingProperties);
-
- //
on = JMX.createObjectName(on.getDomain(), props);
//
Modified:
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManagementContextImpl.java
===================================================================
---
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManagementContextImpl.java 2009-12-28
13:03:06 UTC (rev 1210)
+++
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManagementContextImpl.java 2009-12-28
13:19:24 UTC (rev 1211)
@@ -28,8 +28,10 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
/**
@@ -172,16 +174,16 @@
}
}
- public Map<String, String> getScopingProperties() {
- Map<String, String> props = new HashMap<String, String>();
+ public List<Map<String, String>> getScopingProperties() {
+ ArrayList<Map<String, String>> list = new ArrayList<Map<String,
String>>();
for (ManagementContextImpl current = this; current != null; current =
current.parent)
{
if (current.scopingProperties != null)
{
- props.putAll(current.scopingProperties);
+ list.add(current.scopingProperties);
}
}
- return props;
+ return list;
}
public ExoContainer findContainer()
Modified:
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProvider.java
===================================================================
---
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProvider.java 2009-12-28
13:03:06 UTC (rev 1210)
+++
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProvider.java 2009-12-28
13:19:24 UTC (rev 1211)
@@ -16,15 +16,14 @@
*/
package org.exoplatform.management.spi;
-import org.exoplatform.management.spi.ManagedTypeMetaData;
-
/**
* This interface is implemented by a management provider such a JMX.
*
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
* @version $Revision$
+ * @param <S> the scope type
*/
-public interface ManagementProvider
+public interface ManagementProvider<S>
{
/**
Modified:
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProviderContext.java
===================================================================
---
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProviderContext.java 2009-12-28
13:03:06 UTC (rev 1210)
+++
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProviderContext.java 2009-12-28
13:19:24 UTC (rev 1211)
@@ -18,6 +18,7 @@
import org.exoplatform.management.ManagementContext;
+import java.util.List;
import java.util.Map;
/**
@@ -34,7 +35,7 @@
*
* @return the scoping properties
*/
- Map<String, String> getScopingProperties();
+ List<Map<String, String>> getScopingProperties();
/**
* Before a managed resource is invoked by the management layer.
Show replies by date