You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by hu...@apache.org on 2013/01/14 17:15:58 UTC
[12/50] git commit: PluggableService: Refactor method to return map
of key value pairs
PluggableService: Refactor method to return map of key value pairs
- Makes plugins self contained so they decide their properties file format
- PluggableService creates the contract that implementing entity will return a
properties map which is apiname:rolemask (both are strings)
Signed-off-by: Rohit Yadav <bh...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/c4e890c5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/c4e890c5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/c4e890c5
Branch: refs/heads/cloud-agent-with-openvswitch
Commit: c4e890c55d4b106934ff3588adfbbf5a12f48d1e
Parents: a56f355
Author: Rohit Yadav <bh...@apache.org>
Authored: Thu Jan 10 15:43:44 2013 -0800
Committer: Rohit Yadav <bh...@apache.org>
Committed: Thu Jan 10 15:55:02 2013 -0800
----------------------------------------------------------------------
.../server/ManagementServerSimulatorImpl.java | 18 +++++++-------
.../network/element/CiscoNexusVSMElement.java | 7 ++++-
.../element/F5ExternalLoadBalancerElement.java | 7 ++++-
.../element/JuniperSRXExternalFirewallElement.java | 7 ++++-
.../cloud/network/element/NetscalerElement.java | 6 +++-
.../cloud/network/element/NiciraNvpElement.java | 6 +++-
.../network/element/VirtualRouterElement.java | 6 +++-
.../com/cloud/server/ManagementServerExtImpl.java | 6 +++-
.../src/com/cloud/server/ManagementServerImpl.java | 5 ++-
.../cloud/utils/component/PluggableService.java | 4 ++-
10 files changed, 46 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c4e890c5/plugins/hypervisors/simulator/src/com/cloud/server/ManagementServerSimulatorImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/server/ManagementServerSimulatorImpl.java b/plugins/hypervisors/simulator/src/com/cloud/server/ManagementServerSimulatorImpl.java
index ad42c23..44ab26a 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/server/ManagementServerSimulatorImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/server/ManagementServerSimulatorImpl.java
@@ -17,16 +17,16 @@
package com.cloud.server;
+import com.cloud.utils.PropertiesUtil;
+
+import java.util.Map;
+
public class ManagementServerSimulatorImpl extends ManagementServerExtImpl {
@Override
- public String[] getPropertiesFiles() {
- String[] apis = super.getPropertiesFiles();
- String[] newapis = new String[apis.length + 1];
- for (int i = 0; i < apis.length; i++) {
- newapis[i] = apis[i];
- }
-
- newapis[apis.length] = "commands-simulator.properties";
- return newapis;
+ public Map<String, String> getProperties() {
+ Map<String, String> apiNameRoleMaskMapping = super.getProperties();
+ apiNameRoleMaskMapping.putAll(PropertiesUtil.processConfigFile(new String[]
+ {"commands-simulator.properties"}));
+ return apiNameRoleMaskMapping;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c4e890c5/plugins/hypervisors/vmware/src/com/cloud/network/element/CiscoNexusVSMElement.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/network/element/CiscoNexusVSMElement.java b/plugins/hypervisors/vmware/src/com/cloud/network/element/CiscoNexusVSMElement.java
index 911078e..2cf8787 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/network/element/CiscoNexusVSMElement.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/network/element/CiscoNexusVSMElement.java
@@ -17,6 +17,7 @@
package com.cloud.network.element;
+import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.ArrayList;
@@ -24,6 +25,7 @@ import java.util.Set;
import javax.ejb.Local;
+import com.cloud.utils.PropertiesUtil;
import org.apache.log4j.Logger;
import com.cloud.api.commands.DeleteCiscoNexusVSMCmd;
@@ -237,7 +239,8 @@ public class CiscoNexusVSMElement extends CiscoNexusVSMDeviceManagerImpl impleme
}
@Override
- public String[] getPropertiesFiles() {
- return new String[] { "cisconexusvsm_commands.properties" };
+ public Map<String, String> getProperties() {
+ return PropertiesUtil.processConfigFile(new String[]
+ { "cisconexusvsm_commands.properties" });
}
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c4e890c5/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
index 335dc6e..438498f 100644
--- a/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
+++ b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
@@ -16,6 +16,7 @@
// under the License.
package com.cloud.network.element;
+import java.lang.String;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -24,6 +25,7 @@ import java.util.Set;
import javax.ejb.Local;
+import com.cloud.utils.PropertiesUtil;
import org.apache.log4j.Logger;
import com.cloud.api.ApiDBUtils;
@@ -260,8 +262,9 @@ public class F5ExternalLoadBalancerElement extends ExternalLoadBalancerDeviceMan
}
@Override
- public String[] getPropertiesFiles() {
- return new String[] { "f5bigip_commands.properties" };
+ public Map<String, String> getProperties() {
+ return PropertiesUtil.processConfigFile(new String[]
+ { "f5bigip_commands.properties" });
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c4e890c5/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java b/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
index f491e66..55722ae 100644
--- a/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
+++ b/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
@@ -16,6 +16,7 @@
// under the License.
package com.cloud.network.element;
+import java.lang.String;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -24,6 +25,7 @@ import java.util.Set;
import javax.ejb.Local;
+import com.cloud.utils.PropertiesUtil;
import org.apache.log4j.Logger;
import com.cloud.api.ApiDBUtils;
@@ -402,8 +404,9 @@ public class JuniperSRXExternalFirewallElement extends ExternalFirewallDeviceMan
}
@Override
- public String[] getPropertiesFiles() {
- return new String[] { "junipersrx_commands.properties"};
+ public Map<String, String> getProperties() {
+ return PropertiesUtil.processConfigFile(new String[]
+ { "junipersrx_commands.properties"});
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c4e890c5/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
index b1fe949..ac1619e 100644
--- a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
+++ b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
@@ -26,6 +26,7 @@ import java.util.Set;
import javax.ejb.Local;
+import com.cloud.utils.PropertiesUtil;
import org.apache.log4j.Logger;
import com.cloud.agent.AgentManager;
@@ -464,8 +465,9 @@ StaticNatServiceProvider {
}
@Override
- public String[] getPropertiesFiles() {
- return new String[] { "netscalerloadbalancer_commands.properties" };
+ public Map<String, String> getProperties() {
+ return PropertiesUtil.processConfigFile(new String[]
+ { "netscalerloadbalancer_commands.properties" });
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c4e890c5/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java b/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
index cc53ee1..22fab50 100644
--- a/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
+++ b/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
@@ -27,6 +27,7 @@ import java.util.UUID;
import javax.ejb.Local;
import javax.naming.ConfigurationException;
+import com.cloud.utils.PropertiesUtil;
import org.apache.log4j.Logger;
import com.cloud.agent.AgentManager;
@@ -540,8 +541,9 @@ public class NiciraNvpElement extends AdapterBase implements
}
@Override
- public String[] getPropertiesFiles() {
- return new String[] { "nicira-nvp_commands.properties" };
+ public Map<String, String> getProperties() {
+ return PropertiesUtil.processConfigFile(new String[]
+ { "nicira-nvp_commands.properties" });
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c4e890c5/server/src/com/cloud/network/element/VirtualRouterElement.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java
index b5b8b1a..823b74f 100755
--- a/server/src/com/cloud/network/element/VirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VirtualRouterElement.java
@@ -24,6 +24,7 @@ import java.util.Set;
import javax.ejb.Local;
+import com.cloud.utils.PropertiesUtil;
import org.apache.cloudstack.api.command.admin.router.ConfigureVirtualRouterElementCmd;
import org.apache.cloudstack.api.command.admin.router.ListVirtualRouterElementsCmd;
import org.apache.log4j.Logger;
@@ -680,8 +681,9 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
}
@Override
- public String[] getPropertiesFiles() {
- return new String[] { "virtualrouter_commands.properties" };
+ public Map<String, String> getProperties() {
+ return PropertiesUtil.processConfigFile(new String[]
+ { "virtualrouter_commands.properties" });
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c4e890c5/server/src/com/cloud/server/ManagementServerExtImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/server/ManagementServerExtImpl.java b/server/src/com/cloud/server/ManagementServerExtImpl.java
index b732027..8a59d2f 100644
--- a/server/src/com/cloud/server/ManagementServerExtImpl.java
+++ b/server/src/com/cloud/server/ManagementServerExtImpl.java
@@ -29,6 +29,7 @@ import com.cloud.domain.dao.DomainDao;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.exception.PermissionDeniedException;
import com.cloud.projects.Project;
+import com.cloud.utils.PropertiesUtil;
import org.apache.cloudstack.api.response.UsageTypeResponse;
import com.cloud.usage.UsageJobVO;
import com.cloud.usage.UsageTypes;
@@ -206,8 +207,9 @@ public class ManagementServerExtImpl extends ManagementServerImpl implements Man
}
@Override
- public String[] getPropertiesFiles() {
- return new String[] { "commands.properties", "commands-ext.properties" };
+ public Map<String, String> getProperties() {
+ return PropertiesUtil.processConfigFile(new String[]
+ { "commands.properties", "commands-ext.properties" });
}
private Date computeAdjustedTime(Date initialDate, TimeZone targetTZ, boolean adjustToDayStart) {
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c4e890c5/server/src/com/cloud/server/ManagementServerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java
index dcecaf4..3e0f6ef 100755
--- a/server/src/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/com/cloud/server/ManagementServerImpl.java
@@ -2297,8 +2297,9 @@ public class ManagementServerImpl implements ManagementServer {
}
@Override
- public String[] getPropertiesFiles() {
- return new String[] { "commands.properties" };
+ public Map<String, String> getProperties() {
+ return PropertiesUtil.processConfigFile(new String[]
+ { "commands.properties" });
}
protected class EventPurgeTask implements Runnable {
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c4e890c5/utils/src/com/cloud/utils/component/PluggableService.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/component/PluggableService.java b/utils/src/com/cloud/utils/component/PluggableService.java
index d219939..f6f72a9 100644
--- a/utils/src/com/cloud/utils/component/PluggableService.java
+++ b/utils/src/com/cloud/utils/component/PluggableService.java
@@ -16,9 +16,11 @@
// under the License.
package com.cloud.utils.component;
+import java.util.Map;
+
// This interface defines methods for pluggable code within the Cloud Stack.
public interface PluggableService {
// The config command properties filenames that lists allowed API commands
// and role masks supported by this pluggable service
- String[] getPropertiesFiles();
+ Map<String, String> getProperties();
}