From 555211a080042db8b26b13cc0f594939f74f18e9 Mon Sep 17 00:00:00 2001 From: Alex Huang Date: Thu, 25 Jul 2013 03:57:12 -0700 Subject: [PATCH] Moved Configuration from api to utils and moved the package. This was done by eclipse so I only ran the unit test to verify everything is fine --- .../cloud/configuration/Configuration.java | 33 ------------------- .../configuration/ConfigurationService.java | 3 ++ api/src/com/cloud/event/EventTypes.java | 3 +- .../com/cloud/server/ManagementService.java | 5 ++- .../cloudstack/api/ResponseGenerator.java | 4 ++- .../command/admin/config/ListCfgsByCmd.java | 3 +- .../command/admin/config/UpdateCfgCmd.java | 3 +- .../api/command/test/ListCfgCmdTest.java | 5 ++- .../api/command/test/UpdateCfgCmdTest.java | 5 ++- .../cloud/configuration/ConfigurationVO.java | 2 ++ .../src/com/cloud/api/ApiResponseHelper.java | 2 +- .../ConfigurationManagerImpl.java | 18 +++++++--- .../cloud/server/ManagementServerImpl.java | 2 +- .../servlet/RegisterCompleteServlet.java | 3 +- .../vpc/MockConfigurationManagerImpl.java | 6 +++- .../ChildTestConfiguration.java | 6 ++++ 16 files changed, 55 insertions(+), 48 deletions(-) delete mode 100644 api/src/com/cloud/configuration/Configuration.java diff --git a/api/src/com/cloud/configuration/Configuration.java b/api/src/com/cloud/configuration/Configuration.java deleted file mode 100644 index f148c0baff9..00000000000 --- a/api/src/com/cloud/configuration/Configuration.java +++ /dev/null @@ -1,33 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. -package com.cloud.configuration; - -public interface Configuration { - - public String getCategory(); - - public String getInstance(); - - public String getComponent(); - - public String getName(); - - public String getValue(); - - public String getDescription(); - -} diff --git a/api/src/com/cloud/configuration/ConfigurationService.java b/api/src/com/cloud/configuration/ConfigurationService.java index 381fcad95cc..1af48677101 100644 --- a/api/src/com/cloud/configuration/ConfigurationService.java +++ b/api/src/com/cloud/configuration/ConfigurationService.java @@ -25,6 +25,7 @@ import com.cloud.exception.InsufficientCapacityException; import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.exception.ResourceAllocationException; + import org.apache.cloudstack.api.command.admin.config.UpdateCfgCmd; import org.apache.cloudstack.api.command.admin.ldap.LDAPConfigCmd; import org.apache.cloudstack.api.command.admin.ldap.LDAPRemoveCmd; @@ -50,6 +51,7 @@ import org.apache.cloudstack.api.command.admin.zone.CreateZoneCmd; import org.apache.cloudstack.api.command.admin.zone.DeleteZoneCmd; import org.apache.cloudstack.api.command.admin.zone.UpdateZoneCmd; import org.apache.cloudstack.api.command.user.network.ListNetworkOfferingsCmd; +import org.apache.cloudstack.config.Configuration; import com.cloud.dc.DataCenter; import com.cloud.dc.Pod; @@ -59,6 +61,7 @@ import com.cloud.offering.DiskOffering; import com.cloud.offering.NetworkOffering; import com.cloud.offering.ServiceOffering; import com.cloud.user.Account; + import org.apache.cloudstack.region.PortableIp; import org.apache.cloudstack.region.PortableIpRange; diff --git a/api/src/com/cloud/event/EventTypes.java b/api/src/com/cloud/event/EventTypes.java index ca764e9e1d6..df76f8e853b 100755 --- a/api/src/com/cloud/event/EventTypes.java +++ b/api/src/com/cloud/event/EventTypes.java @@ -19,7 +19,8 @@ package com.cloud.event; import java.util.HashMap; import java.util.Map; -import com.cloud.configuration.Configuration; +import org.apache.cloudstack.config.Configuration; + import com.cloud.dc.DataCenter; import com.cloud.dc.Pod; import com.cloud.dc.StorageNetworkIpRange; diff --git a/api/src/com/cloud/server/ManagementService.java b/api/src/com/cloud/server/ManagementService.java index 7591ab19ca6..ed465899a74 100755 --- a/api/src/com/cloud/server/ManagementService.java +++ b/api/src/com/cloud/server/ManagementService.java @@ -19,7 +19,9 @@ package com.cloud.server; import java.util.ArrayList; import java.util.List; import java.util.Map; + import com.cloud.exception.*; + import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.command.admin.cluster.ListClustersCmd; import org.apache.cloudstack.api.command.admin.config.ListCfgsByCmd; @@ -46,9 +48,10 @@ import org.apache.cloudstack.api.command.user.ssh.ListSSHKeyPairsCmd; import org.apache.cloudstack.api.command.user.ssh.RegisterSSHKeyPairCmd; import org.apache.cloudstack.api.command.user.vm.GetVMPasswordCmd; import org.apache.cloudstack.api.command.user.vmgroup.UpdateVMGroupCmd; +import org.apache.cloudstack.config.Configuration; + import com.cloud.alert.Alert; import com.cloud.capacity.Capacity; -import com.cloud.configuration.Configuration; import com.cloud.dc.Pod; import com.cloud.dc.Vlan; import com.cloud.domain.Domain; diff --git a/api/src/org/apache/cloudstack/api/ResponseGenerator.java b/api/src/org/apache/cloudstack/api/ResponseGenerator.java index d8d07cb56fb..500d700e5a9 100644 --- a/api/src/org/apache/cloudstack/api/ResponseGenerator.java +++ b/api/src/org/apache/cloudstack/api/ResponseGenerator.java @@ -18,7 +18,6 @@ package org.apache.cloudstack.api; import com.cloud.async.AsyncJob; import com.cloud.capacity.Capacity; -import com.cloud.configuration.Configuration; import com.cloud.configuration.ResourceCount; import com.cloud.configuration.ResourceLimit; import com.cloud.dc.DataCenter; @@ -91,6 +90,7 @@ import com.cloud.vm.Nic; import com.cloud.vm.NicSecondaryIp; import com.cloud.vm.VirtualMachine; import com.cloud.vm.snapshot.VMSnapshot; + import org.apache.cloudstack.affinity.AffinityGroup; import org.apache.cloudstack.affinity.AffinityGroupResponse; import org.apache.cloudstack.api.ApiConstants.HostDetails; @@ -182,6 +182,7 @@ import org.apache.cloudstack.api.response.VpcOfferingResponse; import org.apache.cloudstack.api.response.VpcResponse; import org.apache.cloudstack.api.response.VpnUsersResponse; import org.apache.cloudstack.api.response.ZoneResponse; +import org.apache.cloudstack.config.Configuration; import org.apache.cloudstack.network.lb.ApplicationLoadBalancerRule; import org.apache.cloudstack.region.PortableIp; import org.apache.cloudstack.region.PortableIpRange; @@ -189,6 +190,7 @@ import org.apache.cloudstack.region.Region; import org.apache.cloudstack.usage.Usage; import com.cloud.storage.ImageStore; + import java.text.DecimalFormat; import java.util.EnumSet; import java.util.List; diff --git a/api/src/org/apache/cloudstack/api/command/admin/config/ListCfgsByCmd.java b/api/src/org/apache/cloudstack/api/command/admin/config/ListCfgsByCmd.java index dce87c3d818..bf80437f094 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/config/ListCfgsByCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/config/ListCfgsByCmd.java @@ -24,9 +24,10 @@ import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.BaseListCmd; import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.response.*; +import org.apache.cloudstack.config.Configuration; + import org.apache.log4j.Logger; -import com.cloud.configuration.Configuration; import com.cloud.utils.Pair; @APICommand(name = "listConfigurations", description = "Lists all configurations.", responseObject = ConfigurationResponse.class) diff --git a/api/src/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java b/api/src/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java index deb61d3741d..3ebf804d4ac 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java @@ -23,9 +23,10 @@ import org.apache.cloudstack.api.BaseCmd; import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.response.*; +import org.apache.cloudstack.config.Configuration; + import org.apache.log4j.Logger; -import com.cloud.configuration.Configuration; import com.cloud.user.Account; @APICommand(name = "updateConfiguration", description="Updates a configuration.", responseObject=ConfigurationResponse.class) diff --git a/api/test/org/apache/cloudstack/api/command/test/ListCfgCmdTest.java b/api/test/org/apache/cloudstack/api/command/test/ListCfgCmdTest.java index 7c05eaf5a8d..230a6c0b376 100644 --- a/api/test/org/apache/cloudstack/api/command/test/ListCfgCmdTest.java +++ b/api/test/org/apache/cloudstack/api/command/test/ListCfgCmdTest.java @@ -16,19 +16,22 @@ // under the License. package org.apache.cloudstack.api.command.test; -import com.cloud.configuration.Configuration; import com.cloud.configuration.ConfigurationService; import com.cloud.exception.InvalidParameterValueException; import com.cloud.resource.ResourceService; import com.cloud.server.ManagementService; import com.cloud.utils.Pair; + import junit.framework.Assert; import junit.framework.TestCase; + import org.apache.cloudstack.api.ResponseGenerator; import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.command.admin.config.ListCfgsByCmd; import org.apache.cloudstack.api.response.ConfigurationResponse; import org.apache.cloudstack.api.response.ListResponse; +import org.apache.cloudstack.config.Configuration; + import org.junit.Before; import org.junit.Rule; import org.junit.Test; diff --git a/api/test/org/apache/cloudstack/api/command/test/UpdateCfgCmdTest.java b/api/test/org/apache/cloudstack/api/command/test/UpdateCfgCmdTest.java index 27000cf1770..a31b7c36a60 100644 --- a/api/test/org/apache/cloudstack/api/command/test/UpdateCfgCmdTest.java +++ b/api/test/org/apache/cloudstack/api/command/test/UpdateCfgCmdTest.java @@ -16,16 +16,19 @@ // under the License. package org.apache.cloudstack.api.command.test; -import com.cloud.configuration.Configuration; import com.cloud.configuration.ConfigurationService; import com.cloud.exception.InvalidParameterValueException; import com.cloud.resource.ResourceService; + import junit.framework.Assert; import junit.framework.TestCase; + import org.apache.cloudstack.api.ResponseGenerator; import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.command.admin.config.UpdateCfgCmd; import org.apache.cloudstack.api.response.ConfigurationResponse; +import org.apache.cloudstack.config.Configuration; + import org.junit.Before; import org.junit.Rule; import org.junit.Test; diff --git a/engine/schema/src/com/cloud/configuration/ConfigurationVO.java b/engine/schema/src/com/cloud/configuration/ConfigurationVO.java index 6cd87b0da15..ac499b8bfdb 100644 --- a/engine/schema/src/com/cloud/configuration/ConfigurationVO.java +++ b/engine/schema/src/com/cloud/configuration/ConfigurationVO.java @@ -21,6 +21,8 @@ import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; +import org.apache.cloudstack.config.Configuration; + import com.cloud.utils.crypt.DBEncryptionUtil; @Entity diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index e49e169efc2..60d535e9c4f 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -133,6 +133,7 @@ import org.apache.cloudstack.api.response.VpcOfferingResponse; import org.apache.cloudstack.api.response.VpcResponse; import org.apache.cloudstack.api.response.VpnUsersResponse; import org.apache.cloudstack.api.response.ZoneResponse; +import org.apache.cloudstack.config.Configuration; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.network.lb.ApplicationLoadBalancerRule; import org.apache.cloudstack.region.PortableIp; @@ -173,7 +174,6 @@ import com.cloud.async.AsyncJob; import com.cloud.capacity.Capacity; import com.cloud.capacity.CapacityVO; import com.cloud.capacity.dao.CapacityDaoImpl.SummedCapacity; -import com.cloud.configuration.Configuration; import com.cloud.configuration.Resource.ResourceOwnerType; import com.cloud.configuration.Resource.ResourceType; import com.cloud.configuration.ResourceCount; diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index b2dedb3681f..6c32c556597 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -69,6 +69,10 @@ import org.apache.cloudstack.api.command.admin.zone.CreateZoneCmd; import org.apache.cloudstack.api.command.admin.zone.DeleteZoneCmd; import org.apache.cloudstack.api.command.admin.zone.UpdateZoneCmd; import org.apache.cloudstack.api.command.user.network.ListNetworkOfferingsCmd; +import org.apache.cloudstack.config.ConfigDepot; +import org.apache.cloudstack.config.ConfigKey; +import org.apache.cloudstack.config.ConfigValue; +import org.apache.cloudstack.config.Configuration; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.region.PortableIp; @@ -130,7 +134,6 @@ import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceAllocationException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.hypervisor.Hypervisor.HypervisorType; -import com.cloud.network.IpAddress; import com.cloud.network.Network; import com.cloud.network.Network.Capability; import com.cloud.network.Network.GuestType; @@ -151,7 +154,6 @@ import com.cloud.network.dao.PhysicalNetworkDao; import com.cloud.network.dao.PhysicalNetworkTrafficTypeDao; import com.cloud.network.dao.PhysicalNetworkTrafficTypeVO; import com.cloud.network.dao.PhysicalNetworkVO; -import com.cloud.network.element.DhcpServiceProvider; import com.cloud.network.rules.LoadBalancerContainer.Scheme; import com.cloud.network.vpc.VpcManager; import com.cloud.offering.DiskOffering; @@ -190,6 +192,7 @@ import com.cloud.utils.StringUtils; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.crypt.DBEncryptionUtil; import com.cloud.utils.db.DB; +import com.cloud.utils.db.EntityManager; import com.cloud.utils.db.Filter; import com.cloud.utils.db.GlobalLock; import com.cloud.utils.db.SearchCriteria; @@ -207,9 +210,11 @@ import edu.emory.mathcs.backport.java.util.Arrays; @Component @Local(value = { ConfigurationManager.class, ConfigurationService.class }) -public class ConfigurationManagerImpl extends ManagerBase implements ConfigurationManager, ConfigurationService { +public class ConfigurationManagerImpl extends ManagerBase implements ConfigurationManager, ConfigurationService, ConfigDepot { public static final Logger s_logger = Logger.getLogger(ConfigurationManagerImpl.class.getName()); + @Inject + EntityManager _entityMgr; @Inject ConfigurationDao _configDao; @Inject @@ -3055,7 +3060,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati //extend IP range if (!vlanGateway.equals(otherVlanGateway) || !vlanNetmask.equals(vlan.getVlanNetmask())) { - throw new InvalidParameterValueException("The IP range has already been added with gateway " + throw new InvalidParameterValueException("The IP range has already been added with gateway " + otherVlanGateway + " ,and netmask " + otherVlanNetmask + ", Please specify the gateway/netmask if you want to extend ip range" ); } @@ -5124,4 +5129,9 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } return false; } + + @Override + public ConfigValue get(ConfigKey config) { + return new ConfigValue(_entityMgr, config); + } } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 7ac12547090..831de3a4f22 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -419,6 +419,7 @@ import org.apache.cloudstack.api.command.user.vpn.RemoveVpnUserCmd; import org.apache.cloudstack.api.command.user.vpn.ResetVpnConnectionCmd; import org.apache.cloudstack.api.command.user.vpn.UpdateVpnCustomerGatewayCmd; import org.apache.cloudstack.api.command.user.zone.ListZonesByCmd; +import org.apache.cloudstack.config.Configuration; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator; @@ -442,7 +443,6 @@ import com.cloud.capacity.dao.CapacityDao; import com.cloud.capacity.dao.CapacityDaoImpl.SummedCapacity; import com.cloud.cluster.ClusterManager; import com.cloud.configuration.Config; -import com.cloud.configuration.Configuration; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.ConfigurationVO; import com.cloud.configuration.dao.ConfigurationDao; diff --git a/server/src/com/cloud/servlet/RegisterCompleteServlet.java b/server/src/com/cloud/servlet/RegisterCompleteServlet.java index 702b6173b87..04c5ea9c325 100644 --- a/server/src/com/cloud/servlet/RegisterCompleteServlet.java +++ b/server/src/com/cloud/servlet/RegisterCompleteServlet.java @@ -30,7 +30,8 @@ import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.springframework.web.context.support.SpringBeanAutowiringSupport; -import com.cloud.configuration.Configuration; +import org.apache.cloudstack.config.Configuration; + import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.user.Account; import com.cloud.user.AccountService; diff --git a/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java b/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java index 80b9e231561..840f539e1ca 100755 --- a/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java +++ b/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java @@ -52,9 +52,9 @@ import org.apache.cloudstack.api.command.admin.zone.UpdateZoneCmd; import org.apache.cloudstack.api.command.user.network.ListNetworkOfferingsCmd; import org.apache.cloudstack.region.PortableIp; import org.apache.cloudstack.region.PortableIpRange; + import org.springframework.stereotype.Component; -import com.cloud.configuration.Configuration; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.ConfigurationService; import com.cloud.dc.ClusterVO; @@ -86,6 +86,7 @@ import com.cloud.storage.DiskOfferingVO; import com.cloud.user.Account; import com.cloud.utils.component.ManagerBase; import com.cloud.vm.VirtualMachine.Type; + import org.apache.cloudstack.api.command.admin.config.UpdateCfgCmd; import org.apache.cloudstack.api.command.admin.ldap.LDAPConfigCmd; import org.apache.cloudstack.api.command.admin.ldap.LDAPRemoveCmd; @@ -108,12 +109,15 @@ import org.apache.cloudstack.api.command.admin.zone.CreateZoneCmd; import org.apache.cloudstack.api.command.admin.zone.DeleteZoneCmd; import org.apache.cloudstack.api.command.admin.zone.UpdateZoneCmd; import org.apache.cloudstack.api.command.user.network.ListNetworkOfferingsCmd; +import org.apache.cloudstack.config.Configuration; + import org.springframework.stereotype.Component; import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; import javax.naming.NamingException; + import java.util.List; import java.util.Map; import java.util.Set; diff --git a/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java b/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java index 7760123c46a..f4f49b6fd61 100644 --- a/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java +++ b/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java @@ -110,6 +110,7 @@ import com.cloud.user.AccountManager; import com.cloud.user.ResourceLimitService; import com.cloud.user.dao.AccountDaoImpl; import com.cloud.user.dao.UserDaoImpl; +import com.cloud.utils.db.EntityManager; import com.cloud.vm.dao.InstanceGroupDaoImpl; import com.cloud.vm.dao.NicDaoImpl; import com.cloud.vm.dao.NicSecondaryIpDaoImpl; @@ -198,6 +199,11 @@ public class ChildTestConfiguration { public AlertManager alertMgr() { return Mockito.mock(AlertManager.class); } + + @Bean + public EntityManager entityMgr() { + return Mockito.mock(EntityManager.class); + } @Bean public SecurityChecker securityChkr() {