mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
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 <bhaisaab@apache.org>
This commit is contained in:
parent
a56f355ceb
commit
c4e890c55d
@ -17,16 +17,16 @@
|
|||||||
package com.cloud.server;
|
package com.cloud.server;
|
||||||
|
|
||||||
|
|
||||||
|
import com.cloud.utils.PropertiesUtil;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class ManagementServerSimulatorImpl extends ManagementServerExtImpl {
|
public class ManagementServerSimulatorImpl extends ManagementServerExtImpl {
|
||||||
@Override
|
@Override
|
||||||
public String[] getPropertiesFiles() {
|
public Map<String, String> getProperties() {
|
||||||
String[] apis = super.getPropertiesFiles();
|
Map<String, String> apiNameRoleMaskMapping = super.getProperties();
|
||||||
String[] newapis = new String[apis.length + 1];
|
apiNameRoleMaskMapping.putAll(PropertiesUtil.processConfigFile(new String[]
|
||||||
for (int i = 0; i < apis.length; i++) {
|
{"commands-simulator.properties"}));
|
||||||
newapis[i] = apis[i];
|
return apiNameRoleMaskMapping;
|
||||||
}
|
|
||||||
|
|
||||||
newapis[apis.length] = "commands-simulator.properties";
|
|
||||||
return newapis;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
package com.cloud.network.element;
|
package com.cloud.network.element;
|
||||||
|
|
||||||
|
import java.lang.String;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -24,6 +25,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
|
||||||
|
import com.cloud.utils.PropertiesUtil;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.api.commands.DeleteCiscoNexusVSMCmd;
|
import com.cloud.api.commands.DeleteCiscoNexusVSMCmd;
|
||||||
@ -237,7 +239,8 @@ public class CiscoNexusVSMElement extends CiscoNexusVSMDeviceManagerImpl impleme
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getPropertiesFiles() {
|
public Map<String, String> getProperties() {
|
||||||
return new String[] { "cisconexusvsm_commands.properties" };
|
return PropertiesUtil.processConfigFile(new String[]
|
||||||
|
{ "cisconexusvsm_commands.properties" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,6 +16,7 @@
|
|||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.network.element;
|
package com.cloud.network.element;
|
||||||
|
|
||||||
|
import java.lang.String;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -24,6 +25,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
|
||||||
|
import com.cloud.utils.PropertiesUtil;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.api.ApiDBUtils;
|
import com.cloud.api.ApiDBUtils;
|
||||||
@ -260,8 +262,9 @@ public class F5ExternalLoadBalancerElement extends ExternalLoadBalancerDeviceMan
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getPropertiesFiles() {
|
public Map<String, String> getProperties() {
|
||||||
return new String[] { "f5bigip_commands.properties" };
|
return PropertiesUtil.processConfigFile(new String[]
|
||||||
|
{ "f5bigip_commands.properties" });
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -16,6 +16,7 @@
|
|||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.network.element;
|
package com.cloud.network.element;
|
||||||
|
|
||||||
|
import java.lang.String;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -24,6 +25,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
|
||||||
|
import com.cloud.utils.PropertiesUtil;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.api.ApiDBUtils;
|
import com.cloud.api.ApiDBUtils;
|
||||||
@ -402,8 +404,9 @@ public class JuniperSRXExternalFirewallElement extends ExternalFirewallDeviceMan
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getPropertiesFiles() {
|
public Map<String, String> getProperties() {
|
||||||
return new String[] { "junipersrx_commands.properties"};
|
return PropertiesUtil.processConfigFile(new String[]
|
||||||
|
{ "junipersrx_commands.properties"});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -26,6 +26,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
|
||||||
|
import com.cloud.utils.PropertiesUtil;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.agent.AgentManager;
|
import com.cloud.agent.AgentManager;
|
||||||
@ -464,8 +465,9 @@ StaticNatServiceProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getPropertiesFiles() {
|
public Map<String, String> getProperties() {
|
||||||
return new String[] { "netscalerloadbalancer_commands.properties" };
|
return PropertiesUtil.processConfigFile(new String[]
|
||||||
|
{ "netscalerloadbalancer_commands.properties" });
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -27,6 +27,7 @@ import java.util.UUID;
|
|||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
|
import com.cloud.utils.PropertiesUtil;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.agent.AgentManager;
|
import com.cloud.agent.AgentManager;
|
||||||
@ -540,8 +541,9 @@ public class NiciraNvpElement extends AdapterBase implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getPropertiesFiles() {
|
public Map<String, String> getProperties() {
|
||||||
return new String[] { "nicira-nvp_commands.properties" };
|
return PropertiesUtil.processConfigFile(new String[]
|
||||||
|
{ "nicira-nvp_commands.properties" });
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
import javax.ejb.Local;
|
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.ConfigureVirtualRouterElementCmd;
|
||||||
import org.apache.cloudstack.api.command.admin.router.ListVirtualRouterElementsCmd;
|
import org.apache.cloudstack.api.command.admin.router.ListVirtualRouterElementsCmd;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
@ -680,8 +681,9 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getPropertiesFiles() {
|
public Map<String, String> getProperties() {
|
||||||
return new String[] { "virtualrouter_commands.properties" };
|
return PropertiesUtil.processConfigFile(new String[]
|
||||||
|
{ "virtualrouter_commands.properties" });
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -29,6 +29,7 @@ import com.cloud.domain.dao.DomainDao;
|
|||||||
import com.cloud.exception.InvalidParameterValueException;
|
import com.cloud.exception.InvalidParameterValueException;
|
||||||
import com.cloud.exception.PermissionDeniedException;
|
import com.cloud.exception.PermissionDeniedException;
|
||||||
import com.cloud.projects.Project;
|
import com.cloud.projects.Project;
|
||||||
|
import com.cloud.utils.PropertiesUtil;
|
||||||
import org.apache.cloudstack.api.response.UsageTypeResponse;
|
import org.apache.cloudstack.api.response.UsageTypeResponse;
|
||||||
import com.cloud.usage.UsageJobVO;
|
import com.cloud.usage.UsageJobVO;
|
||||||
import com.cloud.usage.UsageTypes;
|
import com.cloud.usage.UsageTypes;
|
||||||
@ -206,8 +207,9 @@ public class ManagementServerExtImpl extends ManagementServerImpl implements Man
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getPropertiesFiles() {
|
public Map<String, String> getProperties() {
|
||||||
return new String[] { "commands.properties", "commands-ext.properties" };
|
return PropertiesUtil.processConfigFile(new String[]
|
||||||
|
{ "commands.properties", "commands-ext.properties" });
|
||||||
}
|
}
|
||||||
|
|
||||||
private Date computeAdjustedTime(Date initialDate, TimeZone targetTZ, boolean adjustToDayStart) {
|
private Date computeAdjustedTime(Date initialDate, TimeZone targetTZ, boolean adjustToDayStart) {
|
||||||
|
|||||||
@ -2297,8 +2297,9 @@ public class ManagementServerImpl implements ManagementServer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getPropertiesFiles() {
|
public Map<String, String> getProperties() {
|
||||||
return new String[] { "commands.properties" };
|
return PropertiesUtil.processConfigFile(new String[]
|
||||||
|
{ "commands.properties" });
|
||||||
}
|
}
|
||||||
|
|
||||||
protected class EventPurgeTask implements Runnable {
|
protected class EventPurgeTask implements Runnable {
|
||||||
|
|||||||
@ -16,9 +16,11 @@
|
|||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.utils.component;
|
package com.cloud.utils.component;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
// This interface defines methods for pluggable code within the Cloud Stack.
|
// This interface defines methods for pluggable code within the Cloud Stack.
|
||||||
public interface PluggableService {
|
public interface PluggableService {
|
||||||
// The config command properties filenames that lists allowed API commands
|
// The config command properties filenames that lists allowed API commands
|
||||||
// and role masks supported by this pluggable service
|
// and role masks supported by this pluggable service
|
||||||
String[] getPropertiesFiles();
|
Map<String, String> getProperties();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user