Skip to content

Commit c40aac0

Browse files
author
Kishan Kavala
committed
Add Mock managers for Regio API server
1 parent f0f33bf commit c40aac0

6 files changed

Lines changed: 1331 additions & 0 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Licensed to the Apache Software Foundation (ASF) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The ASF licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
17+
package com.cloud.api;
18+
19+
import java.io.File;
20+
21+
import org.apache.log4j.Logger;
22+
import org.apache.log4j.xml.DOMConfigurator;
23+
24+
import com.cloud.server.ManagementService;
25+
import com.cloud.utils.PropertiesUtil;
26+
import com.cloud.utils.component.ComponentLocator;
27+
28+
public class RegionTest {
29+
private static final Logger s_logger = Logger.getLogger(RegionTest.class.getName());
30+
31+
public static void main(String args[]){
32+
System.out.println("Starting");
33+
File file = PropertiesUtil.findConfigFile("log4j-cloud.xml");
34+
if (file != null) {
35+
s_logger.info("log4j configuration found at " + file.getAbsolutePath());
36+
DOMConfigurator.configureAndWatch(file.getAbsolutePath());
37+
}
38+
final ComponentLocator _locator = ComponentLocator.getLocator(ManagementService.Name, "components-regions.xml", "log4j-cloud");
39+
MockApiServer.initApiServer(new String[] { "commands.properties" });
40+
System.out.println("Started");
41+
}
42+
}
Lines changed: 230 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,230 @@
1+
// Licensed to the Apache Software Foundation (ASF) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The ASF licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
17+
package com.cloud.configuration;
18+
19+
import java.util.HashMap;
20+
import java.util.List;
21+
import java.util.Map;
22+
23+
import com.cloud.alert.AlertManagerImpl;
24+
import com.cloud.alert.dao.AlertDaoImpl;
25+
import com.cloud.capacity.dao.CapacityDaoImpl;
26+
import com.cloud.configuration.dao.ConfigurationDaoImpl;
27+
import com.cloud.configuration.dao.ResourceCountDaoImpl;
28+
import com.cloud.configuration.dao.ResourceLimitDaoImpl;
29+
import com.cloud.dao.EntityManager;
30+
import com.cloud.dao.EntityManagerImpl;
31+
import com.cloud.dc.dao.AccountVlanMapDaoImpl;
32+
import com.cloud.dc.dao.ClusterDaoImpl;
33+
import com.cloud.dc.dao.DataCenterDaoImpl;
34+
import com.cloud.dc.dao.HostPodDaoImpl;
35+
import com.cloud.dc.dao.VlanDaoImpl;
36+
import com.cloud.domain.dao.DomainDaoImpl;
37+
import com.cloud.host.dao.HostDaoImpl;
38+
import com.cloud.network.MockNetworkManagerImpl;
39+
import com.cloud.network.dao.FirewallRulesCidrsDaoImpl;
40+
import com.cloud.network.dao.IPAddressDaoImpl;
41+
import com.cloud.network.dao.LoadBalancerDaoImpl;
42+
import com.cloud.network.dao.NetworkDaoImpl;
43+
import com.cloud.network.dao.NetworkDomainDaoImpl;
44+
import com.cloud.network.dao.NetworkRuleConfigDaoImpl;
45+
import com.cloud.network.dao.RemoteAccessVpnDaoImpl;
46+
import com.cloud.network.dao.Site2SiteCustomerGatewayDaoImpl;
47+
import com.cloud.network.dao.Site2SiteVpnGatewayDaoImpl;
48+
import com.cloud.network.dao.VpnUserDaoImpl;
49+
import com.cloud.network.security.MockSecurityGroupManagerImpl;
50+
import com.cloud.network.security.dao.SecurityGroupDaoImpl;
51+
import com.cloud.network.vpc.dao.VpcDaoImpl;
52+
import com.cloud.network.vpn.MockRemoteAccessVpnManagerImpl;
53+
import com.cloud.offerings.dao.NetworkOfferingDaoImpl;
54+
import com.cloud.projects.MockProjectManagerImpl;
55+
import com.cloud.projects.dao.ProjectAccountDaoImpl;
56+
import com.cloud.projects.dao.ProjectDaoImpl;
57+
import com.cloud.region.RegionManagerImpl;
58+
import com.cloud.region.dao.RegionDaoImpl;
59+
import com.cloud.resourcelimit.ResourceLimitManagerImpl;
60+
import com.cloud.service.dao.ServiceOfferingDaoImpl;
61+
import com.cloud.storage.MockStorageManagerImpl;
62+
import com.cloud.storage.dao.DiskOfferingDaoImpl;
63+
import com.cloud.storage.dao.GuestOSCategoryDaoImpl;
64+
import com.cloud.storage.dao.GuestOSDaoImpl;
65+
import com.cloud.storage.dao.LaunchPermissionDaoImpl;
66+
import com.cloud.storage.dao.SnapshotDaoImpl;
67+
import com.cloud.storage.dao.StoragePoolDaoImpl;
68+
import com.cloud.storage.dao.UploadDaoImpl;
69+
import com.cloud.storage.dao.VMTemplateDaoImpl;
70+
import com.cloud.storage.dao.VMTemplateDetailsDaoImpl;
71+
import com.cloud.storage.dao.VMTemplateHostDaoImpl;
72+
import com.cloud.storage.dao.VMTemplateSwiftDaoImpl;
73+
import com.cloud.storage.dao.VMTemplateZoneDaoImpl;
74+
import com.cloud.storage.dao.VolumeDaoImpl;
75+
import com.cloud.storage.dao.VolumeHostDaoImpl;
76+
import com.cloud.storage.snapshot.MockSnapshotManagerImpl;
77+
import com.cloud.template.MockTemplateManagerImpl;
78+
import com.cloud.user.AccountDetailsDaoImpl;
79+
import com.cloud.user.AccountManagerImpl;
80+
import com.cloud.user.DomainManagerImpl;
81+
import com.cloud.user.dao.AccountDaoImpl;
82+
import com.cloud.user.dao.SSHKeyPairDaoImpl;
83+
import com.cloud.user.dao.UserAccountDaoImpl;
84+
import com.cloud.user.dao.UserDaoImpl;
85+
import com.cloud.user.dao.UserStatisticsDaoImpl;
86+
import com.cloud.utils.component.Adapter;
87+
import com.cloud.utils.component.ComponentLibrary;
88+
import com.cloud.utils.component.ComponentLibraryBase;
89+
import com.cloud.utils.component.ComponentLocator.ComponentInfo;
90+
import com.cloud.utils.component.Manager;
91+
import com.cloud.utils.component.PluggableService;
92+
import com.cloud.utils.db.GenericDao;
93+
import com.cloud.uuididentity.dao.IdentityDaoImpl;
94+
import com.cloud.vm.MockUserVmManagerImpl;
95+
import com.cloud.vm.MockVirtualMachineManagerImpl;
96+
import com.cloud.vm.dao.ConsoleProxyDaoImpl;
97+
import com.cloud.vm.dao.DomainRouterDaoImpl;
98+
import com.cloud.vm.dao.InstanceGroupDaoImpl;
99+
import com.cloud.vm.dao.UserVmDaoImpl;
100+
import com.cloud.vm.dao.UserVmDetailsDaoImpl;
101+
import com.cloud.vm.dao.VMInstanceDaoImpl;
102+
import com.cloud.vpc.MockConfigurationManagerImpl;
103+
import com.cloud.vpc.MockResourceLimitManagerImpl;
104+
import com.cloud.vpc.MockSite2SiteVpnManagerImpl;
105+
import com.cloud.vpc.MockVpcManagerImpl;
106+
107+
108+
public class RegionsComponentLibrary extends ComponentLibraryBase implements ComponentLibrary {
109+
protected void populateDaos() {
110+
addDao("DomainDao", DomainDaoImpl.class);
111+
addDao("AccountDao", AccountDaoImpl.class);
112+
addDao("UserDao", UserDaoImpl.class);
113+
addDao("UserAccountDao", UserAccountDaoImpl.class);
114+
addDao("NetworkOfferingDao", NetworkOfferingDaoImpl.class);
115+
addDao("RegionDao", RegionDaoImpl.class);
116+
addDao("IdentityDao", IdentityDaoImpl.class);
117+
addDao("AccountVlanMapDao", AccountVlanMapDaoImpl.class);
118+
addDao("CapacityDao", CapacityDaoImpl.class);
119+
addDao("ClusterDao", ClusterDaoImpl.class);
120+
addDao("ServiceOfferingDao", ServiceOfferingDaoImpl.class);
121+
addDao("DiskOfferingDao", DiskOfferingDaoImpl.class);
122+
addDao("DomainRouterDao", DomainRouterDaoImpl.class);
123+
addDao("GuestOSDao", GuestOSDaoImpl.class);
124+
addDao("GuestOSCategoryDao", GuestOSCategoryDaoImpl.class);
125+
addDao("HostDao", HostDaoImpl.class);
126+
addDao("IPAddressDao", IPAddressDaoImpl.class);
127+
addDao("LoadBalancerDao", LoadBalancerDaoImpl.class);
128+
addDao("NetworkRuleConfigDao", NetworkRuleConfigDaoImpl.class);
129+
addDao("HostPodDao", HostPodDaoImpl.class);
130+
addDao("SnapshotDao", SnapshotDaoImpl.class);
131+
addDao("StoragePoolDao", StoragePoolDaoImpl.class);
132+
addDao("ConfigurationDao", ConfigurationDaoImpl.class);
133+
addDao("DataCenterDao", DataCenterDaoImpl.class);
134+
addDao("VMTemplateZoneDao", VMTemplateZoneDaoImpl.class);
135+
addDao("VMTemplateDetailsDao", VMTemplateDetailsDaoImpl.class);
136+
addDao("VMTemplateDao", VMTemplateDaoImpl.class);
137+
addDao("VMTemplateHostDao", VMTemplateHostDaoImpl.class);
138+
addDao("VMTemplateSwiftDao", VMTemplateSwiftDaoImpl.class);
139+
addDao("UploadDao", UploadDaoImpl.class);
140+
addDao("UserDao", UserDaoImpl.class);
141+
addDao("UserStatisticsDao", UserStatisticsDaoImpl.class);
142+
addDao("UserVmDao", UserVmDaoImpl.class);
143+
addDao("VlanDao", VlanDaoImpl.class);
144+
addDao("VolumeDao", VolumeDaoImpl.class);
145+
addDao("Site2SiteVpnGatewayDao", Site2SiteVpnGatewayDaoImpl.class);
146+
addDao("Site2SiteCustomerGatewayDao", Site2SiteCustomerGatewayDaoImpl.class);
147+
addDao("VolumeHostDao", VolumeHostDaoImpl.class);
148+
addDao("SecurityGroupDao", SecurityGroupDaoImpl.class);
149+
addDao("NetworkConfigurationDao", NetworkDaoImpl.class);
150+
addDao("ConsoleProxyDao", ConsoleProxyDaoImpl.class);
151+
addDao("FirewallRulesCidrsDao", FirewallRulesCidrsDaoImpl.class);
152+
addDao("VMInstanceDao", VMInstanceDaoImpl.class);
153+
addDao("AccountDetailsDao", AccountDetailsDaoImpl.class);
154+
addDao("NetworkDomainDao", NetworkDomainDaoImpl.class);
155+
addDao("SSHKeyPairDao", SSHKeyPairDaoImpl.class);
156+
addDao("UserVmDetailsDao", UserVmDetailsDaoImpl.class);
157+
addDao("ResourceCountDao", ResourceCountDaoImpl.class);
158+
addDao("InstanceGroupDao", InstanceGroupDaoImpl.class);
159+
addDao("RemoteAccessVpnDao", RemoteAccessVpnDaoImpl.class);
160+
addDao("VpnUserDao", VpnUserDaoImpl.class);
161+
addDao("ProjectDao", ProjectDaoImpl.class);
162+
addDao("ProjectAccountDao", ProjectAccountDaoImpl.class);
163+
addDao("LaunchPermissionDao", LaunchPermissionDaoImpl.class);
164+
}
165+
166+
@Override
167+
public synchronized Map<String, ComponentInfo<GenericDao<?, ?>>> getDaos() {
168+
if (_daos.size() == 0) {
169+
populateDaos();
170+
}
171+
return _daos;
172+
}
173+
174+
protected void populateManagers() {
175+
addManager("configuration manager", MockConfigurationManagerImpl.class);
176+
addManager("account manager", AccountManagerImpl.class);
177+
addManager("domain manager", DomainManagerImpl.class);
178+
addManager("Region Manager", RegionManagerImpl.class);
179+
addManager("ResourceLimit Manager", MockResourceLimitManagerImpl.class);
180+
addManager("Network Manager", MockNetworkManagerImpl.class);
181+
addManager("UserVm Manager", MockUserVmManagerImpl.class);
182+
addManager("Vm Manager", MockVirtualMachineManagerImpl.class);
183+
addManager("Project Manager", MockProjectManagerImpl.class);
184+
addManager("Vpc Manager", MockVpcManagerImpl.class);
185+
addManager("Site2SiteVpn Manager", MockSite2SiteVpnManagerImpl.class);
186+
addManager("SecurityGroup Manager", MockSecurityGroupManagerImpl.class);
187+
addManager("Snapshot Manager", MockSnapshotManagerImpl.class);
188+
addManager("Template Manager", MockTemplateManagerImpl.class);
189+
addManager("Storage Manager", MockStorageManagerImpl.class);
190+
addManager("RemoteAccessVpn Manager", MockRemoteAccessVpnManagerImpl.class);
191+
addManager("Entity Manager", EntityManagerImpl.class);
192+
}
193+
194+
@Override
195+
public synchronized Map<String, ComponentInfo<Manager>> getManagers() {
196+
if (_managers.size() == 0) {
197+
populateManagers();
198+
}
199+
return _managers;
200+
}
201+
202+
protected void populateAdapters() {
203+
}
204+
205+
@Override
206+
public synchronized Map<String, List<ComponentInfo<Adapter>>> getAdapters() {
207+
if (_adapters.size() == 0) {
208+
populateAdapters();
209+
}
210+
return _adapters;
211+
}
212+
213+
@Override
214+
public synchronized Map<Class<?>, Class<?>> getFactories() {
215+
HashMap<Class<?>, Class<?>> factories = new HashMap<Class<?>, Class<?>>();
216+
factories.put(EntityManager.class, EntityManagerImpl.class);
217+
return factories;
218+
}
219+
220+
protected void populateServices() {
221+
}
222+
223+
@Override
224+
public synchronized Map<String, ComponentInfo<PluggableService>> getPluggableServices() {
225+
if (_pluggableServices.size() == 0) {
226+
populateServices();
227+
}
228+
return _pluggableServices;
229+
}
230+
}

0 commit comments

Comments
 (0)