Skip to content

Commit 5287f4c

Browse files
author
Alex Huang
committed
Got everything running through testing
1 parent 5161ded commit 5287f4c

26 files changed

Lines changed: 124 additions & 103 deletions

File tree

api/test/org/apache/cloudstack/api/command/test/AddClusterCmdTest.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,26 @@
1616
// under the License.
1717
package org.apache.cloudstack.api.command.test;
1818

19+
import java.util.Arrays;
20+
1921
import junit.framework.Assert;
2022
import junit.framework.TestCase;
2123

22-
import org.apache.cloudstack.api.ResponseGenerator;
23-
import org.apache.cloudstack.api.ServerApiException;
24-
import org.apache.cloudstack.api.command.admin.cluster.AddClusterCmd;
2524
import org.junit.Before;
2625
import org.junit.Rule;
2726
import org.junit.Test;
2827
import org.junit.rules.ExpectedException;
2928
import org.mockito.Mockito;
3029

30+
import org.apache.cloudstack.api.ResponseGenerator;
31+
import org.apache.cloudstack.api.ServerApiException;
32+
import org.apache.cloudstack.api.command.admin.cluster.AddClusterCmd;
33+
3134
import com.cloud.exception.DiscoveryException;
3235
import com.cloud.exception.ResourceInUseException;
3336
import com.cloud.org.Cluster;
3437
import com.cloud.resource.ResourceService;
3538

36-
import edu.emory.mathcs.backport.java.util.Arrays;
37-
3839
public class AddClusterCmdTest extends TestCase {
3940

4041
private AddClusterCmd addClusterCmd;
@@ -44,6 +45,7 @@ public class AddClusterCmdTest extends TestCase {
4445
@Rule
4546
public ExpectedException expectedException = ExpectedException.none();
4647

48+
@Override
4749
@Before
4850
public void setUp() {
4951
/*
@@ -110,8 +112,7 @@ public void testExecuteForResult() throws Exception {
110112
Cluster cluster = Mockito.mock(Cluster.class);
111113
Cluster[] clusterArray = new Cluster[] { cluster };
112114

113-
Mockito.when(resourceService.discoverCluster(addClusterCmd))
114-
.thenReturn(Arrays.asList(clusterArray));
115+
Mockito.doReturn(Arrays.asList(clusterArray)).when(resourceService.discoverCluster(addClusterCmd));
115116

116117
addClusterCmd.execute();
117118

api/test/org/apache/cloudstack/api/command/test/AddHostCmdTest.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,28 @@
1616
// under the License.
1717
package org.apache.cloudstack.api.command.test;
1818

19+
import java.util.Arrays;
20+
1921
import junit.framework.Assert;
2022
import junit.framework.TestCase;
2123

22-
import org.apache.cloudstack.api.ResponseGenerator;
23-
import org.apache.cloudstack.api.ServerApiException;
24-
import org.apache.cloudstack.api.command.admin.host.AddHostCmd;
25-
import org.apache.cloudstack.api.response.HostResponse;
26-
import org.apache.cloudstack.api.response.ListResponse;
2724
import org.junit.Before;
2825
import org.junit.Rule;
2926
import org.junit.Test;
3027
import org.junit.rules.ExpectedException;
3128
import org.mockito.Mockito;
3229

30+
import org.apache.cloudstack.api.ResponseGenerator;
31+
import org.apache.cloudstack.api.ServerApiException;
32+
import org.apache.cloudstack.api.command.admin.host.AddHostCmd;
33+
import org.apache.cloudstack.api.response.HostResponse;
34+
import org.apache.cloudstack.api.response.ListResponse;
35+
3336
import com.cloud.exception.DiscoveryException;
3437
import com.cloud.exception.InvalidParameterValueException;
3538
import com.cloud.host.Host;
3639
import com.cloud.resource.ResourceService;
3740

38-
import edu.emory.mathcs.backport.java.util.Arrays;
39-
4041
public class AddHostCmdTest extends TestCase {
4142

4243
private AddHostCmd addHostCmd;
@@ -46,6 +47,7 @@ public class AddHostCmdTest extends TestCase {
4647
@Rule
4748
public ExpectedException expectedException = ExpectedException.none();
4849

50+
@Override
4951
@Before
5052
public void setUp() {
5153
resourceService = Mockito.mock(ResourceService.class);
@@ -125,14 +127,13 @@ public void testExecuteForResult() throws Exception {
125127

126128
HostResponse responseHost = new HostResponse();
127129
responseHost.setName("Test");
128-
Mockito.when(resourceService.discoverHosts(addHostCmd)).thenReturn(
129-
Arrays.asList(mockArray));
130+
Mockito.doReturn(Arrays.asList(mockArray)).when(resourceService.discoverHosts(addHostCmd));
130131
Mockito.when(responseGenerator.createHostResponse(host)).thenReturn(
131132
responseHost);
132133
addHostCmd.execute();
133134
Mockito.verify(responseGenerator).createHostResponse(host);
134-
ListResponse<HostResponse> actualResponse = ((ListResponse<HostResponse>) addHostCmd
135-
.getResponseObject());
135+
@SuppressWarnings("unchecked")
136+
ListResponse<HostResponse> actualResponse = ((ListResponse<HostResponse>)addHostCmd.getResponseObject());
136137
Assert.assertEquals(responseHost, actualResponse.getResponses().get(0));
137138
Assert.assertEquals("addhostresponse", actualResponse.getResponseName());
138139

@@ -144,8 +145,7 @@ public void testExecuteForDiscoveryException() {
144145
addHostCmd._resourceService = resourceService;
145146

146147
try {
147-
Mockito.when(resourceService.discoverHosts(addHostCmd)).thenThrow(
148-
DiscoveryException.class);
148+
Mockito.when(resourceService.discoverHosts(addHostCmd)).thenThrow(DiscoveryException.class);
149149
} catch (InvalidParameterValueException e) {
150150
e.printStackTrace();
151151
} catch (IllegalArgumentException e) {

engine/schema/src/com/cloud/keystore/KeystoreDaoImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.cloud.keystore;
1818

1919
import java.sql.PreparedStatement;
20+
import java.util.Collections;
2021
import java.util.Comparator;
2122
import java.util.List;
2223

@@ -32,8 +33,6 @@
3233
import com.cloud.utils.db.Transaction;
3334
import com.cloud.utils.exception.CloudRuntimeException;
3435

35-
import edu.emory.mathcs.backport.java.util.Collections;
36-
3736
@Component
3837
@Local(value={KeystoreDao.class})
3938
public class KeystoreDaoImpl extends GenericDaoBase<KeystoreVO, Long> implements KeystoreDao {
@@ -54,7 +53,8 @@ public KeystoreDaoImpl() {
5453
public List<KeystoreVO> findCertChain() {
5554
SearchCriteria<KeystoreVO> sc = CertChainSearch.create();
5655
List<KeystoreVO> ks = listBy(sc);
57-
Collections.sort(ks, new Comparator() { public int compare(Object o1, Object o2) {
56+
Collections.sort(ks, new Comparator() { @Override
57+
public int compare(Object o1, Object o2) {
5858
Integer seq1 = ((KeystoreVO)o1).getIndex();
5959
Integer seq2 = ((KeystoreVO)o2).getIndex();
6060
return seq1.compareTo(seq2);
@@ -99,7 +99,7 @@ public void save(String name, String certificate, String key, String domainSuffi
9999
@Override
100100
@DB
101101
public void save(String alias, String certificate, Integer index, String domainSuffix) {
102-
KeystoreVO ks = this.findByName(alias);
102+
KeystoreVO ks = findByName(alias);
103103
if (ks != null) {
104104
ks.setCertificate(certificate);
105105
ks.setName(alias);
@@ -112,7 +112,7 @@ public void save(String alias, String certificate, Integer index, String domainS
112112
newks.setName(alias);
113113
newks.setIndex(index);
114114
newks.setDomainSuffix(domainSuffix);
115-
this.persist(newks);
115+
persist(newks);
116116
}
117117
}
118118
}

engine/storage/src/org/apache/cloudstack/storage/datastore/DataStoreManagerImpl.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,21 @@
1818
*/
1919
package org.apache.cloudstack.storage.datastore;
2020

21-
import com.cloud.storage.DataStoreRole;
22-
import com.cloud.utils.exception.CloudRuntimeException;
23-
import edu.emory.mathcs.backport.java.util.Collections;
21+
import java.util.Collections;
22+
import java.util.List;
23+
24+
import javax.inject.Inject;
25+
26+
import org.springframework.stereotype.Component;
27+
2428
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
2529
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
2630
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
2731
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
2832
import org.apache.cloudstack.storage.image.datastore.ImageStoreProviderManager;
29-
import org.springframework.stereotype.Component;
3033

31-
import javax.inject.Inject;
32-
import java.util.List;
34+
import com.cloud.storage.DataStoreRole;
35+
import com.cloud.utils.exception.CloudRuntimeException;
3336

3437
@Component
3538
public class DataStoreManagerImpl implements DataStoreManager {

engine/storage/src/org/apache/cloudstack/storage/image/db/TemplateDataStoreDaoImpl.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,17 @@
1717
package org.apache.cloudstack.storage.image.db;
1818

1919
import java.util.ArrayList;
20+
import java.util.Collections;
2021
import java.util.Date;
2122
import java.util.List;
2223
import java.util.Map;
2324

2425
import javax.inject.Inject;
2526
import javax.naming.ConfigurationException;
2627

28+
import org.apache.log4j.Logger;
29+
import org.springframework.stereotype.Component;
30+
2731
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
2832
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
2933
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
@@ -32,20 +36,16 @@
3236
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
3337
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao;
3438
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
35-
import org.apache.log4j.Logger;
36-
import org.springframework.stereotype.Component;
3739

3840
import com.cloud.storage.DataStoreRole;
3941
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
4042
import com.cloud.utils.db.GenericDaoBase;
4143
import com.cloud.utils.db.SearchBuilder;
4244
import com.cloud.utils.db.SearchCriteria;
43-
import com.cloud.utils.db.Transaction;
4445
import com.cloud.utils.db.SearchCriteria.Op;
46+
import com.cloud.utils.db.Transaction;
4547
import com.cloud.utils.db.UpdateBuilder;
4648

47-
import edu.emory.mathcs.backport.java.util.Collections;
48-
4949
@Component
5050
public class TemplateDataStoreDaoImpl extends GenericDaoBase<TemplateDataStoreVO, Long> implements TemplateDataStoreDao {
5151
private static final Logger s_logger = Logger.getLogger(TemplateDataStoreDaoImpl.class);
@@ -250,11 +250,11 @@ public List<TemplateDataStoreVO> listByTemplateStoreDownloadStatus(long template
250250
@Override
251251
public List<TemplateDataStoreVO> listByTemplateZoneDownloadStatus(long templateId, Long zoneId, Status... status) {
252252
// get all elgible image stores
253-
List<DataStore> imgStores = this._storeMgr.getImageStoresByScope(new ZoneScope(zoneId));
253+
List<DataStore> imgStores = _storeMgr.getImageStoresByScope(new ZoneScope(zoneId));
254254
if (imgStores != null) {
255255
List<TemplateDataStoreVO> result = new ArrayList<TemplateDataStoreVO>();
256256
for (DataStore store : imgStores) {
257-
List<TemplateDataStoreVO> sRes = this.listByTemplateStoreDownloadStatus(templateId, store.getId(),
257+
List<TemplateDataStoreVO> sRes = listByTemplateStoreDownloadStatus(templateId, store.getId(),
258258
status);
259259
if (sRes != null && sRes.size() > 0) {
260260
result.addAll(sRes);
@@ -268,10 +268,10 @@ public List<TemplateDataStoreVO> listByTemplateZoneDownloadStatus(long templateI
268268
@Override
269269
public TemplateDataStoreVO findByTemplateZoneDownloadStatus(long templateId, Long zoneId, Status... status) {
270270
// get all elgible image stores
271-
List<DataStore> imgStores = this._storeMgr.getImageStoresByScope(new ZoneScope(zoneId));
271+
List<DataStore> imgStores = _storeMgr.getImageStoresByScope(new ZoneScope(zoneId));
272272
if (imgStores != null) {
273273
for (DataStore store : imgStores) {
274-
List<TemplateDataStoreVO> sRes = this.listByTemplateStoreDownloadStatus(templateId, store.getId(),
274+
List<TemplateDataStoreVO> sRes = listByTemplateStoreDownloadStatus(templateId, store.getId(),
275275
status);
276276
if (sRes != null && sRes.size() > 0) {
277277
Collections.shuffle(sRes);
@@ -326,13 +326,13 @@ public TemplateDataStoreVO findByTemplateZone(long templateId, Long zoneId, Data
326326
// get all elgible image stores
327327
List<DataStore> imgStores = null;
328328
if (role == DataStoreRole.Image) {
329-
imgStores = this._storeMgr.getImageStoresByScope(new ZoneScope(zoneId));
329+
imgStores = _storeMgr.getImageStoresByScope(new ZoneScope(zoneId));
330330
} else if (role == DataStoreRole.ImageCache) {
331-
imgStores = this._storeMgr.getImageCacheStores(new ZoneScope(zoneId));
331+
imgStores = _storeMgr.getImageCacheStores(new ZoneScope(zoneId));
332332
}
333333
if (imgStores != null) {
334334
for (DataStore store : imgStores) {
335-
List<TemplateDataStoreVO> sRes = this.listByTemplateStore(templateId, store.getId());
335+
List<TemplateDataStoreVO> sRes = listByTemplateStore(templateId, store.getId());
336336
if (sRes != null && sRes.size() > 0) {
337337
return sRes.get(0);
338338
}

framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
import org.apache.cloudstack.framework.config.ConfigDepot;
4949
import org.apache.cloudstack.framework.config.ConfigKey;
5050
import org.apache.cloudstack.framework.config.ConfigValue;
51+
import org.apache.cloudstack.framework.config.Configurable;
5152
import org.apache.cloudstack.utils.identity.ManagementServerNode;
5253

5354
import com.cloud.cluster.dao.ManagementServerHostDao;
@@ -68,7 +69,7 @@
6869
import com.cloud.utils.net.NetUtils;
6970

7071
@Local(value = { ClusterManager.class })
71-
public class ClusterManagerImpl extends ManagerBase implements ClusterManager {
72+
public class ClusterManagerImpl extends ManagerBase implements ClusterManager, Configurable {
7273
private static final Logger s_logger = Logger.getLogger(ClusterManagerImpl.class);
7374

7475
private static final int EXECUTOR_SHUTDOWN_TIMEOUT = 1000; // 1 second
@@ -1111,6 +1112,16 @@ public boolean pingManagementNode(long msid) {
11111112
return pingManagementNode(mshost);
11121113
}
11131114

1115+
@Override
1116+
public String getConfigComponentName() {
1117+
return ClusterManager.class.getSimpleName();
1118+
}
1119+
1120+
@Override
1121+
public ConfigKey<?>[] getConfigKeys() {
1122+
return new ConfigKey<?>[] {HeartBeatInterval, HeartBeatThreshold};
1123+
}
1124+
11141125
private boolean pingManagementNode(ManagementServerHostVO mshost) {
11151126

11161127
String targetIp = mshost.getServiceIP();

framework/db/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
</dependency>
2626
<dependency>
2727
<groupId>net.sf.ehcache</groupId>
28-
<artifactId>ehcache</artifactId>
28+
<artifactId>ehcache-core</artifactId>
2929
</dependency>
3030
<dependency>
3131
<groupId>org.eclipse.persistence</groupId>

framework/db/src/com/cloud/utils/db/GenericDaoBase.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,10 @@
3232
import java.sql.SQLException;
3333
import java.sql.Statement;
3434
import java.util.ArrayList;
35+
import java.util.Arrays;
3536
import java.util.Calendar;
3637
import java.util.Collection;
38+
import java.util.Collections;
3739
import java.util.Date;
3840
import java.util.Enumeration;
3941
import java.util.HashMap;
@@ -77,9 +79,6 @@
7779
import com.cloud.utils.net.Ip;
7880
import com.cloud.utils.net.NetUtils;
7981

80-
import edu.emory.mathcs.backport.java.util.Arrays;
81-
import edu.emory.mathcs.backport.java.util.Collections;
82-
8382
/**
8483
* GenericDaoBase is a simple way to implement DAOs. It DOES NOT
8584
* support the full EJB3 spec. It borrows some of the annotations from
@@ -1266,6 +1265,7 @@ public int update(final T entity, final SearchCriteria<T> sc, Integer rows) {
12661265
return update(ub, sc, rows);
12671266
}
12681267

1268+
@Override
12691269
@DB(txn=false)
12701270
public int update(final T entity, final SearchCriteria<T> sc) {
12711271
final UpdateBuilder ub = getUpdateBuilder(entity);

framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.io.File;
2121
import java.io.FileInputStream;
2222
import java.util.Arrays;
23+
import java.util.Collections;
2324
import java.util.Date;
2425
import java.util.List;
2526
import java.util.Map;
@@ -76,8 +77,6 @@
7677
import com.cloud.utils.exception.ExceptionUtil;
7778
import com.cloud.utils.mgmt.JmxUtil;
7879

79-
import edu.emory.mathcs.backport.java.util.Collections;
80-
8180
public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, ClusterManagerListener, Configurable {
8281
// Advanced
8382
private static final ConfigKey<Long> JobExpireMinutes = new ConfigKey<Long>(Long.class, "job.expire.minutes", "Advanced", "1440",
@@ -116,7 +115,7 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager,
116115

117116
@Override
118117
public String getConfigComponentName() {
119-
return AsyncJobManager.class.getName();
118+
return AsyncJobManager.class.getSimpleName();
120119
}
121120

122121
@Override

0 commit comments

Comments
 (0)