You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2014/01/29 21:59:32 UTC
[01/11] git commit: updated refs/heads/4.3 to d6bbfbb
Updated Branches:
refs/heads/4.3 2311528f1 -> d6bbfbbc5
Backport findbugs configuration to 4.3 so we can run a findbugs report in jenkins.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/da80eafe
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/da80eafe
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/da80eafe
Branch: refs/heads/4.3
Commit: da80eafec9d9d419087624bd9e68bebda9a8fb41
Parents: 2311528
Author: Hugo Trippaers <ht...@schubergphilis.com>
Authored: Sat Jan 25 10:51:10 2014 +0100
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Wed Jan 29 21:26:45 2014 +0100
----------------------------------------------------------------------
pom.xml | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/da80eafe/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 68d8dad..7af7139 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,6 +87,7 @@
<cs.daemon.version>1.0.10</cs.daemon.version>
<cs.jna.version>4.0.0</cs.jna.version>
<cs.checkstyle.version>2.10</cs.checkstyle.version>
+ <cs.findbugs.version>2.5.3</cs.findbugs.version>
</properties>
<distributionManagement>
@@ -444,6 +445,21 @@
</testResources>
<outputDirectory>${basedir}/${cs.target.dir}/classes</outputDirectory>
<testOutputDirectory>${basedir}/${cs.target.dir}/test-classes</testOutputDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>cloudstack-findbugs</id>
+ <phase>none</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
<pluginManagement>
<plugins>
<plugin>
@@ -712,6 +728,25 @@
</formats>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <version>${cs.findbugs.version}</version>
+ <configuration>
+ <effort>Max</effort>
+ <threshold>High</threshold>
+ <xmlOutput>true</xmlOutput>
+ <failOnError>false</failOnError>
+ </configuration>
+ <executions>
+ <execution>
+ <id>cloudstack-findbugs</id>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</pluginManagement>
</build>
@@ -771,5 +806,23 @@
<module>vmware-base</module>
</modules>
</profile>
+ <profile>
+ <id>enablefindbugs</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>cloudstack-findbugs</id>
+ <phase>process-classes</phase>
+ <inherited>true</inherited>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
</project>
[11/11] git commit: updated refs/heads/4.3 to d6bbfbb
Posted by da...@apache.org.
findbugs: nullpointer guards and wrappertype comparisons
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/d6bbfbbc
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/d6bbfbbc
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/d6bbfbbc
Branch: refs/heads/4.3
Commit: d6bbfbbc59ee3956fd0e1c45d9d73a2f97d33213
Parents: dcda79e
Author: Daan Hoogland <da...@onecht.net>
Authored: Mon Jan 27 00:23:57 2014 +0100
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Wed Jan 29 21:44:06 2014 +0100
----------------------------------------------------------------------
.../resourcelimit/ResourceLimitManagerImpl.java | 18 ++++----
.../com/cloud/storage/VolumeApiServiceImpl.java | 44 ++++++++++----------
server/src/com/cloud/vm/UserVmManagerImpl.java | 12 +++---
3 files changed, 36 insertions(+), 38 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d6bbfbbc/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java b/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java
index fc9099d..0b86c0c 100755
--- a/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java
+++ b/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java
@@ -17,6 +17,7 @@
package com.cloud.resourcelimit;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
@@ -29,6 +30,9 @@ import javax.ejb.Local;
import javax.inject.Inject;
import javax.naming.ConfigurationException;
+import org.apache.log4j.Logger;
+import org.springframework.stereotype.Component;
+
import org.apache.cloudstack.acl.SecurityChecker.AccessType;
import org.apache.cloudstack.context.CallContext;
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
@@ -38,8 +42,6 @@ import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreDao;
import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreVO;
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao;
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
import com.cloud.alert.AlertManager;
import com.cloud.configuration.Config;
@@ -72,12 +74,10 @@ import com.cloud.service.ServiceOfferingVO;
import com.cloud.service.dao.ServiceOfferingDao;
import com.cloud.storage.DataStoreRole;
import com.cloud.storage.SnapshotVO;
-import com.cloud.storage.VMTemplateHostVO;
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
import com.cloud.storage.VMTemplateVO;
import com.cloud.storage.dao.SnapshotDao;
import com.cloud.storage.dao.VMTemplateDao;
-import com.cloud.storage.dao.VMTemplateHostDao;
import com.cloud.storage.dao.VolumeDao;
import com.cloud.storage.dao.VolumeDaoImpl.SumCount;
import com.cloud.user.Account;
@@ -95,12 +95,12 @@ import com.cloud.utils.db.GenericSearchBuilder;
import com.cloud.utils.db.JoinBuilder;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
-import com.cloud.utils.db.TransactionCallback;
-import com.cloud.utils.db.TransactionCallbackWithExceptionNoReturn;
-import com.cloud.utils.db.TransactionStatus;
import com.cloud.utils.db.SearchCriteria.Func;
import com.cloud.utils.db.SearchCriteria.Op;
import com.cloud.utils.db.Transaction;
+import com.cloud.utils.db.TransactionCallback;
+import com.cloud.utils.db.TransactionCallbackWithExceptionNoReturn;
+import com.cloud.utils.db.TransactionStatus;
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.vm.UserVmVO;
import com.cloud.vm.VirtualMachine;
@@ -108,8 +108,6 @@ import com.cloud.vm.VirtualMachine.State;
import com.cloud.vm.dao.UserVmDao;
import com.cloud.vm.dao.VMInstanceDao;
-import java.util.Arrays;
-
@Component
@Local(value = { ResourceLimitService.class })
public class ResourceLimitManagerImpl extends ManagerBase implements ResourceLimitService {
@@ -871,7 +869,7 @@ public class ResourceLimitManagerImpl extends ManagerBase implements ResourceLim
}
_resourceCountDao.setResourceCount(accountId, ResourceOwnerType.Account, type, (newCount == null) ? 0 : newCount.longValue());
- if (oldCount != newCount) {
+ if (!Long.valueOf(oldCount).equals(newCount)) {
s_logger.info("Discrepency in the resource count " + "(original count=" + oldCount + " correct count = " +
newCount + ") for type " + type + " for account ID " + accountId + " is fixed during resource count recalculation.");
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d6bbfbbc/server/src/com/cloud/storage/VolumeApiServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/com/cloud/storage/VolumeApiServiceImpl.java
index f46f1e9..bc319b9 100644
--- a/server/src/com/cloud/storage/VolumeApiServiceImpl.java
+++ b/server/src/com/cloud/storage/VolumeApiServiceImpl.java
@@ -445,29 +445,29 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
return Transaction.execute(new TransactionCallback<VolumeVO>() {
@Override
public VolumeVO doInTransaction(TransactionStatus status) {
- VolumeVO volume = new VolumeVO(volumeName, zoneId, -1, -1, -1, new Long(-1), null, null, 0, Volume.Type.DATADISK);
- volume.setPoolId(null);
- volume.setDataCenterId(zoneId);
- volume.setPodId(null);
- volume.setAccountId(owner.getAccountId());
- volume.setDomainId(owner.getDomainId());
- long diskOfferingId = _diskOfferingDao.findByUniqueName("Cloud.com-Custom").getId();
- volume.setDiskOfferingId(diskOfferingId);
- // volume.setSize(size);
- volume.setInstanceId(null);
- volume.setUpdated(new Date());
- volume.setDomainId((owner == null) ? Domain.ROOT_DOMAIN : owner.getDomainId());
- volume.setFormat(ImageFormat.valueOf(format));
- volume = _volsDao.persist(volume);
- CallContext.current().setEventDetails("Volume Id: " + volume.getId());
+ VolumeVO volume = new VolumeVO(volumeName, zoneId, -1, -1, -1, new Long(-1), null, null, 0, Volume.Type.DATADISK);
+ volume.setPoolId(null);
+ volume.setDataCenterId(zoneId);
+ volume.setPodId(null);
+ volume.setAccountId((owner == null) ? null : owner.getAccountId());
+ volume.setDomainId((owner == null) ? Domain.ROOT_DOMAIN : owner.getDomainId());
+ long diskOfferingId = _diskOfferingDao.findByUniqueName("Cloud.com-Custom").getId();
+ volume.setDiskOfferingId(diskOfferingId);
+ // volume.setSize(size);
+ volume.setInstanceId(null);
+ volume.setUpdated(new Date());
+ volume.setDomainId((owner == null) ? Domain.ROOT_DOMAIN : owner.getDomainId());
+ volume.setFormat(ImageFormat.valueOf(format));
+ volume = _volsDao.persist(volume);
+ CallContext.current().setEventDetails("Volume Id: " + volume.getId());
+
+ // Increment resource count during allocation; if actual creation fails,
+ // decrement it
+ _resourceLimitMgr.incrementResourceCount(volume.getAccountId(), ResourceType.volume);
+ _resourceLimitMgr.incrementResourceCount(volume.getAccountId(), ResourceType.secondary_storage, UriUtils.getRemoteSize(url));
- // Increment resource count during allocation; if actual creation fails,
- // decrement it
- _resourceLimitMgr.incrementResourceCount(volume.getAccountId(), ResourceType.volume);
- _resourceLimitMgr.incrementResourceCount(volume.getAccountId(), ResourceType.secondary_storage, UriUtils.getRemoteSize(url));
-
- return volume;
- }
+ return volume;
+ }
});
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d6bbfbbc/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java
index ea38d12..363c663 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -34,6 +34,9 @@ import javax.ejb.Local;
import javax.inject.Inject;
import javax.naming.ConfigurationException;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.log4j.Logger;
+
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
import org.apache.cloudstack.acl.SecurityChecker.AccessType;
import org.apache.cloudstack.affinity.AffinityGroupService;
@@ -79,8 +82,6 @@ import org.apache.cloudstack.managed.context.ManagedContextRunnable;
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
import org.apache.cloudstack.storage.to.TemplateObjectTO;
-import org.apache.commons.codec.binary.Base64;
-import org.apache.log4j.Logger;
import com.cloud.agent.AgentManager;
import com.cloud.agent.api.Answer;
@@ -455,7 +456,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
protected boolean _dailyOrHourly = false;
private int capacityReleaseInterval;
- protected String _name;
protected String _instance;
protected String _zone;
protected boolean _instanceNameFlag;
@@ -1315,7 +1315,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
_accountMgr.checkAccess(caller, null, true, vmInstance);
//Check if its a scale "up"
- ServiceOfferingVO newServiceOffering = (ServiceOfferingVO) _offeringDao.findById(newServiceOfferingId);
+ ServiceOfferingVO newServiceOffering = _offeringDao.findById(newServiceOfferingId);
if (newServiceOffering.isDynamic()) {
newServiceOffering.setDynamicFlag(true);
validateCustomParameters(newServiceOffering, customParameters);
@@ -4287,13 +4287,13 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
//if hosts are dedicated to different account/domains, raise an alert
if (srcExplDedicated && destExplDedicated) {
- if((accountOfDedicatedHost(srcHost) != null) && (accountOfDedicatedHost(srcHost)!= accountOfDedicatedHost(destHost))) {
+ if (!((accountOfDedicatedHost(srcHost) == null) || (accountOfDedicatedHost(srcHost).equals(accountOfDedicatedHost(destHost))))) {
String msg = "VM is being migrated from host " + srcHost.getName() + " explicitly dedicated to account " + accountOfDedicatedHost(srcHost) +
" to host " + destHost.getName() + " explicitly dedicated to account " + accountOfDedicatedHost(destHost);
_alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_USERVM, vm.getDataCenterId(), vm.getPodIdToDeployIn(), msg, msg);
s_logger.warn(msg);
}
- if((domainOfDedicatedHost(srcHost) != null) && (domainOfDedicatedHost(srcHost)!= domainOfDedicatedHost(destHost))) {
+ if (!((domainOfDedicatedHost(srcHost) == null) || (domainOfDedicatedHost(srcHost).equals(domainOfDedicatedHost(destHost))))) {
String msg = "VM is being migrated from host " + srcHost.getName() + " explicitly dedicated to domain " + domainOfDedicatedHost(srcHost) +
" to host " + destHost.getName() + " explicitly dedicated to domain " + domainOfDedicatedHost(destHost);
_alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_USERVM, vm.getDataCenterId(), vm.getPodIdToDeployIn(), msg, msg);
[09/11] git commit: updated refs/heads/4.3 to d6bbfbb
Posted by da...@apache.org.
findbugs: null-checks
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/1fb32b58
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/1fb32b58
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/1fb32b58
Branch: refs/heads/4.3
Commit: 1fb32b58eb76d0c963bee7cc238d0f37a6dd8393
Parents: eb239b9
Author: Daan Hoogland <da...@onecht.net>
Authored: Sun Jan 26 16:35:48 2014 +0100
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Wed Jan 29 21:39:11 2014 +0100
----------------------------------------------------------------------
server/src/com/cloud/acl/DomainChecker.java | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1fb32b58/server/src/com/cloud/acl/DomainChecker.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/acl/DomainChecker.java b/server/src/com/cloud/acl/DomainChecker.java
index 7b47bae..87ff27a 100755
--- a/server/src/com/cloud/acl/DomainChecker.java
+++ b/server/src/com/cloud/acl/DomainChecker.java
@@ -19,11 +19,12 @@ package com.cloud.acl;
import javax.ejb.Local;
import javax.inject.Inject;
+import org.springframework.stereotype.Component;
+
import org.apache.cloudstack.acl.ControlledEntity;
import org.apache.cloudstack.acl.SecurityChecker;
import org.apache.cloudstack.affinity.AffinityGroup;
import org.apache.cloudstack.api.BaseCmd;
-import org.springframework.stereotype.Component;
import com.cloud.dc.DataCenter;
import com.cloud.dc.DedicatedResourceVO;
@@ -145,7 +146,7 @@ public class DomainChecker extends AdapterBase implements SecurityChecker {
if (caller.getId() != entity.getAccountId()) {
throw new PermissionDeniedException(caller + " does not have permission to operate with resource " + entity);
}
- }
+ }
}
}
@@ -166,7 +167,7 @@ public class DomainChecker extends AdapterBase implements SecurityChecker {
//admin has all permissions
if (account.getType() == Account.ACCOUNT_TYPE_ADMIN) {
return true;
- }
+ }
//if account is normal user or domain admin
//check if account's domain is a child of zone's domain (Note: This is made consistent with the list command for disk offering)
else if (account.getType() == Account.ACCOUNT_TYPE_NORMAL || account.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN || account.getType() == Account.ACCOUNT_TYPE_DOMAIN_ADMIN) {
@@ -192,7 +193,7 @@ public class DomainChecker extends AdapterBase implements SecurityChecker {
}
//not found
return false;
- }
+ }
@Override
public boolean checkAccess(Account account, ServiceOffering so) throws PermissionDeniedException {
@@ -202,7 +203,7 @@ public class DomainChecker extends AdapterBase implements SecurityChecker {
//admin has all permissions
if (account.getType() == Account.ACCOUNT_TYPE_ADMIN) {
return true;
- }
+ }
//if account is normal user or domain admin
//check if account's domain is a child of zone's domain (Note: This is made consistent with the list command for service offering)
else if (account.getType() == Account.ACCOUNT_TYPE_NORMAL || account.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN || account.getType() == Account.ACCOUNT_TYPE_DOMAIN_ADMIN) {
@@ -228,7 +229,7 @@ public class DomainChecker extends AdapterBase implements SecurityChecker {
}
//not found
return false;
- }
+ }
@Override
public boolean checkAccess(Account account, DataCenter zone) throws PermissionDeniedException {
@@ -238,7 +239,7 @@ public class DomainChecker extends AdapterBase implements SecurityChecker {
//admin has all permissions
if (account.getType() == Account.ACCOUNT_TYPE_ADMIN) {
return true;
- }
+ }
//if account is normal user
//check if account's domain is a child of zone's domain
else if (account.getType() == Account.ACCOUNT_TYPE_NORMAL || account.getType() == Account.ACCOUNT_TYPE_PROJECT) {
@@ -298,7 +299,9 @@ public class DomainChecker extends AdapterBase implements SecurityChecker {
}
}
//didn't find in upper tree
- if (zoneDomainRecord.getPath().contains(accountDomainRecord.getPath())) {
+ if (zoneDomainRecord != null &&
+ accountDomainRecord != null &&
+ zoneDomainRecord.getPath().contains(accountDomainRecord.getPath())) {
return true;
}
}
[10/11] git commit: updated refs/heads/4.3 to d6bbfbb
Posted by da...@apache.org.
Findbugs: different issues solved
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/dcda79e2
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/dcda79e2
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/dcda79e2
Branch: refs/heads/4.3
Commit: dcda79e2c02fda4e0fe52f61bf61712742e1f0db
Parents: 1fb32b5
Author: Daan Hoogland <da...@onecht.net>
Authored: Sun Jan 26 23:14:17 2014 +0100
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Wed Jan 29 21:40:21 2014 +0100
----------------------------------------------------------------------
.../com/cloud/api/query/vo/UserVmJoinVO.java | 23 ++++---
.../com/cloud/consoleproxy/AgentHookBase.java | 27 +++++----
.../consoleproxy/ConsoleProxyManagerImpl.java | 6 +-
.../src/com/cloud/dc/DedicatedResourceVO.java | 25 ++++++--
.../com/cloud/network/IpAddressManagerImpl.java | 64 +++++++++++---------
.../src/com/cloud/network/NetworkModelImpl.java | 11 ++--
.../cloud/network/guru/ControlNetworkGuru.java | 8 +--
.../com/cloud/network/vpc/VpcManagerImpl.java | 4 +-
.../com/cloud/template/TemplateManagerImpl.java | 4 +-
9 files changed, 97 insertions(+), 75 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dcda79e2/server/src/com/cloud/api/query/vo/UserVmJoinVO.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/vo/UserVmJoinVO.java b/server/src/com/cloud/api/query/vo/UserVmJoinVO.java
index 25079ca..2bb0783 100644
--- a/server/src/com/cloud/api/query/vo/UserVmJoinVO.java
+++ b/server/src/com/cloud/api/query/vo/UserVmJoinVO.java
@@ -35,6 +35,7 @@ import com.cloud.server.ResourceTag.ResourceObjectType;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.Volume;
import com.cloud.utils.db.GenericDao;
+import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachine.State;
@@ -47,10 +48,10 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity {
private long id;
@Column(name="name", updatable=false, nullable=false, length=255)
- private String name = null;
+ private final String name = null;
@Column(name="display_name", updatable=false, nullable=false, length=255)
- private String displayName = null;
+ private final String displayName = null;
@Column(name="account_id")
private long accountId;
@@ -59,7 +60,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity {
private String accountUuid;
@Column(name="account_name")
- private String accountName = null;
+ private final String accountName = null;
@Column(name="account_type")
private short accountType;
@@ -71,10 +72,10 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity {
private String domainUuid;
@Column(name="domain_name")
- private String domainName = null;
+ private final String domainName = null;
@Column(name="domain_path")
- private String domainPath = null;
+ private final String domainPath = null;
@Column(name="instance_group_id")
private long instanceGroupId;
@@ -96,7 +97,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity {
*/
@Enumerated(value=EnumType.STRING)
@Column(name="state", updatable=true, nullable=false, length=32)
- private State state = null;
+ private final State state = null;
@Column(name=GenericDao.CREATED_COLUMN)
private Date created;
@@ -149,7 +150,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity {
private String dataCenterUuid;
@Column(name="data_center_name")
- private String dataCenterName = null;
+ private final String dataCenterName = null;
@Column(name="security_group_enabled")
private boolean securityGroupEnabled;
@@ -225,7 +226,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity {
private String volume_uuid;
@Column(name = "volume_device_id")
- private Long volumeDeviceId = null;
+ private final Long volumeDeviceId = null;
@Column(name = "volume_type")
@Enumerated(EnumType.STRING)
@@ -726,9 +727,11 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity {
}
public String getDetail(String name) {
- assert (details != null) : "Did you forget to load the details?";
+ if (details == null) {
+ throw new CloudRuntimeException("No details to get. Did you forget to load the details?");
+ }
- return details != null ? details.get(name) : null;
+ return details.get(name);
}
public String getUserData() {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dcda79e2/server/src/com/cloud/consoleproxy/AgentHookBase.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/consoleproxy/AgentHookBase.java b/server/src/com/cloud/consoleproxy/AgentHookBase.java
index aa9e4f8..660d1f2 100644
--- a/server/src/com/cloud/consoleproxy/AgentHookBase.java
+++ b/server/src/com/cloud/consoleproxy/AgentHookBase.java
@@ -22,6 +22,11 @@ import java.util.Random;
import org.apache.log4j.Logger;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+
+import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+
import com.cloud.agent.AgentManager;
import com.cloud.agent.api.AgentControlAnswer;
import com.cloud.agent.api.Answer;
@@ -44,14 +49,10 @@ import com.cloud.server.ManagementServer;
import com.cloud.servlet.ConsoleProxyPasswordBasedEncryptor;
import com.cloud.servlet.ConsoleProxyServlet;
import com.cloud.utils.Ternary;
+import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.dao.VMInstanceDao;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-
-import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
-
/**
* Utility class to manage interactions with agent-based console access
* Extracted from ConsoleProxyManagerImpl so that other console proxy managers
@@ -72,12 +73,12 @@ public abstract class AgentHookBase implements AgentHook {
public AgentHookBase(VMInstanceDao instanceDao, HostDao hostDao, ConfigurationDao cfgDao, KeystoreManager ksMgr,
AgentManager agentMgr, ManagementServer ms) {
- this._instanceDao = instanceDao;
- this._hostDao = hostDao;
- this._agentMgr = agentMgr;
- this._configDao = cfgDao;
- this._ksMgr = ksMgr;
- this._ms = ms;
+ _instanceDao = instanceDao;
+ _hostDao = hostDao;
+ _agentMgr = agentMgr;
+ _configDao = cfgDao;
+ _ksMgr = ksMgr;
+ _ms = ms;
}
@Override
@@ -204,7 +205,9 @@ public abstract class AgentHookBase implements AgentHook {
assert (ksBits != null);
if (ksBits == null) {
- s_logger.error("Could not find and construct a valid SSL certificate");
+ String msg = "Could not find and construct a valid SSL certificate";
+ s_logger.error(msg);
+ throw new CloudRuntimeException(msg);
}
cmd = new StartConsoleProxyAgentHttpHandlerCommand(ksBits, storePassword);
cmd.setEncryptorPassword(getEncryptorPassword());
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dcda79e2/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
index 8a31d73..05adc5f 100755
--- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
+++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
@@ -970,11 +970,7 @@ VirtualMachineGuru, SystemVmLoadScanHandler<Long>, ResourceStateAdapter {
}
} else {
if (s_logger.isDebugEnabled()) {
- if (template == null) {
- s_logger.debug("Zone host is ready, but console proxy template is null");
- } else {
- s_logger.debug("Zone host is ready, but console proxy template: " + template.getId() + " is not ready on secondary storage.");
- }
+ s_logger.debug("Zone host is ready, but console proxy template: " + template.getId() + " is not ready on secondary storage.");
}
}
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dcda79e2/server/src/com/cloud/dc/DedicatedResourceVO.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/dc/DedicatedResourceVO.java b/server/src/com/cloud/dc/DedicatedResourceVO.java
index 9caa6b0..1f66ecf 100644
--- a/server/src/com/cloud/dc/DedicatedResourceVO.java
+++ b/server/src/com/cloud/dc/DedicatedResourceVO.java
@@ -20,7 +20,6 @@ import java.util.UUID;
import javax.persistence.Column;
import javax.persistence.Entity;
-
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@@ -31,6 +30,11 @@ import javax.persistence.Table;
@Table(name="dedicated_resources")
public class DedicatedResourceVO implements DedicatedResources{
+ /**
+ *
+ */
+ private static final long serialVersionUID = -6659510127145101917L;
+
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id")
@@ -61,7 +65,7 @@ public class DedicatedResourceVO implements DedicatedResources{
private long affinityGroupId;
public DedicatedResourceVO() {
- this.uuid = UUID.randomUUID().toString();
+ uuid = UUID.randomUUID().toString();
}
public DedicatedResourceVO(Long dataCenterId, Long podId, Long clusterId, Long hostId, Long domainId,
@@ -72,14 +76,16 @@ public class DedicatedResourceVO implements DedicatedResources{
this.hostId = hostId;
this.domainId = domainId;
this.accountId = accountId;
- this.uuid = UUID.randomUUID().toString();
+ uuid = UUID.randomUUID().toString();
this.affinityGroupId = affinityGroupId;
}
+ @Override
public long getId() {
return id;
}
+ @Override
public Long getDataCenterId() {
return dataCenterId;
}
@@ -88,6 +94,7 @@ public class DedicatedResourceVO implements DedicatedResources{
this.dataCenterId = dataCenterId;
}
+ @Override
public Long getPodId() {
return podId;
}
@@ -96,6 +103,7 @@ public class DedicatedResourceVO implements DedicatedResources{
this.podId = podId;
}
+ @Override
public Long getClusterId() {
return clusterId;
}
@@ -104,6 +112,7 @@ public class DedicatedResourceVO implements DedicatedResources{
this.clusterId = clusterId;
}
+ @Override
public Long getHostId() {
return hostId;
}
@@ -113,9 +122,10 @@ public class DedicatedResourceVO implements DedicatedResources{
}
public DedicatedResourceVO(long dedicatedResourceId) {
- this.id = dedicatedResourceId;
+ id = dedicatedResourceId;
}
+ @Override
public Long getDomainId() {
return domainId;
}
@@ -124,6 +134,7 @@ public class DedicatedResourceVO implements DedicatedResources{
this.domainId = domainId;
}
+ @Override
public Long getAccountId() {
return accountId;
}
@@ -132,14 +143,16 @@ public class DedicatedResourceVO implements DedicatedResources{
this.accountId = accountId;
}
+ @Override
public String getUuid() {
- return this.uuid;
+ return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
+ @Override
public long getAffinityGroupId() {
return affinityGroupId;
}
@@ -147,7 +160,7 @@ public class DedicatedResourceVO implements DedicatedResources{
@Override
public boolean equals(Object obj) {
if (obj instanceof DedicatedResourceVO) {
- return ((DedicatedResourceVO) obj).getId() == this.getId();
+ return ((DedicatedResourceVO) obj).getId() == getId();
} else {
return false;
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dcda79e2/server/src/com/cloud/network/IpAddressManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/IpAddressManagerImpl.java b/server/src/com/cloud/network/IpAddressManagerImpl.java
index f4bff58..1ccd0d6 100644
--- a/server/src/com/cloud/network/IpAddressManagerImpl.java
+++ b/server/src/com/cloud/network/IpAddressManagerImpl.java
@@ -17,6 +17,7 @@
package com.cloud.network;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -29,6 +30,7 @@ import java.util.UUID;
import javax.inject.Inject;
import org.apache.log4j.Logger;
+
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
import org.apache.cloudstack.acl.SecurityChecker.AccessType;
import org.apache.cloudstack.context.CallContext;
@@ -138,14 +140,14 @@ 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.TransactionCallback;
-import com.cloud.utils.db.TransactionCallbackNoReturn;
-import com.cloud.utils.db.TransactionCallbackWithException;
import com.cloud.utils.db.JoinBuilder.JoinType;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
import com.cloud.utils.db.SearchCriteria.Op;
import com.cloud.utils.db.Transaction;
+import com.cloud.utils.db.TransactionCallback;
+import com.cloud.utils.db.TransactionCallbackNoReturn;
+import com.cloud.utils.db.TransactionCallbackWithException;
import com.cloud.utils.db.TransactionCallbackWithExceptionNoReturn;
import com.cloud.utils.db.TransactionStatus;
import com.cloud.utils.exception.CloudRuntimeException;
@@ -578,8 +580,9 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
IPAddressVO ip = markIpAsUnavailable(addrId);
- assert (ip != null) : "Unable to mark the ip address id=" + addrId + " as unavailable.";
if (ip == null) {
+ String msg = "Unable to mark the ip address id=" + addrId + " as unavailable.";
+ s_logger.error(msg);
return true;
}
@@ -692,10 +695,10 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
if (dedicatedVlanDbIds != null && !dedicatedVlanDbIds.isEmpty()) {
fetchFromDedicatedRange = true;
sc.setParameters("vlanId", dedicatedVlanDbIds.toArray());
- errorMessage.append(", vlanId id=" + dedicatedVlanDbIds.toArray());
+ errorMessage.append(", vlanId id=" + Arrays.toString(dedicatedVlanDbIds.toArray()));
} else if (nonDedicatedVlanDbIds != null && !nonDedicatedVlanDbIds.isEmpty()) {
sc.setParameters("vlanId", nonDedicatedVlanDbIds.toArray());
- errorMessage.append(", vlanId id=" + nonDedicatedVlanDbIds.toArray());
+ errorMessage.append(", vlanId id=" + Arrays.toString(nonDedicatedVlanDbIds.toArray()));
} else {
if (podId != null) {
InsufficientAddressCapacityException ex = new InsufficientAddressCapacityException("Insufficient address capacity", Pod.class, podId);
@@ -735,7 +738,7 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
if (useSystemIps && nonDedicatedVlanDbIds != null && !nonDedicatedVlanDbIds.isEmpty()) {
fetchFromDedicatedRange = false;
sc.setParameters("vlanId", nonDedicatedVlanDbIds.toArray());
- errorMessage.append(", vlanId id=" + nonDedicatedVlanDbIds.toArray());
+ errorMessage.append(", vlanId id=" + Arrays.toString(nonDedicatedVlanDbIds.toArray()));
addrs = _ipAddressDao.lockRows(sc, filter, true);
}
}
@@ -868,6 +871,11 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
public PublicIp assignDedicateIpAddress(Account owner, final Long guestNtwkId, final Long vpcId, final long dcId, final boolean isSourceNat) throws ConcurrentOperationException,
InsufficientAddressCapacityException {
+ if (owner == null) {
+ s_logger.error("No account to assign an ip to.");
+ return null;
+ }
+
final long ownerId = owner.getId();
PublicIp ip = null;
@@ -899,13 +907,11 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
return ip;
} finally {
- if (owner != null) {
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Releasing lock account " + ownerId);
- }
-
- _accountDao.releaseFromLockTable(ownerId);
+ if (s_logger.isDebugEnabled()) {
+ s_logger.debug("Releasing lock account " + ownerId);
}
+ _accountDao.releaseFromLockTable(ownerId);
+
if (ip == null) {
s_logger.error("Unable to get source nat ip address for account " + ownerId);
}
@@ -1253,7 +1259,7 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
s_logger.debug("Associating ip " + ipToAssoc + " to network " + network);
- IPAddressVO ip = _ipAddressDao.findById(ipId);
+ IPAddressVO ip = ipToAssoc; //_ipAddressDao.findById(ipId);
//update ip address with networkId
ip.setAssociatedWithNetworkId(networkId);
ip.setSourceNat(isSourceNat);
@@ -1270,18 +1276,16 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
return ip;
} finally {
if (!success && releaseOnFailure) {
- if (ip != null) {
- try {
- s_logger.warn("Failed to associate ip address, so releasing ip from the database " + ip);
- _ipAddressDao.markAsUnavailable(ip.getId());
- if (!applyIpAssociations(network, true)) {
- // if fail to apply ip assciations again, unassign ip address without updating resource
- // count and generating usage event as there is no need to keep it in the db
- _ipAddressDao.unassignIpAddress(ip.getId());
- }
- } catch (Exception e) {
- s_logger.warn("Unable to disassociate ip address for recovery", e);
+ try {
+ s_logger.warn("Failed to associate ip address, so releasing ip from the database " + ip);
+ _ipAddressDao.markAsUnavailable(ip.getId());
+ if (!applyIpAssociations(network, true)) {
+ // if fail to apply ip assciations again, unassign ip address without updating resource
+ // count and generating usage event as there is no need to keep it in the db
+ _ipAddressDao.unassignIpAddress(ip.getId());
}
+ } catch (Exception e) {
+ s_logger.warn("Unable to disassociate ip address for recovery", e);
}
}
}
@@ -1362,7 +1366,7 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
PublicIp publicIp = PublicIp.createFromAddrAndVlan(ipToAssoc, _vlanDao.findById(ipToAssoc.getVlanId()));
ipList.add(publicIp);
Map<PublicIpAddress, Set<Service>> ipToServices = _networkModel.getIpToServices(ipList, false, true);
- if (ipToServices != null & !ipToServices.isEmpty()) {
+ if (ipToServices != null && !ipToServices.isEmpty()) {
Set<Service> services = ipToServices.get(publicIp);
if (services != null && !services.isEmpty()) {
throw new InvalidParameterValueException("IP " + ipToAssoc + " has services and rules associated in the network " + networkId);
@@ -1403,7 +1407,7 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
PublicIp publicIp = PublicIp.createFromAddrAndVlan(ip, _vlanDao.findById(ip.getVlanId()));
ipList.add(publicIp);
Map<PublicIpAddress, Set<Service>> ipToServices = _networkModel.getIpToServices(ipList, false, true);
- if (ipToServices != null & !ipToServices.isEmpty()) {
+ if (ipToServices != null && !ipToServices.isEmpty()) {
Set<Service> ipServices = ipToServices.get(publicIp);
if (ipServices != null && !ipServices.isEmpty()) {
return false;
@@ -1732,14 +1736,14 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
@Override
public boolean applyStaticNats(List<? extends StaticNat> staticNats, boolean continueOnError, boolean forRevoke) throws ResourceUnavailableException {
- Network network = _networksDao.findById(staticNats.get(0).getNetworkId());
- boolean success = true;
-
if (staticNats == null || staticNats.size() == 0) {
s_logger.debug("There are no static nat rules for the network elements");
return true;
}
+ Network network = _networksDao.findById(staticNats.get(0).getNetworkId());
+ boolean success = true;
+
// get the list of public ip's owned by the network
List<IPAddressVO> userIps = _ipAddressDao.listByAssociatedNetwork(network.getId(), null);
List<PublicIp> publicIps = new ArrayList<PublicIp>();
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dcda79e2/server/src/com/cloud/network/NetworkModelImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkModelImpl.java b/server/src/com/cloud/network/NetworkModelImpl.java
index 27b2006..7281beb 100755
--- a/server/src/com/cloud/network/NetworkModelImpl.java
+++ b/server/src/com/cloud/network/NetworkModelImpl.java
@@ -1024,14 +1024,14 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel {
List<NetworkOfferingServiceMapVO> map = _ntwkOfferingSrvcDao.listByNetworkOfferingId(networkOfferingId);
for (NetworkOfferingServiceMapVO instance : map) {
- String service = instance.getService();
+ Service service = Network.Service.getService(instance.getService());
Set<Provider> providers;
providers = serviceProviderMap.get(service);
if (providers == null) {
providers = new HashSet<Provider>();
}
providers.add(Provider.getProvider(instance.getProvider()));
- serviceProviderMap.put(Service.getService(service), providers);
+ serviceProviderMap.put(service, providers);
}
return serviceProviderMap;
@@ -1526,12 +1526,15 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel {
@Override
public void checkNetworkPermissions(Account owner, Network network) {
+ if (network == null) {
+ throw new CloudRuntimeException("no network to check permissions for.");
+ }
// Perform account permission check
if (network.getGuestType() != Network.GuestType.Shared
|| (network.getGuestType() == Network.GuestType.Shared && network.getAclType() == ACLType.Account)) {
AccountVO networkOwner = _accountDao.findById(network.getAccountId());
if(networkOwner == null)
- throw new PermissionDeniedException("Unable to use network with id= " + ((network != null)? ((NetworkVO)network).getUuid() : "") + ", network does not have an owner");
+ throw new PermissionDeniedException("Unable to use network with id= " + ((NetworkVO)network).getUuid() + ", network does not have an owner");
if(owner.getType() != Account.ACCOUNT_TYPE_PROJECT && networkOwner.getType() == Account.ACCOUNT_TYPE_PROJECT){
if(!_projectAccountDao.canAccessProjectAccount(owner.getAccountId(), network.getAccountId())){
throw new PermissionDeniedException("Unable to use network with id= " + ((network != null)? ((NetworkVO)network).getUuid() : "") + ", permission denied");
@@ -1545,7 +1548,7 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel {
} else {
if (!isNetworkAvailableInDomain(network.getId(), owner.getDomainId())) {
- throw new PermissionDeniedException("Shared network id=" + ((network != null)? ((NetworkVO)network).getUuid() : "") + " is not available in domain id=" + owner.getDomainId());
+ throw new PermissionDeniedException("Shared network id=" + ((NetworkVO)network).getUuid() + " is not available in domain id=" + owner.getDomainId());
}
}
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dcda79e2/server/src/com/cloud/network/guru/ControlNetworkGuru.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/guru/ControlNetworkGuru.java b/server/src/com/cloud/network/guru/ControlNetworkGuru.java
index 26caa61..a8274d3 100755
--- a/server/src/com/cloud/network/guru/ControlNetworkGuru.java
+++ b/server/src/com/cloud/network/guru/ControlNetworkGuru.java
@@ -134,7 +134,7 @@ public class ControlNetworkGuru extends PodBasedNetworkGuru implements NetworkGu
assert nic.getTrafficType() == TrafficType.Control;
// we have to get management/private ip for the control nic for vmware/hyperv due ssh issues.
- HypervisorType hType = dest.getHost().getHypervisorType();
+ HypervisorType hType = dest.getHost().getHypervisorType();
if ( ( (hType == HypervisorType.VMware) || (hType == HypervisorType.Hyperv) )&& isRouterVm(vm)) {
if(dest.getDataCenter().getNetworkType() != NetworkType.Basic) {
super.reserve(nic, config, vm, dest, context);
@@ -168,7 +168,7 @@ public class ControlNetworkGuru extends PodBasedNetworkGuru implements NetworkGu
@Override
public boolean release(NicProfile nic, VirtualMachineProfile vm, String reservationId) {
assert nic.getTrafficType() == TrafficType.Control;
- HypervisorType hType = vm.getHypervisorType();
+ HypervisorType hType = vm.getHypervisorType();
if ( ( (hType == HypervisorType.VMware) || (hType == HypervisorType.Hyperv) )&& isRouterVm(vm)) {
long dcId = vm.getVirtualMachine().getDataCenterId();
DataCenterVO dcVo = _dcDao.findById(dcId);
@@ -218,12 +218,12 @@ public class ControlNetworkGuru extends PodBasedNetworkGuru implements NetworkGu
Map<String, String> dbParams = _configDao.getConfiguration(params);
- _cidr = dbParams.get(Config.ControlCidr);
+ _cidr = dbParams.get(Config.ControlCidr.toString());
if (_cidr == null) {
_cidr = "169.254.0.0/16";
}
- _gateway = dbParams.get(Config.ControlGateway);
+ _gateway = dbParams.get(Config.ControlGateway.toString());
if (_gateway == null) {
_gateway = NetUtils.getLinkLocalGateway();
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dcda79e2/server/src/com/cloud/network/vpc/VpcManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
index b9dd729..3ae194f 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -432,14 +432,14 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis
List<VpcOfferingServiceMapVO> map = _vpcOffSvcMapDao.listByVpcOffId(vpcOffId);
for (VpcOfferingServiceMapVO instance : map) {
- String service = instance.getService();
+ Service service = Service.getService(instance.getService());
Set<Provider> providers;
providers = serviceProviderMap.get(service);
if (providers == null) {
providers = new HashSet<Provider>();
}
providers.add(Provider.getProvider(instance.getProvider()));
- serviceProviderMap.put(Service.getService(service), providers);
+ serviceProviderMap.put(service, providers);
}
return serviceProviderMap;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dcda79e2/server/src/com/cloud/template/TemplateManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/template/TemplateManagerImpl.java b/server/src/com/cloud/template/TemplateManagerImpl.java
index 681be4a..33ba667 100755
--- a/server/src/com/cloud/template/TemplateManagerImpl.java
+++ b/server/src/com/cloud/template/TemplateManagerImpl.java
@@ -425,7 +425,7 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager,
if (isISO) {
desc = Upload.Type.ISO.toString();
}
- eventId = eventId == null ? 0 : eventId;
+ eventId = (eventId == null ? 0 : eventId);
if (!_accountMgr.isRootAdmin(caller.getType()) && _disableExtraction) {
throw new PermissionDeniedException("Extraction has been disabled by admin");
@@ -1801,7 +1801,7 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager,
}
// Don't allow to modify system template
- if (id == Long.valueOf(1)) {
+ if (Long.valueOf(1).equals(id)) {
InvalidParameterValueException ex = new InvalidParameterValueException("Unable to update template/iso of specified id");
ex.addProxyObject(String.valueOf(id), "templateId");
throw ex;
[04/11] git commit: updated refs/heads/4.3 to d6bbfbb
Posted by da...@apache.org.
restored imports
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/da344bb2
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/da344bb2
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/da344bb2
Branch: refs/heads/4.3
Commit: da344bb23406a24bc4bedb6949dfbfe6993e607b
Parents: 30b7fa5
Author: Daan Hoogland <da...@onecht.net>
Authored: Sun Jan 26 00:34:41 2014 +0100
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Wed Jan 29 21:29:50 2014 +0100
----------------------------------------------------------------------
.../allocator/impl/UserConcentratedAllocator.java | 12 ++++++++++++
server/src/com/cloud/api/ApiResponseHelper.java | 2 +-
2 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/da344bb2/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java b/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java
index 8101da9..e2e06c2 100755
--- a/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java
+++ b/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java
@@ -32,18 +32,30 @@ import org.apache.log4j.Logger;
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
import com.cloud.agent.manager.allocator.PodAllocator;
+import com.cloud.capacity.CapacityVO;
+import com.cloud.capacity.dao.CapacityDao;
import com.cloud.dc.DataCenter;
+import com.cloud.dc.HostPodVO;
import com.cloud.dc.Pod;
+import com.cloud.dc.dao.HostPodDao;
import com.cloud.offering.ServiceOffering;
+import com.cloud.service.dao.ServiceOfferingDao;
+import com.cloud.storage.VolumeVO;
+import com.cloud.storage.dao.VMTemplatePoolDao;
+import com.cloud.storage.dao.VolumeDao;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.utils.DateUtil;
import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair;
import com.cloud.utils.component.AdapterBase;
import com.cloud.utils.db.SearchCriteria;
+import com.cloud.vm.UserVmVO;
+import com.cloud.vm.VMInstanceVO;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachine.State;
import com.cloud.vm.VirtualMachineProfile;
+import com.cloud.vm.dao.UserVmDao;
+import com.cloud.vm.dao.VMInstanceDao;
@Local(value = PodAllocator.class)
public class UserConcentratedAllocator extends AdapterBase implements PodAllocator {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/da344bb2/server/src/com/cloud/api/ApiResponseHelper.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java
index 8cfc859..ceb4ad6 100755
--- a/server/src/com/cloud/api/ApiResponseHelper.java
+++ b/server/src/com/cloud/api/ApiResponseHelper.java
@@ -387,7 +387,7 @@ public class ApiResponseHelper implements ResponseGenerator {
}
resourceLimitResponse.setResourceType(Integer.valueOf(limit.getType().getOrdinal()).toString());
if((limit.getType() == ResourceType.primary_storage || limit.getType() == ResourceType.secondary_storage) && limit.getMax() >= 0) {
- resourceLimitResponse.setMax((long) Math.ceil(limit.getMax()/ResourceType.bytesToGiB));
+ resourceLimitResponse.setMax((long)Math.ceil((limit.getMax() / ResourceType.bytesToGiB)));
} else {
resourceLimitResponse.setMax(limit.getMax());
}
[06/11] git commit: updated refs/heads/4.3 to d6bbfbb
Posted by da...@apache.org.
Findbugs issues in ApiResponseHelper fixes
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c3a63b6b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c3a63b6b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c3a63b6b
Branch: refs/heads/4.3
Commit: c3a63b6b5ae5bad3e753d7bd348612f53ca8ebac
Parents: 9776e1a
Author: Daan Hoogland <da...@onecht.net>
Authored: Sun Jan 26 12:25:18 2014 +0100
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Wed Jan 29 21:31:54 2014 +0100
----------------------------------------------------------------------
.../com/cloud/network/rules/FirewallRule.java | 3 ++-
api/src/com/cloud/network/vpc/StaticRoute.java | 3 ++-
server/src/com/cloud/api/ApiResponseHelper.java | 21 +++++++++-----------
3 files changed, 13 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c3a63b6b/api/src/com/cloud/network/rules/FirewallRule.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/network/rules/FirewallRule.java b/api/src/com/cloud/network/rules/FirewallRule.java
index 042665c..0c74d02 100644
--- a/api/src/com/cloud/network/rules/FirewallRule.java
+++ b/api/src/com/cloud/network/rules/FirewallRule.java
@@ -41,7 +41,8 @@ public interface FirewallRule extends ControlledEntity, Identity, InternalIdenti
Staged, // Rule been created but has never got through network rule conflict detection. Rules in this state can not be sent to network elements.
Add, // Add means the rule has been created and has gone through network rule conflict detection.
Active, // Rule has been sent to the network elements and reported to be active.
- Revoke // Revoke means this rule has been revoked. If this rule has been sent to the network elements, the rule will be deleted from database.
+ Revoke, // Revoke means this rule has been revoked. If this rule has been sent to the network elements, the rule will be deleted from database.
+ Deleting // rule has been revoked and is scheduled for deletion
}
enum TrafficType {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c3a63b6b/api/src/com/cloud/network/vpc/StaticRoute.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/network/vpc/StaticRoute.java b/api/src/com/cloud/network/vpc/StaticRoute.java
index ccdbec8..5707ca1 100644
--- a/api/src/com/cloud/network/vpc/StaticRoute.java
+++ b/api/src/com/cloud/network/vpc/StaticRoute.java
@@ -25,7 +25,8 @@ public interface StaticRoute extends ControlledEntity, Identity, InternalIdentit
Staged, // route been created but has never got through network rule conflict detection. Routes in this state can not be sent to VPC virtual router.
Add, // Add means the route has been created and has gone through network rule conflict detection.
Active, // Route has been sent to the VPC router and reported to be active.
- Revoke // Revoke means this route has been revoked. If this route has been sent to the VPC router, the route will be deleted from database.
+ Revoke, // Revoke means this route has been revoked. If this route has been sent to the VPC router, the route will be deleted from database.
+ Deleting // rule has been revoked and is scheduled for deletion
}
/**
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c3a63b6b/server/src/com/cloud/api/ApiResponseHelper.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java
index ceb4ad6..5bd8241 100755
--- a/server/src/com/cloud/api/ApiResponseHelper.java
+++ b/server/src/com/cloud/api/ApiResponseHelper.java
@@ -31,6 +31,8 @@ import java.util.TimeZone;
import javax.inject.Inject;
+import org.apache.log4j.Logger;
+
import org.apache.cloudstack.acl.ControlledEntity;
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
import org.apache.cloudstack.affinity.AffinityGroup;
@@ -146,7 +148,6 @@ import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
import org.apache.cloudstack.usage.Usage;
import org.apache.cloudstack.usage.UsageService;
import org.apache.cloudstack.usage.UsageTypes;
-import org.apache.log4j.Logger;
import com.cloud.api.query.ViewResponseHelper;
import com.cloud.api.query.vo.AccountJoinVO;
@@ -285,7 +286,6 @@ import com.cloud.uservm.UserVm;
import com.cloud.utils.Pair;
import com.cloud.utils.StringUtils;
import com.cloud.utils.db.EntityManager;
-import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.utils.net.Ip;
import com.cloud.utils.net.NetUtils;
import com.cloud.vm.ConsoleProxyVO;
@@ -387,7 +387,7 @@ public class ApiResponseHelper implements ResponseGenerator {
}
resourceLimitResponse.setResourceType(Integer.valueOf(limit.getType().getOrdinal()).toString());
if((limit.getType() == ResourceType.primary_storage || limit.getType() == ResourceType.secondary_storage) && limit.getMax() >= 0) {
- resourceLimitResponse.setMax((long)Math.ceil((limit.getMax() / ResourceType.bytesToGiB)));
+ resourceLimitResponse.setMax((long)Math.ceil((double)limit.getMax() / ResourceType.bytesToGiB));
} else {
resourceLimitResponse.setMax(limit.getMax());
}
@@ -1951,8 +1951,6 @@ public class ApiResponseHelper implements ResponseGenerator {
public SecurityGroupResponse createSecurityGroupResponseFromSecurityGroupRule(List<? extends SecurityRule> securityRules) {
SecurityGroupResponse response = new SecurityGroupResponse();
Map<Long, Account> securiytGroupAccounts = new HashMap<Long, Account>();
- Map<Long, SecurityGroup> allowedSecurityGroups = new HashMap<Long, SecurityGroup>();
- Map<Long, Account> allowedSecuriytGroupAccounts = new HashMap<Long, Account>();
if ((securityRules != null) && !securityRules.isEmpty()) {
SecurityGroupJoinVO securityGroup = ApiDBUtils.findSecurityGroupViewById(securityRules.get(0).getSecurityGroupId()).get(0);
@@ -3137,11 +3135,10 @@ public class ApiResponseHelper implements ResponseGenerator {
response.setCidr(result.getCidr());
StaticRoute.State state = result.getState();
- String stateToSet = state.toString();
- if (state.equals(FirewallRule.State.Revoke)) {
- stateToSet = "Deleting";
+ if (state.equals(StaticRoute.State.Revoke)) {
+ state = StaticRoute.State.Deleting;
}
- response.setState(stateToSet);
+ response.setState(state.toString());
populateAccount(response, result.getAccountId());
populateDomain(response, result.getDomainId());
@@ -3629,11 +3626,11 @@ public class ApiResponseHelper implements ResponseGenerator {
ApplicationLoadBalancerRuleResponse ruleResponse = new ApplicationLoadBalancerRuleResponse();
ruleResponse.setInstancePort(lb.getDefaultPortStart());
ruleResponse.setSourcePort(lb.getSourcePortStart());
- String stateToSet = lb.getState().toString();
+ FirewallRule.State stateToSet = lb.getState();
if (stateToSet.equals(FirewallRule.State.Revoke)) {
- stateToSet = "Deleting";
+ stateToSet = FirewallRule.State.Deleting;
}
- ruleResponse.setState(stateToSet);
+ ruleResponse.setState(stateToSet.toString());
ruleResponse.setObjectName("loadbalancerrule");
ruleResponses.add(ruleResponse);
lbResponse.setLbRules(ruleResponses);
[03/11] git commit: updated refs/heads/4.3 to d6bbfbb
Posted by da...@apache.org.
moved call on static object to synchronized block
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/30b7fa59
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/30b7fa59
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/30b7fa59
Branch: refs/heads/4.3
Commit: 30b7fa59198b817c7ac04ec7075d5192080f8a67
Parents: 5296c12
Author: Daan Hoogland <da...@onecht.net>
Authored: Sat Jan 25 23:46:18 2014 +0100
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Wed Jan 29 21:28:25 2014 +0100
----------------------------------------------------------------------
server/src/com/cloud/api/ApiDispatcher.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/30b7fa59/server/src/com/cloud/api/ApiDispatcher.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiDispatcher.java b/server/src/com/cloud/api/ApiDispatcher.java
index 44fb676..9624c61 100755
--- a/server/src/com/cloud/api/ApiDispatcher.java
+++ b/server/src/com/cloud/api/ApiDispatcher.java
@@ -429,9 +429,9 @@ public class ApiDispatcher {
}
}
} else {
- DateFormat format = BaseCmd.INPUT_FORMAT;
- format.setLenient(false);
+ final DateFormat format = BaseCmd.INPUT_FORMAT;
synchronized (format) {
+ format.setLenient(false);
field.set(cmdObj, format.parse(paramObj.toString()));
}
}
[08/11] git commit: updated refs/heads/4.3 to d6bbfbb
Posted by da...@apache.org.
findbugs: retrieve the objects to remove from the collection(s)
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/eb239b96
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/eb239b96
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/eb239b96
Branch: refs/heads/4.3
Commit: eb239b9689cf0367b687b48420018fa913972abb
Parents: 594fd42
Author: Daan Hoogland <da...@onecht.net>
Authored: Sun Jan 26 16:07:59 2014 +0100
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Wed Jan 29 21:38:40 2014 +0100
----------------------------------------------------------------------
.../deploy/DeploymentPlanningManagerImpl.java | 43 +++++++++++---------
1 file changed, 24 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eb239b96/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
index 21366f5..0a25805 100644
--- a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
+++ b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
@@ -31,6 +31,8 @@ import javax.ejb.Local;
import javax.inject.Inject;
import javax.naming.ConfigurationException;
+import org.apache.log4j.Logger;
+
import org.apache.cloudstack.affinity.AffinityGroupProcessor;
import org.apache.cloudstack.affinity.AffinityGroupService;
import org.apache.cloudstack.affinity.AffinityGroupVMMapVO;
@@ -49,8 +51,16 @@ import org.apache.cloudstack.managed.context.ManagedContextTimerTask;
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
import org.apache.cloudstack.utils.identity.ManagementServerNode;
-import org.apache.log4j.Logger;
+import com.cloud.agent.AgentManager;
+import com.cloud.agent.Listener;
+import com.cloud.agent.api.AgentControlAnswer;
+import com.cloud.agent.api.AgentControlCommand;
+import com.cloud.agent.api.Answer;
+import com.cloud.agent.api.Command;
+import com.cloud.agent.api.StartupCommand;
+import com.cloud.agent.api.StartupRoutingCommand;
+import com.cloud.agent.manager.allocator.HostAllocator;
import com.cloud.capacity.CapacityManager;
import com.cloud.capacity.dao.CapacityDao;
import com.cloud.configuration.Config;
@@ -71,7 +81,6 @@ import com.cloud.deploy.dao.PlannerHostReservationDao;
import com.cloud.exception.AffinityConflictException;
import com.cloud.exception.ConnectionException;
import com.cloud.exception.InsufficientServerCapacityException;
-import com.cloud.exception.PermissionDeniedException;
import com.cloud.host.Host;
import com.cloud.host.HostVO;
import com.cloud.host.Status;
@@ -104,7 +113,6 @@ import com.cloud.utils.db.DB;
import com.cloud.utils.db.SearchCriteria;
import com.cloud.utils.db.Transaction;
import com.cloud.utils.db.TransactionCallback;
-import com.cloud.utils.db.TransactionCallbackNoReturn;
import com.cloud.utils.db.TransactionStatus;
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.utils.fsm.StateListener;
@@ -113,19 +121,10 @@ import com.cloud.vm.ReservationContext;
import com.cloud.vm.VMInstanceVO;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachine.Event;
-import com.cloud.vm.VirtualMachineProfile;
import com.cloud.vm.VirtualMachine.State;
+import com.cloud.vm.VirtualMachineProfile;
import com.cloud.vm.dao.UserVmDao;
import com.cloud.vm.dao.VMInstanceDao;
-import com.cloud.agent.AgentManager;
-import com.cloud.agent.Listener;
-import com.cloud.agent.api.AgentControlAnswer;
-import com.cloud.agent.api.AgentControlCommand;
-import com.cloud.agent.api.Answer;
-import com.cloud.agent.api.Command;
-import com.cloud.agent.api.StartupCommand;
-import com.cloud.agent.api.StartupRoutingCommand;
-import com.cloud.agent.manager.allocator.HostAllocator;
@Local(value = { DeploymentPlanningManager.class })
@@ -209,7 +208,7 @@ public class DeploymentPlanningManagerImpl extends ManagerBase implements Deploy
return _affinityProcessors;
}
public void setAffinityGroupProcessors(List<AffinityGroupProcessor> affinityProcessors) {
- this._affinityProcessors = affinityProcessors;
+ _affinityProcessors = affinityProcessors;
}
@Override
@@ -953,7 +952,7 @@ public class DeploymentPlanningManagerImpl extends ManagerBase implements Deploy
}
// Cluster can be put in avoid set in following scenarios:
- // 1. If storage allocators haven't put any pools in avoid set means either no pools in cluster
+ // 1. If storage allocators haven't put any pools in avoid set means either no pools in cluster
// or pools not suitable for the allocators to handle or there is no
// linkage of any suitable host to any of the pools in cluster
// 2. If all 'shared' or 'local' pools are in avoid set
@@ -1154,9 +1153,9 @@ public class DeploymentPlanningManagerImpl extends ManagerBase implements Deploy
List<StoragePool> suitablePools = new ArrayList<StoragePool>();
StoragePool pool = null;
if (toBeCreated.getPoolId() != null) {
- pool = (StoragePool) this.dataStoreMgr.getPrimaryDataStore(toBeCreated.getPoolId());
+ pool = (StoragePool) dataStoreMgr.getPrimaryDataStore(toBeCreated.getPoolId());
} else {
- pool = (StoragePool) this.dataStoreMgr.getPrimaryDataStore(plan.getPoolId());
+ pool = (StoragePool) dataStoreMgr.getPrimaryDataStore(plan.getPoolId());
}
if (!pool.isInMaintenance()) {
@@ -1169,7 +1168,7 @@ public class DeploymentPlanningManagerImpl extends ManagerBase implements Deploy
&& plan.getClusterId() == exstPoolClusterId) {
canReusePool = true;
} else if (plan.getDataCenterId() == exstPoolDcId) {
- DataStore dataStore = this.dataStoreMgr.getPrimaryDataStore(pool.getId());
+ DataStore dataStore = dataStoreMgr.getPrimaryDataStore(pool.getId());
if (dataStore != null && dataStore.getScope() != null
&& dataStore.getScope().getScopeType() == ScopeType.ZONE) {
canReusePool = true;
@@ -1274,7 +1273,13 @@ public class DeploymentPlanningManagerImpl extends ManagerBase implements Deploy
}
}
if (suitableVolumeStoragePools.values() != null) {
- poolsToAvoidOutput.removeAll(suitableVolumeStoragePools.values());
+ HashSet<Long> toRemove = new HashSet<Long>();
+ for (List<StoragePool> lsp : suitableVolumeStoragePools.values()) {
+ for (StoragePool sp : lsp) {
+ toRemove.add(sp.getId());
+ }
+ }
+ poolsToAvoidOutput.removeAll(toRemove);
}
if (avoid.getPoolsToAvoid() != null) {
avoid.getPoolsToAvoid().addAll(poolsToAvoidOutput);
[05/11] git commit: updated refs/heads/4.3 to d6bbfbb
Posted by da...@apache.org.
Fix findbug issues within LDAP authenticator
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9776e1af
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9776e1af
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9776e1af
Branch: refs/heads/4.3
Commit: 9776e1af1c92486f5081b1ee8fa95cf0edb86b97
Parents: da344bb
Author: Ian Duffy <ia...@ianduffy.ie>
Authored: Sun Jan 26 00:34:25 2014 +0000
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Wed Jan 29 21:31:12 2014 +0100
----------------------------------------------------------------------
.../cloudstack/api/command/LDAPConfigCmd.java | 2 +-
.../api/command/LdapCreateAccountCmd.java | 244 +++++++++----------
.../api/command/LdapImportUsersCmd.java | 17 +-
.../cloudstack/ldap/LdapContextFactory.java | 2 -
.../ldap/LdapAuthenticatorSpec.groovy | 8 +-
.../cloudstack/ldap/LdapManagerImplSpec.groovy | 16 +-
6 files changed, 137 insertions(+), 152 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9776e1af/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LDAPConfigCmd.java
----------------------------------------------------------------------
diff --git a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LDAPConfigCmd.java b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LDAPConfigCmd.java
index 3faf8b7..a4883c5 100644
--- a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LDAPConfigCmd.java
+++ b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LDAPConfigCmd.java
@@ -209,7 +209,7 @@ public class LDAPConfigCmd extends BaseCmd {
}
private boolean updateLDAP() {
- LdapConfigurationResponse response = _ldapManager.addConfiguration(hostname, port);
+ _ldapManager.addConfiguration(hostname, port);
/**
* There is no query filter now. It is derived from ldap.user.object and ldap.search.group.principle
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9776e1af/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapCreateAccountCmd.java
----------------------------------------------------------------------
diff --git a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapCreateAccountCmd.java b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapCreateAccountCmd.java
index 981e72e..b78b484 100644
--- a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapCreateAccountCmd.java
+++ b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapCreateAccountCmd.java
@@ -35,7 +35,6 @@ import org.apache.cloudstack.context.CallContext;
import org.apache.cloudstack.ldap.LdapManager;
import org.apache.cloudstack.ldap.LdapUser;
import org.apache.log4j.Logger;
-import org.bouncycastle.util.encoders.Base64;
import com.cloud.user.Account;
import com.cloud.user.AccountService;
@@ -43,125 +42,126 @@ import com.cloud.user.UserAccount;
@APICommand(name = "ldapCreateAccount", description = "Creates an account from an LDAP user", responseObject = AccountResponse.class, since = "4.2.0")
public class LdapCreateAccountCmd extends BaseCmd {
- public static final Logger s_logger = Logger
- .getLogger(LdapCreateAccountCmd.class.getName());
- private static final String s_name = "createaccountresponse";
-
- @Inject
- private LdapManager _ldapManager;
-
- @Parameter(name = ApiConstants.ACCOUNT, type = CommandType.STRING, description = "Creates the user under the specified account. If no account is specified, the username will be used as the account name.")
- private String accountName;
-
- @Parameter(name = ApiConstants.ACCOUNT_TYPE, type = CommandType.SHORT, required = true, description = "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin")
- private Short accountType;
-
- @Parameter(name = ApiConstants.DOMAIN_ID, type = CommandType.UUID, entityType = DomainResponse.class, description = "Creates the user under the specified domain.")
- private Long domainId;
-
- @Parameter(name = ApiConstants.TIMEZONE, type = CommandType.STRING, description = "Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format.")
- private String timezone;
-
- @Parameter(name = ApiConstants.USERNAME, type = CommandType.STRING, required = true, description = "Unique username.")
- private String username;
-
- @Parameter(name = ApiConstants.NETWORK_DOMAIN, type = CommandType.STRING, description = "Network domain for the account's networks")
- private String networkDomain;
-
- @Parameter(name = ApiConstants.ACCOUNT_DETAILS, type = CommandType.MAP, description = "details for account used to store specific parameters")
- private Map<String, String> details;
-
- @Parameter(name = ApiConstants.ACCOUNT_ID, type = CommandType.STRING, description = "Account UUID, required for adding account from external provisioning system")
- private String accountUUID;
-
- @Parameter(name = ApiConstants.USER_ID, type = CommandType.STRING, description = "User UUID, required for adding account from external provisioning system")
- private String userUUID;
-
- public LdapCreateAccountCmd() {
- super();
- }
-
- public LdapCreateAccountCmd(final LdapManager ldapManager,
- final AccountService accountService) {
- super();
- _ldapManager = ldapManager;
- _accountService = accountService;
- }
-
- UserAccount createCloudstackUserAccount(final LdapUser user) {
- return _accountService.createUserAccount(username, generatePassword(),
- user.getFirstname(), user.getLastname(), user.getEmail(),
- timezone, accountName, accountType, domainId, networkDomain,
- details, accountUUID, userUUID);
- }
-
- @Override
- public void execute() throws ServerApiException {
- final CallContext callContext = getCurrentContext();
- callContext.setEventDetails("Account Name: " + accountName
- + ", Domain Id:" + domainId);
- try {
- final LdapUser user = _ldapManager.getUser(username);
- validateUser(user);
- final UserAccount userAccount = createCloudstackUserAccount(user);
- if (userAccount != null) {
- final AccountResponse response = _responseGenerator
- .createUserAccountResponse(userAccount);
- response.setResponseName(getCommandName());
- setResponseObject(response);
- } else {
- throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR,
- "Failed to create a user account");
- }
- } catch (final NamingException e) {
- throw new ServerApiException(
- ApiErrorCode.RESOURCE_UNAVAILABLE_ERROR,
- "No LDAP user exists with the username of " + username);
- }
- }
-
- private String generatePassword() throws ServerApiException {
- try {
- final SecureRandom randomGen = SecureRandom.getInstance("SHA1PRNG");
- final byte bytes[] = new byte[20];
- randomGen.nextBytes(bytes);
- return Base64.encode(bytes).toString();
- } catch (final NoSuchAlgorithmException e) {
- throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR,
- "Failed to generate random password");
- }
- }
-
- @Override
- public String getCommandName() {
- return s_name;
- }
-
- CallContext getCurrentContext() {
- return CallContext.current();
- }
-
- @Override
- public long getEntityOwnerId() {
- return Account.ACCOUNT_ID_SYSTEM;
- }
-
- private boolean validateUser(final LdapUser user) throws ServerApiException {
- if (user.getEmail() == null) {
- throw new ServerApiException(
- ApiErrorCode.RESOURCE_UNAVAILABLE_ERROR, username
- + " has no email address set within LDAP");
- }
- if (user.getFirstname() == null) {
- throw new ServerApiException(
- ApiErrorCode.RESOURCE_UNAVAILABLE_ERROR, username
- + " has no firstname set within LDAP");
- }
- if (user.getLastname() == null) {
- throw new ServerApiException(
- ApiErrorCode.RESOURCE_UNAVAILABLE_ERROR, username
- + " has no lastname set within LDAP");
- }
- return true;
- }
+ public static final Logger s_logger = Logger
+ .getLogger(LdapCreateAccountCmd.class.getName());
+ private static final String s_name = "createaccountresponse";
+
+ @Inject
+ private LdapManager _ldapManager;
+
+ @Parameter(name = ApiConstants.ACCOUNT, type = CommandType.STRING, description = "Creates the user under the specified account. If no account is specified, the username will be used as the account name.")
+ private String accountName;
+
+ @Parameter(name = ApiConstants.ACCOUNT_TYPE, type = CommandType.SHORT, required = true, description = "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin")
+ private Short accountType;
+
+ @Parameter(name = ApiConstants.DOMAIN_ID, type = CommandType.UUID, entityType = DomainResponse.class, description = "Creates the user under the specified domain.")
+ private Long domainId;
+
+ @Parameter(name = ApiConstants.TIMEZONE, type = CommandType.STRING, description = "Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format.")
+ private String timezone;
+
+ @Parameter(name = ApiConstants.USERNAME, type = CommandType.STRING, required = true, description = "Unique username.")
+ private String username;
+
+ @Parameter(name = ApiConstants.NETWORK_DOMAIN, type = CommandType.STRING, description = "Network domain for the account's networks")
+ private String networkDomain;
+
+ @Parameter(name = ApiConstants.ACCOUNT_DETAILS, type = CommandType.MAP, description = "details for account used to store specific parameters")
+ private Map<String, String> details;
+
+ @Parameter(name = ApiConstants.ACCOUNT_ID, type = CommandType.STRING, description = "Account UUID, required for adding account from external provisioning system")
+ private String accountUUID;
+
+ @Parameter(name = ApiConstants.USER_ID, type = CommandType.STRING, description = "User UUID, required for adding account from external provisioning system")
+ private String userUUID;
+
+ public LdapCreateAccountCmd() {
+ super();
+ }
+
+ public LdapCreateAccountCmd(final LdapManager ldapManager,
+ final AccountService accountService) {
+ super();
+ _ldapManager = ldapManager;
+ _accountService = accountService;
+ }
+
+ UserAccount createCloudstackUserAccount(final LdapUser user) {
+ return _accountService.createUserAccount(username, generatePassword(),
+ user.getFirstname(), user.getLastname(), user.getEmail(),
+ timezone, accountName, accountType, domainId, networkDomain,
+ details, accountUUID, userUUID);
+ }
+
+ @Override
+ public void execute() throws ServerApiException {
+ final CallContext callContext = getCurrentContext();
+ callContext.setEventDetails("Account Name: " + accountName
+ + ", Domain Id:" + domainId);
+ try {
+ final LdapUser user = _ldapManager.getUser(username);
+ validateUser(user);
+ final UserAccount userAccount = createCloudstackUserAccount(user);
+ if (userAccount != null) {
+ final AccountResponse response = _responseGenerator
+ .createUserAccountResponse(userAccount);
+ response.setResponseName(getCommandName());
+ setResponseObject(response);
+ } else {
+ throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR,
+ "Failed to create a user account");
+ }
+ } catch (final NamingException e) {
+ throw new ServerApiException(
+ ApiErrorCode.RESOURCE_UNAVAILABLE_ERROR,
+ "No LDAP user exists with the username of " + username);
+ }
+ }
+
+ private String generatePassword() throws ServerApiException {
+ final SecureRandom random = new SecureRandom();
+ final int length = 20;
+ final String characters = "abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789!@£$%^&*()_+=";
+
+ String password = "";
+ for (int i = 0; i < length; i++) {
+ int index = (int) (random.nextDouble() * characters.length());
+ password += characters.charAt(index);
+ }
+ return password;
+ }
+
+ @Override
+ public String getCommandName() {
+ return s_name;
+ }
+
+ CallContext getCurrentContext() {
+ return CallContext.current();
+ }
+
+ @Override
+ public long getEntityOwnerId() {
+ return Account.ACCOUNT_ID_SYSTEM;
+ }
+
+ private boolean validateUser(final LdapUser user) throws ServerApiException {
+ if (user.getEmail() == null) {
+ throw new ServerApiException(
+ ApiErrorCode.RESOURCE_UNAVAILABLE_ERROR, username
+ + " has no email address set within LDAP");
+ }
+ if (user.getFirstname() == null) {
+ throw new ServerApiException(
+ ApiErrorCode.RESOURCE_UNAVAILABLE_ERROR, username
+ + " has no firstname set within LDAP");
+ }
+ if (user.getLastname() == null) {
+ throw new ServerApiException(
+ ApiErrorCode.RESOURCE_UNAVAILABLE_ERROR, username
+ + " has no lastname set within LDAP");
+ }
+ return true;
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9776e1af/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapImportUsersCmd.java
----------------------------------------------------------------------
diff --git a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapImportUsersCmd.java b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapImportUsersCmd.java
index 1855d5d..d82276c 100644
--- a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapImportUsersCmd.java
+++ b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapImportUsersCmd.java
@@ -34,7 +34,6 @@ import org.apache.cloudstack.ldap.LdapUser;
import org.apache.cloudstack.ldap.NoLdapUserMatchingQueryException;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
-import org.bouncycastle.util.encoders.Base64;
import com.cloud.domain.Domain;
import com.cloud.exception.*;
@@ -171,13 +170,15 @@ public class LdapImportUsersCmd extends BaseListCmd {
}
private String generatePassword() throws ServerApiException {
- try {
- final SecureRandom randomGen = SecureRandom.getInstance("SHA1PRNG");
- final byte bytes[] = new byte[20];
- randomGen.nextBytes(bytes);
- return Base64.encode(bytes).toString();
- } catch (final NoSuchAlgorithmException e) {
- throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to generate random password");
+ final SecureRandom random = new SecureRandom();
+ final int length = 20;
+ final String characters = "abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789!@£$%^&*()_+=";
+
+ String password = "";
+ for (int i = 0; i < length; i++) {
+ int index = (int) (random.nextDouble() * characters.length());
+ password += characters.charAt(index);
}
+ return password;
}
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9776e1af/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapContextFactory.java
----------------------------------------------------------------------
diff --git a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapContextFactory.java b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapContextFactory.java
index ceeed68..c0d5d50 100644
--- a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapContextFactory.java
+++ b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapContextFactory.java
@@ -95,8 +95,6 @@ public class LdapContextFactory {
environment.put(Context.INITIAL_CONTEXT_FACTORY, factory);
environment.put(Context.PROVIDER_URL, url);
- environment.put("com.sun.jndi.ldap.read.timeout", "500");
- environment.put("com.sun.jndi.ldap.connect.pool", "true");
enableSSL(environment);
setAuthentication(environment, isSystemContext);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9776e1af/plugins/user-authenticators/ldap/test/groovy/org/apache/cloudstack/ldap/LdapAuthenticatorSpec.groovy
----------------------------------------------------------------------
diff --git a/plugins/user-authenticators/ldap/test/groovy/org/apache/cloudstack/ldap/LdapAuthenticatorSpec.groovy b/plugins/user-authenticators/ldap/test/groovy/org/apache/cloudstack/ldap/LdapAuthenticatorSpec.groovy
index 416c133..51f8e84 100644
--- a/plugins/user-authenticators/ldap/test/groovy/org/apache/cloudstack/ldap/LdapAuthenticatorSpec.groovy
+++ b/plugins/user-authenticators/ldap/test/groovy/org/apache/cloudstack/ldap/LdapAuthenticatorSpec.groovy
@@ -34,7 +34,7 @@ class LdapAuthenticatorSpec extends spock.lang.Specification {
when: "A user authentications"
def result = ldapAuthenticator.authenticate("rmurphy", "password", 0, null)
then: "their authentication fails"
- result == false
+ result.first() == false
}
def "Test failed authentication due to ldap bind being unsuccessful"() {
@@ -51,7 +51,7 @@ class LdapAuthenticatorSpec extends spock.lang.Specification {
def result = ldapAuthenticator.authenticate("rmurphy", "password", 0, null)
then: "their authentication fails"
- result == false
+ result.first() == false
}
def "Test failed authentication due to ldap not being configured"() {
@@ -66,7 +66,7 @@ class LdapAuthenticatorSpec extends spock.lang.Specification {
when: "The user authenticates"
def result = ldapAuthenticator.authenticate("rmurphy", "password", 0, null)
then: "their authentication fails"
- result == false
+ result.first() == false
}
def "Test successful authentication"() {
@@ -83,7 +83,7 @@ class LdapAuthenticatorSpec extends spock.lang.Specification {
def result = ldapAuthenticator.authenticate("rmurphy", "password", 0, null)
then: "their authentication passes"
- result == true
+ result.first() == true
}
def "Test that encode doesn't change the input"() {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9776e1af/plugins/user-authenticators/ldap/test/groovy/org/apache/cloudstack/ldap/LdapManagerImplSpec.groovy
----------------------------------------------------------------------
diff --git a/plugins/user-authenticators/ldap/test/groovy/org/apache/cloudstack/ldap/LdapManagerImplSpec.groovy b/plugins/user-authenticators/ldap/test/groovy/org/apache/cloudstack/ldap/LdapManagerImplSpec.groovy
index 42988e0..c0ca2e8 100644
--- a/plugins/user-authenticators/ldap/test/groovy/org/apache/cloudstack/ldap/LdapManagerImplSpec.groovy
+++ b/plugins/user-authenticators/ldap/test/groovy/org/apache/cloudstack/ldap/LdapManagerImplSpec.groovy
@@ -297,30 +297,16 @@ class LdapManagerImplSpec extends spock.lang.Specification {
thrown InvalidParameterValueException
}
- def supportedLdapCommands() {
- List<Class<?>> cmdList = new ArrayList<Class<?>>();
- cmdList.add(LdapUserSearchCmd.class);
- cmdList.add(LdapListUsersCmd.class);
- cmdList.add(LdapAddConfigurationCmd.class);
- cmdList.add(LdapDeleteConfigurationCmd.class);
- cmdList.add(LdapListConfigurationCmd.class);
- cmdList.add(LdapCreateAccountCmd.class);
- cmdList.add(LdapImportUsersCmd.class);
- return cmdList
- }
-
def "Test that getCommands isn't empty"() {
given: "We have an LdapConfigurationDao, LdapContextFactory, LdapUserManager and LdapManager"
def ldapConfigurationDao = Mock(LdapConfigurationDaoImpl)
def ldapContextFactory = Mock(LdapContextFactory)
def ldapUserManager = Mock(LdapUserManager)
- final List<Class<?>> cmdList = supportedLdapCommands()
def ldapManager = new LdapManagerImpl(ldapConfigurationDao, ldapContextFactory, ldapUserManager)
when: "Get commands is called"
def result = ldapManager.getCommands()
- then: "it must return all the commands"
+ then: "it must contain commands"
result.size() > 0
- result == cmdList
}
def "Testing of listConfigurations"() {
[07/11] git commit: updated refs/heads/4.3 to d6bbfbb
Posted by da...@apache.org.
findbugs fixes for ApiServer, ApiSerializerHelper and ApiXmlDocWriter
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/594fd42d
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/594fd42d
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/594fd42d
Branch: refs/heads/4.3
Commit: 594fd42d5dd199059c44e735bd0e913aad43d4c5
Parents: c3a63b6
Author: Daan Hoogland <da...@onecht.net>
Authored: Sun Jan 26 13:27:37 2014 +0100
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Wed Jan 29 21:36:46 2014 +0100
----------------------------------------------------------------------
.../src/com/cloud/api/ApiSerializerHelper.java | 2 +-
server/src/com/cloud/api/ApiServer.java | 22 +++++++++++++++-----
server/src/com/cloud/api/ApiServlet.java | 3 ++-
.../com/cloud/api/EncodedStringTypeAdapter.java | 2 +-
server/src/com/cloud/api/doc/Alert.java | 12 ++++++++---
server/src/com/cloud/api/doc/Command.java | 13 ++++++++----
.../api/response/ApiResponseSerializer.java | 2 +-
7 files changed, 40 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/594fd42d/server/src/com/cloud/api/ApiSerializerHelper.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiSerializerHelper.java b/server/src/com/cloud/api/ApiSerializerHelper.java
index e65d5e7..67b9a38 100644
--- a/server/src/com/cloud/api/ApiSerializerHelper.java
+++ b/server/src/com/cloud/api/ApiSerializerHelper.java
@@ -24,7 +24,7 @@ import org.apache.cloudstack.api.ResponseObject;
public class ApiSerializerHelper {
public static final Logger s_logger = Logger.getLogger(ApiSerializerHelper.class.getName());
- public static String token = "/";
+ private static String token = "/";
public static String toSerializedString(Object result) {
if (result != null) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/594fd42d/server/src/com/cloud/api/ApiServer.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiServer.java b/server/src/com/cloud/api/ApiServer.java
index bf987be..c6a581c 100755
--- a/server/src/com/cloud/api/ApiServer.java
+++ b/server/src/com/cloud/api/ApiServer.java
@@ -159,9 +159,9 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer
private static final Logger s_logger = Logger.getLogger(ApiServer.class.getName());
private static final Logger s_accessLogger = Logger.getLogger("apiserver." + ApiServer.class.getName());
- public static boolean encodeApiResponse = false;
- public static String jsonContentType = "text/javascript";
- public static String controlCharacters = "[\000-\011\013-\014\016-\037\177]"; // Non-printable ASCII characters - numbers 0 to 31 and 127 decimal
+ private static boolean encodeApiResponse = false;
+ private static String jsonContentType = "text/javascript";
+ private static String controlCharacters = "[\000-\011\013-\014\016-\037\177]"; // Non-printable ASCII characters - numbers 0 to 31 and 127 decimal
@Inject ApiDispatcher _dispatcher;
@Inject private AccountManager _accountMgr;
@@ -237,7 +237,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer
_apiNameCmdClassMap.put(apiName, cmdClass);
}
- encodeApiResponse = Boolean.valueOf(_configDao.getValue(Config.EncodeApiResponse.key()));
+ setEncodeApiResponse(Boolean.valueOf(_configDao.getValue(Config.EncodeApiResponse.key())));
String jsonType = _configDao.getValue(Config.JavaScriptDefaultContentType.key());
if (jsonType != null) {
jsonContentType = jsonType;
@@ -375,7 +375,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer
buildAuditTrail(auditTrailSb, command[0], response);
} else {
if (!command[0].equalsIgnoreCase("login") && !command[0].equalsIgnoreCase("logout")) {
- String errorString = "Unknown API command: " + ((command == null) ? "null" : command[0]);
+ String errorString = "Unknown API command: " + command[0];
s_logger.warn(errorString);
auditTrailSb.append(" " + errorString);
throw new ServerApiException(ApiErrorCode.UNSUPPORTED_ACTION_ERROR, errorString);
@@ -1115,4 +1115,16 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer
public void setApiAccessCheckers(List<APIChecker> _apiAccessCheckers) {
this._apiAccessCheckers = _apiAccessCheckers;
}
+
+ public static boolean isEncodeApiResponse() {
+ return encodeApiResponse;
+ }
+
+ private static void setEncodeApiResponse(boolean encodeApiResponse) {
+ ApiServer.encodeApiResponse = encodeApiResponse;
+ }
+
+ public static String getJsonContentType() {
+ return jsonContentType;
+ }
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/594fd42d/server/src/com/cloud/api/ApiServlet.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiServlet.java b/server/src/com/cloud/api/ApiServlet.java
index def18d0..6dd826a 100755
--- a/server/src/com/cloud/api/ApiServlet.java
+++ b/server/src/com/cloud/api/ApiServlet.java
@@ -34,6 +34,7 @@ import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
+
import org.apache.cloudstack.api.ApiErrorCode;
import org.apache.cloudstack.api.BaseCmd;
import org.apache.cloudstack.api.ServerApiException;
@@ -366,7 +367,7 @@ public class ApiServlet extends HttpServlet {
private void writeResponse(HttpServletResponse resp, String response, int responseCode, String responseType) {
try {
if (BaseCmd.RESPONSE_TYPE_JSON.equalsIgnoreCase(responseType)) {
- resp.setContentType(ApiServer.jsonContentType + "; charset=UTF-8");
+ resp.setContentType(ApiServer.getJsonContentType() + "; charset=UTF-8");
} else {
resp.setContentType("text/xml; charset=UTF-8");
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/594fd42d/server/src/com/cloud/api/EncodedStringTypeAdapter.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/EncodedStringTypeAdapter.java b/server/src/com/cloud/api/EncodedStringTypeAdapter.java
index daec4fd..dca5828 100644
--- a/server/src/com/cloud/api/EncodedStringTypeAdapter.java
+++ b/server/src/com/cloud/api/EncodedStringTypeAdapter.java
@@ -36,7 +36,7 @@ public class EncodedStringTypeAdapter implements JsonSerializer<String>{
}
private static String encodeString(String value) {
- if (!ApiServer.encodeApiResponse) {
+ if (!ApiServer.isEncodeApiResponse()) {
return value;
}
try {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/594fd42d/server/src/com/cloud/api/doc/Alert.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/doc/Alert.java b/server/src/com/cloud/api/doc/Alert.java
index 211f2e9..bfd3b2a 100644
--- a/server/src/com/cloud/api/doc/Alert.java
+++ b/server/src/com/cloud/api/doc/Alert.java
@@ -16,9 +16,15 @@
// under the License.
package com.cloud.api.doc;
-public class Alert {
- private String type;
- private int value;
+import java.io.Serializable;
+
+public class Alert implements Serializable{
+ /**
+ *
+ */
+ private static final long serialVersionUID = 960408026527837920L;
+ private final String type;
+ private final int value;
public Alert(String type, int value) {
this.type = type;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/594fd42d/server/src/com/cloud/api/doc/Command.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/doc/Command.java b/server/src/com/cloud/api/doc/Command.java
index a267605..1946b30 100644
--- a/server/src/com/cloud/api/doc/Command.java
+++ b/server/src/com/cloud/api/doc/Command.java
@@ -16,11 +16,16 @@
// under the License.
package com.cloud.api.doc;
+import java.io.Serializable;
import java.util.ArrayList;
-public class Command {
+public class Command implements Serializable{
- private String name;
+ /**
+ *
+ */
+ private static final long serialVersionUID = -4318310162503004975L;
+ private String name;
private String description;
private String usage;
private boolean isAsync;
@@ -84,7 +89,7 @@ public class Command {
}
public Argument getReqArgByName(String name){
- for (Argument a : this.getRequest()) {
+ for (Argument a : getRequest()) {
if (a.getName().equals(name)) {
return a;
}
@@ -93,7 +98,7 @@ public class Command {
}
public Argument getResArgByName(String name){
- for (Argument a : this.getResponse()) {
+ for (Argument a : getResponse()) {
if (a.getName().equals(name)) {
return a;
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/594fd42d/server/src/com/cloud/api/response/ApiResponseSerializer.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/response/ApiResponseSerializer.java b/server/src/com/cloud/api/response/ApiResponseSerializer.java
index fb32e7d..a3e6f0f 100644
--- a/server/src/com/cloud/api/response/ApiResponseSerializer.java
+++ b/server/src/com/cloud/api/response/ApiResponseSerializer.java
@@ -277,7 +277,7 @@ public class ApiResponseSerializer {
}
private static String encodeParam(String value) {
- if (!ApiServer.encodeApiResponse) {
+ if (!ApiServer.isEncodeApiResponse()) {
return value;
}
try {
[02/11] git commit: updated refs/heads/4.3 to d6bbfbb
Posted by da...@apache.org.
nullpointer dereference guarded
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/5296c12d
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/5296c12d
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/5296c12d
Branch: refs/heads/4.3
Commit: 5296c12d2ad87c24a69cafae6a444b650f258485
Parents: da80eaf
Author: Daan Hoogland <da...@onecht.net>
Authored: Sat Jan 25 23:26:53 2014 +0100
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Wed Jan 29 21:27:49 2014 +0100
----------------------------------------------------------------------
.../impl/UserConcentratedAllocator.java | 58 ++++++++------------
1 file changed, 24 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5296c12d/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java b/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java
index 3f1994e..8101da9 100755
--- a/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java
+++ b/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java
@@ -32,30 +32,18 @@ import org.apache.log4j.Logger;
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
import com.cloud.agent.manager.allocator.PodAllocator;
-import com.cloud.capacity.CapacityVO;
-import com.cloud.capacity.dao.CapacityDao;
import com.cloud.dc.DataCenter;
-import com.cloud.dc.HostPodVO;
import com.cloud.dc.Pod;
-import com.cloud.dc.dao.HostPodDao;
import com.cloud.offering.ServiceOffering;
-import com.cloud.service.dao.ServiceOfferingDao;
-import com.cloud.storage.VolumeVO;
-import com.cloud.storage.dao.VMTemplatePoolDao;
-import com.cloud.storage.dao.VolumeDao;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.utils.DateUtil;
import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair;
import com.cloud.utils.component.AdapterBase;
import com.cloud.utils.db.SearchCriteria;
-import com.cloud.vm.UserVmVO;
-import com.cloud.vm.VMInstanceVO;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachine.State;
import com.cloud.vm.VirtualMachineProfile;
-import com.cloud.vm.dao.UserVmDao;
-import com.cloud.vm.dao.VMInstanceDao;
@Local(value = PodAllocator.class)
public class UserConcentratedAllocator extends AdapterBase implements PodAllocator {
@@ -246,35 +234,37 @@ public class UserConcentratedAllocator extends AdapterBase implements PodAllocat
// List<VMInstanceVO> vms = _vmInstanceDao.listByLastHostId(hostId);
List<VMInstanceVO> vms = null;
long usedCapacity = 0;
- for (VMInstanceVO vm : vms) {
- if (skipCalculation(vm)) {
- continue;
- }
+ if (vms != null) {
+ for (VMInstanceVO vm : vms) {
+ if (skipCalculation(vm)) {
+ continue;
+ }
- ServiceOffering so = null;
+ ServiceOffering so = null;
- if (vm.getType() == VirtualMachine.Type.User) {
- UserVmVO userVm = _vmDao.findById(vm.getId());
- if (userVm == null) {
- continue;
+ if (vm.getType() == VirtualMachine.Type.User) {
+ UserVmVO userVm = _vmDao.findById(vm.getId());
+ if (userVm == null) {
+ continue;
+ }
}
- }
- so = _offeringDao.findById(vm.getId(), vm.getServiceOfferingId());
+ so = _offeringDao.findById(vm.getId(), vm.getServiceOfferingId());
- if (capacityType == CapacityVO.CAPACITY_TYPE_MEMORY) {
- usedCapacity += so.getRamSize() * 1024L * 1024L;
+ if (capacityType == CapacityVO.CAPACITY_TYPE_MEMORY) {
+ usedCapacity += so.getRamSize() * 1024L * 1024L;
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Counting memory capacity used by vm: " + vm.getId() + ", size: " + so.getRamSize() + "MB, host: " + hostId
- + ", currently counted: " + usedCapacity + " Bytes");
- }
- } else if (capacityType == CapacityVO.CAPACITY_TYPE_CPU) {
- usedCapacity += so.getCpu() * so.getSpeed();
+ if (s_logger.isDebugEnabled()) {
+ s_logger.debug("Counting memory capacity used by vm: " + vm.getId() + ", size: " + so.getRamSize() + "MB, host: " + hostId
+ + ", currently counted: " + usedCapacity + " Bytes");
+ }
+ } else if (capacityType == CapacityVO.CAPACITY_TYPE_CPU) {
+ usedCapacity += so.getCpu() * so.getSpeed();
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Counting cpu capacity used by vm: " + vm.getId() + ", cpu: " + so.getCpu() + ", speed: " + so.getSpeed()
- + ", currently counted: " + usedCapacity + " Bytes");
+ if (s_logger.isDebugEnabled()) {
+ s_logger.debug("Counting cpu capacity used by vm: " + vm.getId() + ", cpu: " + so.getCpu() + ", speed: " + so.getSpeed()
+ + ", currently counted: " + usedCapacity + " Bytes");
+ }
}
}
}