[rhq] Branch 'rhq-on-as7' - modules/enterprise

mazz mazz at fedoraproject.org
Thu Aug 23 14:50:43 UTC 2012


 modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsService.java                 |    9 +
 modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/PluginDeploymentScanner.java                   |   84 +++++++---
 modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/PluginDeploymentScannerMBean.java              |   28 ++-
 modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java                   |    2 
 modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/core/plugin/DatabaseAndFilePluginDeploymentTest.java       |    2 
 modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java |    4 
 6 files changed, 93 insertions(+), 36 deletions(-)

New commits:
commit 0e52457a34c90cc7dd28a291d9f5e900a16f0033
Author: John Mazzitelli <mazz at redhat.com>
Date:   Thu Aug 23 10:50:30 2012 -0400

    work around bug https://issues.jboss.org/browse/AS7-5343 so our SAR can deploy

diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsService.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsService.java
index 4e673d9..7ece912 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsService.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsService.java
@@ -297,6 +297,9 @@ public class ServerCommunicationsService implements ServerCommunicationsServiceM
      * @see ServerCommunicationsServiceMBean#setConfigurationFile(String)
      */
     public void setConfigurationFile(String location) {
+        if (location == null) {
+            return;
+        }
         m_configFile = StringPropertyReplacer.replaceProperties(location);
     }
 
@@ -325,6 +328,9 @@ public class ServerCommunicationsService implements ServerCommunicationsServiceM
      * @see ServerCommunicationsServiceMBean#setConfigurationOverrides(Properties)
      */
     public void setConfigurationOverrides(Properties overrides) {
+        if (overrides == null) {
+            return;
+        }
         m_configurationOverrides.putAll(overrides);
     }
 
@@ -333,6 +339,9 @@ public class ServerCommunicationsService implements ServerCommunicationsServiceM
      */
     // for why we need to split our overrides into two attributes - see https://issues.jboss.org/browse/AS7-5342
     public void setConfigurationOverrides2(Properties overrides) {
+        if (overrides == null) {
+            return;
+        }
         m_configurationOverrides.putAll(overrides);
     }
 
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/PluginDeploymentScanner.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/PluginDeploymentScanner.java
index 2093041..acc4779 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/PluginDeploymentScanner.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/PluginDeploymentScanner.java
@@ -26,8 +26,8 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
+
+import org.jboss.util.StringPropertyReplacer;
 
 import org.rhq.core.clientapi.agent.metadata.PluginMetadataManager;
 import org.rhq.core.clientapi.descriptor.AgentPluginDescriptorUtil;
@@ -61,47 +61,87 @@ public class PluginDeploymentScanner implements PluginDeploymentScannerMBean {
     /** what looks for new or changed agent plugins */
     private ServerPluginScanner serverPluginScanner = new ServerPluginScanner();
 
-    @NotNull
-    public Long getScanPeriod() {
-        return this.scanPeriod;
+    // https://issues.jboss.org/browse/AS7-5343 forces us to change the attribute values as Strings
+    // we then must convert ourselves.
+
+    //public Long getScanPeriod() {
+    public String getScanPeriod() {
+        //return this.scanPeriod;
+        return Long.toString(this.scanPeriod);
     }
 
-    public void setScanPeriod(@Nullable Long ms) {
+    //public void setScanPeriod(Long ms) {
+    public void setScanPeriod(String ms) {
         if (ms != null) {
-            this.scanPeriod = ms;
+            //this.scanPeriod = ms;
+            this.scanPeriod = Long.parseLong(StringPropertyReplacer.replaceProperties(ms));
         } else {
             this.scanPeriod = 300000L;
         }
     }
 
-    public File getUserPluginDir() {
-        return this.userPluginDir;
+    //public File getUserPluginDir() {
+    public String getUserPluginDir() {
+        //return this.userPluginDir;
+        return this.userPluginDir.getAbsolutePath();
     }
 
-    public void setUserPluginDir(File dir) {
-        this.userPluginDir = dir;
+    //public void setUserPluginDir(File dir) {
+    public void setUserPluginDir(String dir) {
+        if (dir == null) {
+            return;
+        }
+        //this.userPluginDir = dir;
+        this.userPluginDir = new File(StringPropertyReplacer.replaceProperties(dir));
     }
 
-    public File getServerPluginDir() {
-        return this.serverPluginScanner.getServerPluginDir();
+    //public File getServerPluginDir() {
+    public String getServerPluginDir() {
+        //return this.serverPluginScanner.getServerPluginDir();
+        return this.serverPluginScanner.getServerPluginDir().getAbsolutePath();
     }
 
-    public void setServerPluginDir(File dir) {
-        this.serverPluginScanner.setServerPluginDir(dir);
+    //public void setServerPluginDir(File dir) {
+    public void setServerPluginDir(String dir) {
+        if (dir == null) {
+            return;
+        }
+        //this.serverPluginScanner.setServerPluginDir(dir);
+        this.serverPluginScanner.setServerPluginDir(new File(StringPropertyReplacer.replaceProperties(dir)));
     }
 
-    public File getAgentPluginDir() {
-        return this.agentPluginScanner.getAgentPluginDeployer().getPluginDir();
+    //public File getAgentPluginDir() {
+    public String getAgentPluginDir() {
+        //return this.agentPluginScanner.getAgentPluginDeployer().getPluginDir();
+        return this.agentPluginScanner.getAgentPluginDeployer().getPluginDir().getAbsolutePath();
     }
 
-    public void setAgentPluginDir(File dir) {
-        this.agentPluginScanner.getAgentPluginDeployer().setPluginDir(dir);
+    //public void setAgentPluginDir(File dir) {
+    public void setAgentPluginDir(String dir) {
+        if (dir == null) {
+            return;
+        }
+        //this.agentPluginScanner.getAgentPluginDeployer().setPluginDir(dir);
+        this.agentPluginScanner.getAgentPluginDeployer().setPluginDir(
+            new File(StringPropertyReplacer.replaceProperties(dir)));
     }
 
     public PluginMetadataManager getPluginMetadataManager() {
         return this.agentPluginScanner.getAgentPluginDeployer().getPluginMetadataManager();
     }
 
+    private File getUserPluginDirAsFile() {
+        return this.userPluginDir;
+    }
+
+    private File getAgentPluginDirAsFile() {
+        return this.agentPluginScanner.getAgentPluginDeployer().getPluginDir();
+    }
+
+    private File getServerPluginDirAsFile() {
+        return this.serverPluginScanner.getServerPluginDir();
+    }
+
     public void start() throws Exception {
         // This will check to see if there are any agent plugin records in the database
         // that do not have content associated with them and if so, will stream
@@ -191,7 +231,7 @@ public class PluginDeploymentScanner implements PluginDeploymentScannerMBean {
      * in the server.
      */
     private void scanUserDirectory() {
-        File userDir = getUserPluginDir();
+        File userDir = getUserPluginDirAsFile(); // 
         if (userDir == null || !userDir.isDirectory()) {
             return; // not configured for a user directory, just return immediately and do nothing
         }
@@ -208,7 +248,7 @@ public class PluginDeploymentScanner implements PluginDeploymentScannerMBean {
                     if (!isJarLess && null == AgentPluginDescriptorUtil.loadPluginDescriptorFromUrl(file.toURI().toURL())) {
                         throw new NullPointerException("no xml descriptor found in jar");
                     }
-                    destinationDirectory = getAgentPluginDir();
+                    destinationDirectory = getAgentPluginDirAsFile(); //
                 } catch (Exception e) {
                     try {
                         log.debug("[" + file.getAbsolutePath() + "] is not an agent plugin jar (Cause: "
@@ -217,7 +257,7 @@ public class PluginDeploymentScanner implements PluginDeploymentScannerMBean {
                         if (null == ServerPluginDescriptorUtil.loadPluginDescriptorFromUrl(file.toURI().toURL())) {
                             throw new NullPointerException("no xml descriptor found in jar");
                         }
-                        destinationDirectory = getServerPluginDir();
+                        destinationDirectory = getServerPluginDirAsFile(); //
                     } catch (Exception e1) {
                         // skip it, doesn't look like a valid plugin jar
                         File fixmeFile = new File(file.getAbsolutePath() + ".fixme");
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/PluginDeploymentScannerMBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/PluginDeploymentScannerMBean.java
index e4bfdbb..8166f6a 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/PluginDeploymentScannerMBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/PluginDeploymentScannerMBean.java
@@ -18,8 +18,6 @@
  */
 package org.rhq.enterprise.server.core.plugin;
 
-import java.io.File;
-
 import javax.management.ObjectName;
 
 import org.rhq.core.clientapi.agent.metadata.PluginMetadataManager;
@@ -58,19 +56,23 @@ public interface PluginDeploymentScannerMBean {
      */
     void scanAndRegister() throws Exception;
 
+    // https://issues.jboss.org/browse/AS7-5343 forces us to change the attribute values as Strings
+
     /**
      * Sets the amount of time (in milliseconds) between scans.
      *
      * @param ms time in millis between each scans
      */
-    void setScanPeriod(Long ms);
+    //void setScanPeriod(Long ms);
+    void setScanPeriod(String ms);
 
     /**
      * Gets the amount of time (in milliseconds) between scans.
      *
      * @return the time in millis between each scans
      */
-    Long getScanPeriod();
+    //Long getScanPeriod();
+    String getScanPeriod();
 
     /**
      * Sets the directory where the user can place agent or server plugin jars.
@@ -79,7 +81,8 @@ public interface PluginDeploymentScannerMBean {
      *
      * @param name the name of the plugins dir where the user can copy plugins
      */
-    void setUserPluginDir(File name);
+    //void setUserPluginDir(File name);
+    void setUserPluginDir(String name);
 
     /**
      * Gets the directory name where the user can place agent or server plugin jars.
@@ -87,35 +90,40 @@ public interface PluginDeploymentScannerMBean {
      *
      * @return plugin directory name where the user puts plugins
      */
-    File getUserPluginDir();
+    //File getUserPluginDir();
+    String getUserPluginDir();
 
     /**
      * Sets the directory where the server plugin jars are located.
      *
      * @param name the name of the server plugins dir
      */
-    void setServerPluginDir(File name);
+    //void setServerPluginDir(File name);
+    void setServerPluginDir(String name);
 
     /**
      * Gets the directory name where the server plugin jars are located.
      *
      * @return server plugin directory name
      */
-    File getServerPluginDir();
+    //File getServerPluginDir();
+    String getServerPluginDir();
 
     /**
      * Sets the directory where the agent plugin jars are located.
      *
      * @param name the name of the agent plugins dir
      */
-    void setAgentPluginDir(File name);
+    //void setAgentPluginDir(File name);
+    void setAgentPluginDir(String name);
 
     /**
      * Gets the directory name where the agent plugin jars are located.
      *
      * @return agent plugin directory name
      */
-    File getAgentPluginDir();
+    //File getAgentPluginDir();
+    String getAgentPluginDir();
 
     /**
      * Returns the object that is managing the plugin metadata and types built from that metadata.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
index 09563df..41eadc6 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
@@ -309,7 +309,7 @@ public class PluginManagerBean implements PluginManagerLocal {
 
     @Override
     public File getPluginDropboxDirectory() {
-        File dir = LookupUtil.getPluginDeploymentScanner().getUserPluginDir();
+        File dir = new File(LookupUtil.getPluginDeploymentScanner().getUserPluginDir());
         return dir;
     }
 
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/core/plugin/DatabaseAndFilePluginDeploymentTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/core/plugin/DatabaseAndFilePluginDeploymentTest.java
index b8b426e..4a6a241 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/core/plugin/DatabaseAndFilePluginDeploymentTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/core/plugin/DatabaseAndFilePluginDeploymentTest.java
@@ -504,7 +504,7 @@ public class DatabaseAndFilePluginDeploymentTest extends AbstractEJB3Test {
     private PluginDeploymentScanner createScanner() throws Exception {
         PluginDeploymentScanner scanner = new PluginDeploymentScanner();
         File pluginDirectoryFile = new File(DEPLOY_LOCATION);
-        scanner.setAgentPluginDir(pluginDirectoryFile);
+        scanner.setAgentPluginDir(pluginDirectoryFile.getAbsolutePath());
         return scanner;
     }
 
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java
index 6f1979e..624793c 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java
@@ -94,9 +94,9 @@ public class PluginScanningExtensionMetadataTest extends MetadataBeanTest {
             } catch (Exception e) {
                 throw new RuntimeException("Cannot determine where to put the plugin jar files", e);
             }
-            this.pluginScanner.setAgentPluginDir(new File(pluginDirPath)); // we don't want to scan for these
+            this.pluginScanner.setAgentPluginDir(pluginDirPath); // we don't want to scan for these
             this.pluginScanner.setServerPluginDir(null); // we don't want to scan for these
-            this.pluginScanner.setScanPeriod(9999999L); // we want to manually scan - don't allow for auto-scan to happen
+            this.pluginScanner.setScanPeriod("9999999"); // we want to manually scan - don't allow for auto-scan to happen
         }
         super.preparePluginScannerService(this.pluginScanner);
 




More information about the rhq-commits mailing list