[infinispan-commits] Infinispan SVN: r1142 - in trunk: tools/src/main/java/org/infinispan/tools/jopr and 1 other directory.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Wed Nov 11 15:01:28 EST 2009


Author: galder.zamarreno at jboss.com
Date: 2009-11-11 15:01:28 -0500 (Wed, 11 Nov 2009)
New Revision: 1142

Modified:
   trunk/jopr-plugin/src/main/java/org/infinispan/jopr/CacheManagerDiscovery.java
   trunk/tools/src/main/java/org/infinispan/tools/jopr/RhqPluginXmlGenerator.java
Log:
[ISPN-268] (Enhance the plugin so that Infinispan instances can be added manually) Done.

Modified: trunk/jopr-plugin/src/main/java/org/infinispan/jopr/CacheManagerDiscovery.java
===================================================================
--- trunk/jopr-plugin/src/main/java/org/infinispan/jopr/CacheManagerDiscovery.java	2009-11-11 19:29:25 UTC (rev 1141)
+++ trunk/jopr-plugin/src/main/java/org/infinispan/jopr/CacheManagerDiscovery.java	2009-11-11 20:01:28 UTC (rev 1142)
@@ -62,71 +62,34 @@
    public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext<CacheManagerComponent> ctx) throws Exception {
       boolean trace = log.isTraceEnabled();
       if (trace) log.trace("Discover resources with context: {0}", ctx);
-
       Set<DiscoveredResourceDetails> discoveredResources = new HashSet<DiscoveredResourceDetails>();
-      // TODO check if we e.g. run inside a JBossAS to which we have a connection already that we can reuse.
-      Configuration c = new Configuration();
-      c.put(new PropertySimple(JMXDiscoveryComponent.CONNECTOR_ADDRESS_CONFIG_PROPERTY, REMOTE));
-      c.put(new PropertySimple(JMXDiscoveryComponent.CONNECTION_TYPE, CONNECTOR));
-      c.put(new PropertySimple(OBJECT_NAME_KEY, MANAGER_OBJECT));
-      if (trace) log.trace("To be used configuration is {0}", c.toString(true));
-
-      ConnectionHelper helper = new ConnectionHelper();
-      EmsConnection conn = helper.getEmsConnection(c);
-
-      if (trace) log.trace("Connection to ems server stablished: {0}", conn);
-
-      // Run query for manager_object
-      ObjectNameQueryUtility queryUtility = new ObjectNameQueryUtility(MANAGER_OBJECT);
-      List<EmsBean> beans = conn.queryBeans(queryUtility.getTranslatedQuery());
-      if (trace) log.trace("Querying [{0}] returned beans: {1}", queryUtility.getTranslatedQuery(), beans);
-      for (EmsBean bean : beans) {
-         String managerName = bean.getBeanName().getCanonicalName();
-         c.put(new PropertySimple(OBJECT_NAME_KEY, managerName));
-         String resourceName = bean.getAttribute("Name").getValue().toString();
-         String version = bean.getAttribute("Version").getValue().toString();
-         /* A discovered resource must have a unique key, that must
-          * stay the same when the resource is discovered the next
-          * time */
-         if (trace) log.trace("Add resource with name '{0}', version '{1}' and type {2}", 
-                  resourceName, version, ctx.getResourceType());
-         DiscoveredResourceDetails detail = new DiscoveredResourceDetails(
-               ctx.getResourceType(), // Resource type
-               resourceName, // Resource key
-               resourceName, // Resource name
-               version, // Resource version
-               "A cache manager within Infinispan", // Description
-               c, // Plugin config
-               null // Process info from a process scan
-         );
-
-         // Add to return values
-         discoveredResources.add(detail);
-         log.info("Automatically discovered Infinispan instance with key {0} and name {1}", resourceName, managerName);
+      DiscoveredResourceDetails resource = null;
+      List<Configuration> manualCfgs = ctx.getPluginConfigurations();
+      if (!manualCfgs.isEmpty()) {
+         // Process any manually-added resource.
+         Configuration cfg = ctx.getPluginConfigurations().get(0);
+         String objectName = cfg.getSimple(OBJECT_NAME_KEY).getStringValue();
+         String connectorAddress = cfg.getSimple(JMXDiscoveryComponent.CONNECTOR_ADDRESS_CONFIG_PROPERTY).getStringValue();
+         resource = createDiscoveredResource(ctx, objectName, connectorAddress);
+         if (trace) log.trace("Manually discovered resource is {0}", resource);
+      } else {
+         // Process auto discovered resource
+         resource = createDiscoveredResource(ctx, MANAGER_OBJECT, REMOTE);
+         if (trace) log.trace("Automatically discovered resource is {0}", resource);
+         discoveredResources.add(resource);
       }
-
-      // Process any manually-added resources.
-      List<Configuration> contextPluginConfigurations = ctx.getPluginConfigurations();
-      for (Configuration pluginConfiguration : contextPluginConfigurations) {
-         DiscoveredResourceDetails resource = parsePluginConfig(ctx, pluginConfiguration);
-         if (resource != null) {
-            discoveredResources.add(resource);
-         }
-      }
-
+      discoveredResources.add(resource);
       return discoveredResources;
    }
 
-   private DiscoveredResourceDetails parsePluginConfig(ResourceDiscoveryContext ctx, Configuration cfg) {
+   private DiscoveredResourceDetails createDiscoveredResource(ResourceDiscoveryContext ctx, String objectName, String connectorAddress) {
       boolean trace = log.isTraceEnabled();
-      String objectName = cfg.getSimple(OBJECT_NAME_KEY).getStringValue();
-      String connectorAddress = cfg.getSimple(JMXDiscoveryComponent.CONNECTOR_ADDRESS_CONFIG_PROPERTY).getStringValue();
 
       Configuration c = new Configuration();
       c.put(new PropertySimple(OBJECT_NAME_KEY, objectName));
       c.put(new PropertySimple(JMXDiscoveryComponent.CONNECTOR_ADDRESS_CONFIG_PROPERTY, connectorAddress));
       c.put(new PropertySimple(JMXDiscoveryComponent.CONNECTION_TYPE, CONNECTOR));
-      if (trace) log.trace("Manual configuration is {0}", c.toString(true));
+      if (trace) log.trace("Configuration is {0}", c.toString(true));
       
       ConnectionHelper helper = new ConnectionHelper();
       EmsConnection conn = helper.getEmsConnection(c);
@@ -142,7 +105,7 @@
       String resourceName = bean.getAttribute("Name").getValue().toString();
       String version = bean.getAttribute("Version").getValue().toString();
       /* A discovered resource must have a unique key, that must stay the same when the resource is discovered the next time */
-      if (trace) log.trace("Add resource with name '{0}', version '{1}' and type {2}", resourceName, version, ctx.getResourceType());
+      if (trace) log.trace("Add resource with version '{1}' and type {2}", version, ctx.getResourceType());
       DiscoveredResourceDetails detail = new DiscoveredResourceDetails(
             ctx.getResourceType(), // Resource type
             resourceName, // Resource key
@@ -152,7 +115,7 @@
             c, // Plugin config
             null // Process info from a process scan
       );
-      log.info("Manually discovered Infinispan instance with key {0} and name {1}", resourceName, managerName);
+      log.info("Discovered Infinispan instance with key {0} and name {1}", resourceName, managerName);
       return detail;
    }
 }
\ No newline at end of file

Modified: trunk/tools/src/main/java/org/infinispan/tools/jopr/RhqPluginXmlGenerator.java
===================================================================
--- trunk/tools/src/main/java/org/infinispan/tools/jopr/RhqPluginXmlGenerator.java	2009-11-11 19:29:25 UTC (rev 1141)
+++ trunk/tools/src/main/java/org/infinispan/tools/jopr/RhqPluginXmlGenerator.java	2009-11-11 20:01:28 UTC (rev 1142)
@@ -120,7 +120,7 @@
       objectName.setType("string");
       objectName.setReadOnly(true);
       root.getSimpleProps().add(objectName);
-      Template defaultTemplate = new Template("default");
+      Template defaultTemplate = new Template("defaultManualDiscovery");
       defaultTemplate.setDescription("The default setup for Infinispan");
       SimpleProperty connect2 = new SimpleProperty("connectorAddress");
       connect2.setDisplayName("URL of the remote server");



More information about the infinispan-commits mailing list