diff --git a/agent/src/com/cloud/agent/dao/impl/PropertiesStorage.java b/agent/src/com/cloud/agent/dao/impl/PropertiesStorage.java index e9eac645cb76..a1db88c86c48 100644 --- a/agent/src/com/cloud/agent/dao/impl/PropertiesStorage.java +++ b/agent/src/com/cloud/agent/dao/impl/PropertiesStorage.java @@ -23,8 +23,6 @@ import java.util.Map; import java.util.Properties; -import javax.ejb.Local; - import org.apache.commons.io.IOUtils; import org.apache.log4j.Logger; @@ -37,7 +35,6 @@ * @config {@table || Param Name | Description | Values | Default || || path | * path to the properties _file | String | db/db.properties || * } **/ -@Local(value = {StorageComponent.class}) public class PropertiesStorage implements StorageComponent { private static final Logger s_logger = Logger.getLogger(PropertiesStorage.class); Properties _properties = new Properties(); diff --git a/agent/src/com/cloud/agent/dhcp/FakeDhcpSnooper.java b/agent/src/com/cloud/agent/dhcp/FakeDhcpSnooper.java index 8509b438f5bc..c42a5af814d1 100644 --- a/agent/src/com/cloud/agent/dhcp/FakeDhcpSnooper.java +++ b/agent/src/com/cloud/agent/dhcp/FakeDhcpSnooper.java @@ -24,7 +24,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedQueue; -import javax.ejb.Local; import javax.naming.ConfigurationException; import org.apache.log4j.Logger; @@ -32,7 +31,6 @@ import com.cloud.utils.Pair; import com.cloud.utils.net.NetUtils; -@Local(value = {DhcpSnooper.class}) public class FakeDhcpSnooper implements DhcpSnooper { private static final Logger s_logger = Logger.getLogger(FakeDhcpSnooper.class); private Queue _ipAddresses = new ConcurrentLinkedQueue(); diff --git a/agent/src/com/cloud/agent/resource/DummyResource.java b/agent/src/com/cloud/agent/resource/DummyResource.java index c0167f635983..fe519ca9497f 100644 --- a/agent/src/com/cloud/agent/resource/DummyResource.java +++ b/agent/src/com/cloud/agent/resource/DummyResource.java @@ -22,8 +22,6 @@ import java.util.Map; import java.util.UUID; -import javax.ejb.Local; - import com.cloud.agent.IAgentControl; import com.cloud.agent.api.Answer; import com.cloud.agent.api.CheckNetworkAnswer; @@ -43,7 +41,6 @@ import com.cloud.storage.Storage.StoragePoolType; import com.cloud.utils.StringUtils; -@Local(value = {ServerResource.class}) public class DummyResource implements ServerResource { String _name; Host.Type _type; diff --git a/api/src/org/apache/cloudstack/config/ApiServiceConfiguration.java b/api/src/org/apache/cloudstack/config/ApiServiceConfiguration.java index 701af625884f..d5df8c342190 100644 --- a/api/src/org/apache/cloudstack/config/ApiServiceConfiguration.java +++ b/api/src/org/apache/cloudstack/config/ApiServiceConfiguration.java @@ -16,12 +16,9 @@ // under the License. package org.apache.cloudstack.config; -import javax.ejb.Local; - import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.cloudstack.framework.config.Configurable; -@Local(value = {ApiServiceConfiguration.class}) public class ApiServiceConfiguration implements Configurable { public static final ConfigKey ManagementHostIPAdr = new ConfigKey("Advanced", String.class, "host", "localhost", "The ip address of management server", true); public static final ConfigKey ApiServletPath = new ConfigKey("Advanced", String.class, "endpointe.url", "http://localhost:8080/client/api", diff --git a/core/src/com/cloud/storage/JavaStorageLayer.java b/core/src/com/cloud/storage/JavaStorageLayer.java index 2e5544c8c192..a7ba287d468e 100644 --- a/core/src/com/cloud/storage/JavaStorageLayer.java +++ b/core/src/com/cloud/storage/JavaStorageLayer.java @@ -26,10 +26,8 @@ import java.util.Map; import java.util.UUID; -import javax.ejb.Local; import javax.naming.ConfigurationException; -@Local(value = StorageLayer.class) public class JavaStorageLayer implements StorageLayer { String _name; @@ -150,8 +148,9 @@ public List listMountPointsByMsHost(String path, long msHostId) { return mountPaths; } for (File file : files) { - if (file.getName().startsWith(String.valueOf(msHostId) + ".")) + if (file.getName().startsWith(String.valueOf(msHostId) + ".")) { mountPaths.add(file.getAbsolutePath()); + } } return mountPaths; } @@ -208,8 +207,9 @@ public boolean mkdirs(String path) { dir = new File(dirPath); if (!dir.exists()) { success = dir.mkdir(); - if (_makeWorldWriteable) + if (_makeWorldWriteable) { success = success && setWorldReadableAndWriteable(dir); + } } } @@ -284,32 +284,24 @@ public long getUsedSpace(String path) { @Override public void setName(String name) { - // TODO Auto-generated method stub - } @Override public void setConfigParams(Map params) { - // TODO Auto-generated method stub - } @Override public Map getConfigParams() { - // TODO Auto-generated method stub return null; } @Override public int getRunLevel() { - // TODO Auto-generated method stub return 0; } @Override public void setRunLevel(int level) { - // TODO Auto-generated method stub - } } diff --git a/engine/schema/src/com/cloud/dc/dao/DomainVlanMapDaoImpl.java b/engine/schema/src/com/cloud/dc/dao/DomainVlanMapDaoImpl.java index a5fd5fa1300a..36ca69959568 100644 --- a/engine/schema/src/com/cloud/dc/dao/DomainVlanMapDaoImpl.java +++ b/engine/schema/src/com/cloud/dc/dao/DomainVlanMapDaoImpl.java @@ -18,8 +18,6 @@ import java.util.List; -import javax.ejb.Local; - import org.springframework.stereotype.Component; import com.cloud.dc.DomainVlanMapVO; @@ -28,7 +26,6 @@ import com.cloud.utils.db.SearchCriteria; @Component -@Local(value={DomainVlanMapDao.class}) public class DomainVlanMapDaoImpl extends GenericDaoBase implements DomainVlanMapDao { protected SearchBuilder DomainSearch; protected SearchBuilder VlanSearch; diff --git a/engine/schema/src/com/cloud/host/dao/HostDaoImpl.java b/engine/schema/src/com/cloud/host/dao/HostDaoImpl.java index d08b40281e6e..6f5d3945c60d 100644 --- a/engine/schema/src/com/cloud/host/dao/HostDaoImpl.java +++ b/engine/schema/src/com/cloud/host/dao/HostDaoImpl.java @@ -27,7 +27,6 @@ import java.util.TimeZone; import javax.annotation.PostConstruct; -import javax.ejb.Local; import javax.inject.Inject; import javax.persistence.TableGenerator; @@ -71,7 +70,6 @@ import com.cloud.utils.exception.CloudRuntimeException; @Component -@Local(value = {HostDao.class}) @DB @TableGenerator(name = "host_req_sq", table = "op_host", pkColumnName = "id", valueColumnName = "sequence", allocationSize = 1) public class HostDaoImpl extends GenericDaoBase implements HostDao { //FIXME: , ExternalIdDao { diff --git a/engine/schema/src/com/cloud/network/dao/FirewallRulesDcidrsDaoImpl.java b/engine/schema/src/com/cloud/network/dao/FirewallRulesDcidrsDaoImpl.java index 24d142a2d5ee..823c9d42ba27 100644 --- a/engine/schema/src/com/cloud/network/dao/FirewallRulesDcidrsDaoImpl.java +++ b/engine/schema/src/com/cloud/network/dao/FirewallRulesDcidrsDaoImpl.java @@ -25,12 +25,10 @@ import com.cloud.utils.db.TransactionStatus; import org.springframework.stereotype.Component; -import javax.ejb.Local; import java.util.ArrayList; import java.util.List; @Component -@Local(value = FirewallRulesDcidrsDao.class) public class FirewallRulesDcidrsDaoImpl extends GenericDaoBase implements FirewallRulesDcidrsDao { protected final SearchBuilder cidrsSearch; diff --git a/engine/schema/src/org/apache/cloudstack/acl/dao/RoleDaoImpl.java b/engine/schema/src/org/apache/cloudstack/acl/dao/RoleDaoImpl.java index c7eb496213ef..e3dd266d1315 100644 --- a/engine/schema/src/org/apache/cloudstack/acl/dao/RoleDaoImpl.java +++ b/engine/schema/src/org/apache/cloudstack/acl/dao/RoleDaoImpl.java @@ -24,11 +24,9 @@ import org.apache.cloudstack.acl.RoleVO; import org.springframework.stereotype.Component; -import javax.ejb.Local; import java.util.List; @Component -@Local(value = {RoleDao.class}) public class RoleDaoImpl extends GenericDaoBase implements RoleDao { private final SearchBuilder RoleByNameSearch; private final SearchBuilder RoleByTypeSearch; diff --git a/engine/schema/src/org/apache/cloudstack/acl/dao/RolePermissionsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/acl/dao/RolePermissionsDaoImpl.java index 32faf4e9a8c1..68b6abf21953 100644 --- a/engine/schema/src/org/apache/cloudstack/acl/dao/RolePermissionsDaoImpl.java +++ b/engine/schema/src/org/apache/cloudstack/acl/dao/RolePermissionsDaoImpl.java @@ -34,7 +34,6 @@ import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import javax.ejb.Local; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; @@ -42,7 +41,6 @@ import java.util.Set; @Component -@Local(value = {RolePermissionsDao.class}) public class RolePermissionsDaoImpl extends GenericDaoBase implements RolePermissionsDao { protected static final Logger LOGGER = Logger.getLogger(RolePermissionsDaoImpl.class); diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/GuestOsDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/GuestOsDetailsDaoImpl.java index 519d8f246190..16e6fd1f9284 100644 --- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/GuestOsDetailsDaoImpl.java +++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/GuestOsDetailsDaoImpl.java @@ -16,14 +16,11 @@ // under the License. package org.apache.cloudstack.resourcedetail.dao; -import javax.ejb.Local; - import org.apache.cloudstack.resourcedetail.GuestOsDetailVO; import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase; import org.springframework.stereotype.Component; @Component -@Local(value = {GuestOsDetailsDao.class}) public class GuestOsDetailsDaoImpl extends ResourceDetailsDaoBase implements GuestOsDetailsDao { @Override diff --git a/framework/db/pom.xml b/framework/db/pom.xml index f83eca413f57..f3e8a0190507 100644 --- a/framework/db/pom.xml +++ b/framework/db/pom.xml @@ -19,10 +19,6 @@ ../pom.xml - - javax.ejb - ejb-api - net.sf.ehcache ehcache-core diff --git a/framework/quota/src/org/apache/cloudstack/quota/QuotaAlertManagerImpl.java b/framework/quota/src/org/apache/cloudstack/quota/QuotaAlertManagerImpl.java index b31af52c00c0..942aeb9b8f0a 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/QuotaAlertManagerImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/QuotaAlertManagerImpl.java @@ -16,6 +16,37 @@ //under the License. package org.apache.cloudstack.quota; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.concurrent.TimeUnit; + +import javax.inject.Inject; +import javax.mail.Authenticator; +import javax.mail.Message; +import javax.mail.MessagingException; +import javax.mail.PasswordAuthentication; +import javax.mail.Session; +import javax.mail.URLName; +import javax.mail.internet.InternetAddress; +import javax.naming.ConfigurationException; + +import org.apache.cloudstack.framework.config.dao.ConfigurationDao; +import org.apache.cloudstack.quota.constant.QuotaConfig; +import org.apache.cloudstack.quota.constant.QuotaConfig.QuotaEmailTemplateTypes; +import org.apache.cloudstack.quota.dao.QuotaAccountDao; +import org.apache.cloudstack.quota.dao.QuotaEmailTemplatesDao; +import org.apache.cloudstack.quota.vo.QuotaAccountVO; +import org.apache.cloudstack.quota.vo.QuotaEmailTemplatesVO; +import org.apache.commons.lang3.text.StrSubstitutor; +import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; + import com.cloud.domain.DomainVO; import com.cloud.domain.dao.DomainDao; import com.cloud.user.Account; @@ -31,40 +62,8 @@ import com.sun.mail.smtp.SMTPMessage; import com.sun.mail.smtp.SMTPSSLTransport; import com.sun.mail.smtp.SMTPTransport; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; -import org.apache.cloudstack.quota.constant.QuotaConfig; -import org.apache.cloudstack.quota.constant.QuotaConfig.QuotaEmailTemplateTypes; -import org.apache.cloudstack.quota.dao.QuotaAccountDao; -import org.apache.cloudstack.quota.dao.QuotaEmailTemplatesDao; -import org.apache.cloudstack.quota.dao.QuotaUsageDao; -import org.apache.cloudstack.quota.vo.QuotaAccountVO; -import org.apache.cloudstack.quota.vo.QuotaEmailTemplatesVO; -import org.apache.commons.lang3.text.StrSubstitutor; -import org.apache.log4j.Logger; -import org.springframework.stereotype.Component; - -import javax.ejb.Local; -import javax.inject.Inject; -import javax.mail.Authenticator; -import javax.mail.Message; -import javax.mail.MessagingException; -import javax.mail.PasswordAuthentication; -import javax.mail.Session; -import javax.mail.URLName; -import javax.mail.internet.InternetAddress; -import javax.naming.ConfigurationException; -import java.io.UnsupportedEncodingException; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.concurrent.TimeUnit; @Component -@Local(value = QuotaAlertManager.class) public class QuotaAlertManagerImpl extends ManagerBase implements QuotaAlertManager { private static final Logger s_logger = Logger.getLogger(QuotaAlertManagerImpl.class); @@ -81,8 +80,6 @@ public class QuotaAlertManagerImpl extends ManagerBase implements QuotaAlertMana @Inject private ConfigurationDao _configDao; @Inject - private QuotaUsageDao _quotaUsage; - @Inject private QuotaManager _quotaManager; private EmailQuotaAlert _emailQuotaAlert; @@ -154,7 +151,9 @@ public void checkAndSendQuotaAlertEmails() { BigDecimal thresholdBalance = quotaAccount.getQuotaMinBalance(); if (accountBalance != null) { AccountVO account = _accountDao.findById(quotaAccount.getId()); - if (account == null) continue; // the account is removed + if (account == null) { + continue; // the account is removed + } if (s_logger.isDebugEnabled()) { s_logger.debug("checkAndSendQuotaAlertEmails: Check id=" + account.getId() + " bal=" + accountBalance + ", alertDate=" + alertDate + ", lockable=" + lockable); } @@ -186,6 +185,7 @@ public void checkAndSendQuotaAlertEmails() { } } + @Override public void sendQuotaAlert(DeferredQuotaEmail emailToBeSent) { final AccountVO account = emailToBeSent.getAccount(); final BigDecimal balance = emailToBeSent.getQuotaBalance(); @@ -221,8 +221,8 @@ public void sendQuotaAlert(DeferredQuotaEmail emailToBeSent) { } if (s_logger.isDebugEnabled()) { - s_logger.debug("accountName" + account.getAccountName() + "accountID" + account.getUuid() + "accountUsers" + userNames + "domainName" + accountDomain.getName() - + "domainID" + accountDomain.getUuid()); + s_logger.debug("accountName" + account.getAccountName() + "accountID" + account.getUuid() + "accountUsers" + userNames + "domainName" + accountDomain.getName() + "domainID" + + accountDomain.getUuid()); } final StrSubstitutor templateEngine = new StrSubstitutor(optionMap); @@ -232,15 +232,14 @@ public void sendQuotaAlert(DeferredQuotaEmail emailToBeSent) { _emailQuotaAlert.sendQuotaAlert(emailRecipients, subject, body); emailToBeSent.sentSuccessfully(_quotaAcc); } catch (Exception e) { - s_logger.error(String.format("Unable to send quota alert email (subject=%s; body=%s) to account %s (%s) recipients (%s) due to error (%s)", subject, body, - account.getAccountName(), account.getUuid(), emailRecipients, e)); + s_logger.error(String.format("Unable to send quota alert email (subject=%s; body=%s) to account %s (%s) recipients (%s) due to error (%s)", subject, body, account.getAccountName(), + account.getUuid(), emailRecipients, e)); if (s_logger.isDebugEnabled()) { s_logger.debug("Exception", e); } } } else { - s_logger.error(String.format("No quota email template found for type %s, cannot send quota alert email to account %s(%s)", emailType, account.getAccountName(), - account.getUuid())); + s_logger.error(String.format("No quota email template found for type %s, cannot send quota alert email to account %s(%s)", emailType, account.getAccountName(), account.getUuid())); } } diff --git a/framework/quota/src/org/apache/cloudstack/quota/QuotaManagerImpl.java b/framework/quota/src/org/apache/cloudstack/quota/QuotaManagerImpl.java index 7f592f85cb37..769f9aec92f0 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/QuotaManagerImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/QuotaManagerImpl.java @@ -16,12 +16,16 @@ //under the License. package org.apache.cloudstack.quota; -import com.cloud.usage.UsageVO; -import com.cloud.usage.dao.UsageDao; -import com.cloud.user.AccountVO; -import com.cloud.user.dao.AccountDao; -import com.cloud.utils.Pair; -import com.cloud.utils.component.ManagerBase; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.TimeZone; + +import javax.inject.Inject; +import javax.naming.ConfigurationException; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.quota.constant.QuotaTypes; @@ -39,19 +43,14 @@ import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import javax.ejb.Local; -import javax.inject.Inject; -import javax.naming.ConfigurationException; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.TimeZone; +import com.cloud.usage.UsageVO; +import com.cloud.usage.dao.UsageDao; +import com.cloud.user.AccountVO; +import com.cloud.user.dao.AccountDao; +import com.cloud.utils.Pair; +import com.cloud.utils.component.ManagerBase; @Component -@Local(value = QuotaManager.class) public class QuotaManagerImpl extends ManagerBase implements QuotaManager { private static final Logger s_logger = Logger.getLogger(QuotaManagerImpl.class.getName()); @@ -360,7 +359,9 @@ public List updateQuotaRunningVMUsage(UsageVO usageRecord, final B BigDecimal rawusage; // get service offering details ServiceOfferingVO serviceoffering = _serviceOfferingDao.findServiceOffering(usageRecord.getVmInstanceId(), usageRecord.getOfferingId()); - if (serviceoffering == null) return quotalist; + if (serviceoffering == null) { + return quotalist; + } rawusage = new BigDecimal(usageRecord.getRawUsage()); QuotaTariffVO tariff = _quotaTariffDao.findTariffPlanByUsageType(QuotaTypes.CPU_NUMBER, usageRecord.getEndDate()); diff --git a/framework/quota/src/org/apache/cloudstack/quota/QuotaStatementImpl.java b/framework/quota/src/org/apache/cloudstack/quota/QuotaStatementImpl.java index 30d2589187e0..9523c874558d 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/QuotaStatementImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/QuotaStatementImpl.java @@ -24,7 +24,6 @@ import java.util.Map; import java.util.concurrent.TimeUnit; -import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; @@ -42,7 +41,6 @@ import com.cloud.utils.component.ManagerBase; @Component -@Local(value = QuotaStatement.class) public class QuotaStatementImpl extends ManagerBase implements QuotaStatement { private static final Logger s_logger = Logger.getLogger(QuotaStatementImpl.class); diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java index e3de1889de9f..2e28d33b3948 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java @@ -16,25 +16,23 @@ //under the License. package org.apache.cloudstack.quota.dao; -import com.cloud.utils.db.GenericDaoBase; -import com.cloud.utils.db.Transaction; -import com.cloud.utils.db.TransactionCallback; -import com.cloud.utils.db.TransactionLegacy; -import com.cloud.utils.db.TransactionStatus; +import java.util.List; import org.apache.cloudstack.quota.vo.QuotaAccountVO; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import javax.ejb.Local; - -import java.util.List; +import com.cloud.utils.db.GenericDaoBase; +import com.cloud.utils.db.Transaction; +import com.cloud.utils.db.TransactionCallback; +import com.cloud.utils.db.TransactionLegacy; +import com.cloud.utils.db.TransactionStatus; @Component -@Local(value = { QuotaAccountDao.class }) public class QuotaAccountDaoImpl extends GenericDaoBase implements QuotaAccountDao { public static final Logger s_logger = Logger.getLogger(QuotaAccountDaoImpl.class); + @Override public List listAllQuotaAccount() { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback>() { @Override @@ -44,6 +42,7 @@ public List doInTransaction(final TransactionStatus status) { }); } + @Override public QuotaAccountVO findByIdQuotaAccount(final Long id) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback() { @Override @@ -53,6 +52,7 @@ public QuotaAccountVO doInTransaction(final TransactionStatus status) { }); } + @Override public QuotaAccountVO persistQuotaAccount(final QuotaAccountVO entity) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback() { @Override @@ -62,6 +62,7 @@ public QuotaAccountVO doInTransaction(final TransactionStatus status) { }); } + @Override public boolean updateQuotaAccount(final Long id, final QuotaAccountVO entity) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback() { @Override diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaBalanceDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaBalanceDaoImpl.java index d8ce7acc97de..0ca7d9dbf8d9 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaBalanceDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaBalanceDaoImpl.java @@ -16,6 +16,16 @@ //under the License. package org.apache.cloudstack.quota.dao; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +import org.apache.cloudstack.quota.vo.QuotaBalanceVO; +import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; + import com.cloud.utils.db.Filter; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.QueryBuilder; @@ -25,23 +35,11 @@ import com.cloud.utils.db.TransactionLegacy; import com.cloud.utils.db.TransactionStatus; -import org.apache.cloudstack.quota.vo.QuotaBalanceVO; -import org.apache.log4j.Logger; -import org.springframework.stereotype.Component; - -import javax.ejb.Local; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; - @Component -@Local(value = {QuotaBalanceDao.class}) public class QuotaBalanceDaoImpl extends GenericDaoBase implements QuotaBalanceDao { private static final Logger s_logger = Logger.getLogger(QuotaBalanceDaoImpl.class.getName()); + @Override public QuotaBalanceVO findLastBalanceEntry(final Long accountId, final Long domainId, final Date beforeThis) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback() { @Override @@ -59,6 +57,7 @@ public QuotaBalanceVO doInTransaction(final TransactionStatus status) { }); } + @Override public QuotaBalanceVO findLaterBalanceEntry(final Long accountId, final Long domainId, final Date afterThis) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback() { @Override @@ -76,6 +75,7 @@ public QuotaBalanceVO doInTransaction(final TransactionStatus status) { }); } + @Override public QuotaBalanceVO saveQuotaBalance(final QuotaBalanceVO qb) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback() { @Override @@ -85,6 +85,7 @@ public QuotaBalanceVO doInTransaction(final TransactionStatus status) { }); } + @Override public List findCreditBalance(final Long accountId, final Long domainId, final Date lastbalancedate, final Date beforeThis) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback>() { @Override @@ -104,6 +105,7 @@ public List doInTransaction(final TransactionStatus status) { }); } + @Override public List findQuotaBalance(final Long accountId, final Long domainId, final Date startDate, final Date endDate) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback>() { @Override @@ -132,6 +134,7 @@ public List doInTransaction(final TransactionStatus status) { } + @Override public List lastQuotaBalanceVO(final Long accountId, final Long domainId, final Date pivotDate) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback>() { @Override @@ -170,6 +173,7 @@ public List doInTransaction(final TransactionStatus status) { }); } + @Override public BigDecimal lastQuotaBalance(final Long accountId, final Long domainId, Date startDate) { List quotaBalance = lastQuotaBalanceVO(accountId, domainId, startDate); BigDecimal finalBalance = new BigDecimal(0); diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaCreditsDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaCreditsDaoImpl.java index 4b777104145f..40e18aa282b2 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaCreditsDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaCreditsDaoImpl.java @@ -20,12 +20,11 @@ import java.util.Date; import java.util.List; -import javax.ejb.Local; import javax.inject.Inject; -import org.springframework.stereotype.Component; import org.apache.cloudstack.quota.vo.QuotaBalanceVO; import org.apache.cloudstack.quota.vo.QuotaCreditsVO; +import org.springframework.stereotype.Component; import com.cloud.utils.db.Filter; import com.cloud.utils.db.GenericDaoBase; @@ -37,7 +36,6 @@ import com.cloud.utils.db.TransactionStatus; @Component -@Local(value = { QuotaCreditsDao.class }) public class QuotaCreditsDaoImpl extends GenericDaoBase implements QuotaCreditsDao { @Inject diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java index a971603c5775..cb5044cbaad3 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java @@ -16,6 +16,12 @@ //under the License. package org.apache.cloudstack.quota.dao; +import java.util.List; + +import org.apache.cloudstack.quota.vo.QuotaEmailTemplatesVO; +import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; + import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; @@ -25,16 +31,7 @@ import com.cloud.utils.db.TransactionStatus; import com.google.common.base.Strings; -import org.apache.cloudstack.quota.vo.QuotaEmailTemplatesVO; -import org.apache.log4j.Logger; -import org.springframework.stereotype.Component; - -import javax.ejb.Local; - -import java.util.List; - @Component -@Local(value = { QuotaEmailTemplatesDao.class }) public class QuotaEmailTemplatesDaoImpl extends GenericDaoBase implements QuotaEmailTemplatesDao { private static final Logger s_logger = Logger.getLogger(QuotaEmailTemplatesDaoImpl.class); diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaTariffDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaTariffDaoImpl.java index 294b404d9289..76c911aebece 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaTariffDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaTariffDaoImpl.java @@ -16,6 +16,15 @@ //under the License. package org.apache.cloudstack.quota.dao; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import org.apache.cloudstack.quota.constant.QuotaTypes; +import org.apache.cloudstack.quota.vo.QuotaTariffVO; +import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; + import com.cloud.utils.db.Filter; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; @@ -24,19 +33,8 @@ import com.cloud.utils.db.TransactionCallback; import com.cloud.utils.db.TransactionLegacy; import com.cloud.utils.db.TransactionStatus; -import org.apache.cloudstack.quota.constant.QuotaTypes; -import org.apache.cloudstack.quota.vo.QuotaTariffVO; -import org.apache.log4j.Logger; -import org.springframework.stereotype.Component; - -import javax.ejb.Local; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; @Component -@Local(value = {QuotaTariffDao.class}) public class QuotaTariffDaoImpl extends GenericDaoBase implements QuotaTariffDao { private static final Logger s_logger = Logger.getLogger(QuotaTariffDaoImpl.class.getName()); @@ -55,6 +53,7 @@ public QuotaTariffDaoImpl() { listAllIncludedUsageType.done(); } + @Override public QuotaTariffVO findTariffPlanByUsageType(final int quotaType, final Date effectiveDate) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback() { @Override @@ -77,6 +76,7 @@ public QuotaTariffVO doInTransaction(final TransactionStatus status) { }); } + @Override public List listAllTariffPlans() { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback>() { @Override @@ -86,6 +86,7 @@ public List doInTransaction(final TransactionStatus status) { }); } + @Override public List listAllTariffPlans(final Date effectiveDate) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback>() { @Override @@ -110,6 +111,7 @@ public List doInTransaction(final TransactionStatus status) { }); } + @Override public Boolean updateQuotaTariff(final QuotaTariffVO plan) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback() { @Override @@ -119,6 +121,7 @@ public Boolean doInTransaction(final TransactionStatus status) { }); } + @Override public QuotaTariffVO addQuotaTariff(final QuotaTariffVO plan) { if (plan.getIdObj() != null) { throw new IllegalStateException("The QuotaTariffVO being added should not have an Id set "); diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaUsageDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaUsageDaoImpl.java index 8c0fae6391e1..9134a4472b43 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaUsageDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaUsageDaoImpl.java @@ -16,6 +16,15 @@ //under the License. package org.apache.cloudstack.quota.dao; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import org.apache.cloudstack.quota.vo.QuotaUsageVO; +import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; + import com.cloud.utils.db.Filter; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.QueryBuilder; @@ -25,22 +34,11 @@ import com.cloud.utils.db.TransactionLegacy; import com.cloud.utils.db.TransactionStatus; -import org.apache.cloudstack.quota.vo.QuotaUsageVO; -import org.apache.log4j.Logger; -import org.springframework.stereotype.Component; - -import javax.ejb.Local; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - @Component -@Local(value = {QuotaUsageDao.class}) public class QuotaUsageDaoImpl extends GenericDaoBase implements QuotaUsageDao { private static final Logger s_logger = Logger.getLogger(QuotaUsageDaoImpl.class); + @Override public BigDecimal findTotalQuotaUsage(final Long accountId, final Long domainId, final Integer usageType, final Date startDate, final Date endDate) { List quotaUsage = findQuotaUsage(accountId, domainId, null, startDate, endDate); BigDecimal total = new BigDecimal(0); @@ -50,6 +48,7 @@ public BigDecimal findTotalQuotaUsage(final Long accountId, final Long domainId, return total; } + @Override public List findQuotaUsage(final Long accountId, final Long domainId, final Integer usageType, final Date startDate, final Date endDate) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback>() { @Override @@ -88,6 +87,7 @@ public List doInTransaction(final TransactionStatus status) { }); } + @Override public QuotaUsageVO findLastQuotaUsageEntry(final Long accountId, final Long domainId, final Date beforeThis) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback() { @Override @@ -104,6 +104,7 @@ public QuotaUsageVO doInTransaction(final TransactionStatus status) { }); } + @Override public QuotaUsageVO persistQuotaUsage(final QuotaUsageVO quotaUsage) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback() { @Override diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/ServiceOfferingDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/ServiceOfferingDaoImpl.java index 1d8b1b6b648e..5b11cb3b7e9d 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/ServiceOfferingDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/ServiceOfferingDaoImpl.java @@ -18,12 +18,11 @@ import java.util.Map; -import javax.ejb.Local; import javax.inject.Inject; +import org.apache.cloudstack.quota.vo.ServiceOfferingVO; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.quota.vo.ServiceOfferingVO; import com.cloud.event.UsageEventVO; import com.cloud.utils.db.DB; @@ -35,7 +34,6 @@ import com.cloud.utils.exception.CloudRuntimeException; @Component -@Local(value = {ServiceOfferingDao.class}) @DB() public class ServiceOfferingDaoImpl extends GenericDaoBase implements ServiceOfferingDao { protected static final Logger s_logger = Logger.getLogger(ServiceOfferingDaoImpl.class); @@ -43,6 +41,7 @@ public class ServiceOfferingDaoImpl extends GenericDaoBase() { @Override diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/UserVmDetailsDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/UserVmDetailsDaoImpl.java index beb3cdfbcb1f..eb852e12abac 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/UserVmDetailsDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/UserVmDetailsDaoImpl.java @@ -20,17 +20,14 @@ import java.util.List; import java.util.Map; -import javax.ejb.Local; - -import org.springframework.stereotype.Component; import org.apache.cloudstack.quota.vo.UserVmDetailVO; +import org.springframework.stereotype.Component; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; @Component -@Local(value = UserVmDetailsDao.class) public class UserVmDetailsDaoImpl extends GenericDaoBase implements UserVmDetailsDao { private SearchBuilder AllFieldsSearch; diff --git a/framework/quota/test/org/apache/cloudstack/quota/QuotaAlertManagerImplTest.java b/framework/quota/test/org/apache/cloudstack/quota/QuotaAlertManagerImplTest.java index d898ef2be372..bf7f126888d4 100644 --- a/framework/quota/test/org/apache/cloudstack/quota/QuotaAlertManagerImplTest.java +++ b/framework/quota/test/org/apache/cloudstack/quota/QuotaAlertManagerImplTest.java @@ -16,83 +16,69 @@ // under the License. package org.apache.cloudstack.quota; -import com.cloud.domain.DomainVO; -import com.cloud.domain.dao.DomainDao; -import com.cloud.user.Account; -import com.cloud.user.AccountVO; -import com.cloud.user.UserVO; -import com.cloud.user.dao.AccountDao; -import com.cloud.user.dao.UserDao; -import com.cloud.utils.db.TransactionLegacy; -import junit.framework.TestCase; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.TimeZone; + +import javax.mail.MessagingException; +import javax.naming.ConfigurationException; + import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.quota.constant.QuotaConfig; import org.apache.cloudstack.quota.dao.QuotaAccountDao; import org.apache.cloudstack.quota.dao.QuotaEmailTemplatesDao; -import org.apache.cloudstack.quota.dao.QuotaUsageDao; import org.apache.cloudstack.quota.vo.QuotaAccountVO; import org.apache.cloudstack.quota.vo.QuotaEmailTemplatesVO; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.Spy; import org.mockito.runners.MockitoJUnitRunner; -import javax.mail.MessagingException; -import javax.naming.ConfigurationException; -import java.io.UnsupportedEncodingException; -import java.lang.reflect.Field; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; -import java.util.TimeZone; +import com.cloud.domain.DomainVO; +import com.cloud.domain.dao.DomainDao; +import com.cloud.user.Account; +import com.cloud.user.AccountVO; +import com.cloud.user.UserVO; +import com.cloud.user.dao.AccountDao; +import com.cloud.user.dao.UserDao; +import com.cloud.utils.db.TransactionLegacy; + +import junit.framework.TestCase; @RunWith(MockitoJUnitRunner.class) public class QuotaAlertManagerImplTest extends TestCase { @Mock - AccountDao accountDao; - @Mock - QuotaAccountDao quotaAcc; + private AccountDao accountDao; @Mock - UserDao userDao; + private QuotaAccountDao quotaAcc; @Mock - DomainDao domainDao; + private UserDao userDao; @Mock - QuotaEmailTemplatesDao quotaEmailTemplateDao; + private DomainDao domainDao; @Mock - ConfigurationDao configDao; + private QuotaEmailTemplatesDao quotaEmailTemplateDao; @Mock - QuotaUsageDao quotaUsage; + private ConfigurationDao configDao; @Mock - QuotaAlertManagerImpl.EmailQuotaAlert emailQuotaAlert; + private QuotaAlertManagerImpl.EmailQuotaAlert emailQuotaAlert; @Spy - QuotaAlertManagerImpl quotaAlertManager = new QuotaAlertManagerImpl(); - - private void injectMockToField(Object mock, String fieldName) throws NoSuchFieldException, IllegalAccessException { - Field f = QuotaAlertManagerImpl.class.getDeclaredField(fieldName); - f.setAccessible(true); - f.set(quotaAlertManager, mock); - } + @InjectMocks + private QuotaAlertManagerImpl quotaAlertManager = new QuotaAlertManagerImpl(); @Before public void setup() throws IllegalAccessException, NoSuchFieldException, ConfigurationException { // Dummy transaction stack setup TransactionLegacy.open("QuotaAlertManagerImplTest"); - - injectMockToField(accountDao, "_accountDao"); - injectMockToField(quotaAcc, "_quotaAcc"); - injectMockToField(userDao, "_userDao"); - injectMockToField(domainDao, "_domainDao"); - injectMockToField(quotaEmailTemplateDao, "_quotaEmailTemplateDao"); - injectMockToField(configDao, "_configDao"); - injectMockToField(quotaUsage, "_quotaUsage"); - injectMockToField(emailQuotaAlert, "_emailQuotaAlert"); } @Test @@ -149,8 +135,7 @@ public void testSendQuotaAlert() throws UnsupportedEncodingException, MessagingE quotaAccount.setQuotaAlertDate(null); quotaAccount.setQuotaEnforce(0); - QuotaAlertManagerImpl.DeferredQuotaEmail email = new QuotaAlertManagerImpl.DeferredQuotaEmail(account, quotaAccount, new BigDecimal(100), - QuotaConfig.QuotaEmailTemplateTypes.QUOTA_LOW); + QuotaAlertManagerImpl.DeferredQuotaEmail email = new QuotaAlertManagerImpl.DeferredQuotaEmail(account, quotaAccount, new BigDecimal(100), QuotaConfig.QuotaEmailTemplateTypes.QUOTA_LOW); QuotaEmailTemplatesVO quotaEmailTemplatesVO = new QuotaEmailTemplatesVO(); quotaEmailTemplatesVO.setTemplateSubject("Low quota"); @@ -172,8 +157,8 @@ public void testSendQuotaAlert() throws UnsupportedEncodingException, MessagingE Mockito.when(userDao.listByAccount(Mockito.anyLong())).thenReturn(users); quotaAlertManager.sendQuotaAlert(email); - assertTrue(email.getSendDate()!= null); - Mockito.verify(emailQuotaAlert, Mockito.times(1)).sendQuotaAlert(Mockito.anyList(), Mockito.anyString(), Mockito.anyString()); + assertTrue(email.getSendDate() != null); + Mockito.verify(emailQuotaAlert, Mockito.times(1)).sendQuotaAlert(Mockito.anyListOf(String.class), Mockito.anyString(), Mockito.anyString()); } @Test @@ -182,7 +167,7 @@ public void testGetDifferenceDays() { assertTrue(QuotaAlertManagerImpl.getDifferenceDays(now, now) == 0L); Calendar c = Calendar.getInstance(); c.setTimeZone(TimeZone.getTimeZone("UTC")); - Calendar c2 = (Calendar) c.clone(); + Calendar c2 = (Calendar)c.clone(); c2.add(Calendar.DATE, 1); assertEquals(1L, QuotaAlertManagerImpl.getDifferenceDays(c.getTime(), c2.getTime())); } diff --git a/plugins/acl/dynamic-role-based/src/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessChecker.java b/plugins/acl/dynamic-role-based/src/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessChecker.java index 754d4cc86a56..3dfdb01b2e53 100644 --- a/plugins/acl/dynamic-role-based/src/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessChecker.java +++ b/plugins/acl/dynamic-role-based/src/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessChecker.java @@ -16,6 +16,17 @@ // under the License. package org.apache.cloudstack.acl; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.inject.Inject; +import javax.naming.ConfigurationException; + +import org.apache.cloudstack.api.APICommand; + import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.AccountService; @@ -23,18 +34,7 @@ import com.cloud.utils.component.AdapterBase; import com.cloud.utils.component.PluggableService; import com.google.common.base.Strings; -import org.apache.cloudstack.api.APICommand; - -import javax.ejb.Local; -import javax.inject.Inject; -import javax.naming.ConfigurationException; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -@Local(value = APIChecker.class) public class DynamicRoleBasedAPIAccessChecker extends AdapterBase implements APIChecker { @Inject diff --git a/plugins/database/quota/src/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java b/plugins/database/quota/src/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java index 5748de589655..0fbf50e9a8f9 100644 --- a/plugins/database/quota/src/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java +++ b/plugins/database/quota/src/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java @@ -16,15 +16,22 @@ //under the License. package org.apache.cloudstack.api.response; -import com.cloud.domain.DomainVO; -import com.cloud.domain.dao.DomainDao; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.user.Account; -import com.cloud.user.AccountManager; -import com.cloud.user.AccountVO; -import com.cloud.user.User; -import com.cloud.user.dao.AccountDao; -import com.cloud.user.dao.UserDao; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.LocalDate; +import java.time.ZoneId; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; + +import javax.inject.Inject; import org.apache.cloudstack.api.command.QuotaBalanceCmd; import org.apache.cloudstack.api.command.QuotaEmailTemplateListCmd; @@ -53,24 +60,17 @@ import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import javax.ejb.Local; -import javax.inject.Inject; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; +import com.cloud.domain.DomainVO; +import com.cloud.domain.dao.DomainDao; +import com.cloud.exception.InvalidParameterValueException; +import com.cloud.user.Account; +import com.cloud.user.AccountManager; +import com.cloud.user.AccountVO; +import com.cloud.user.User; +import com.cloud.user.dao.AccountDao; +import com.cloud.user.dao.UserDao; @Component -@Local(value = QuotaResponseBuilderImpl.class) public class QuotaResponseBuilderImpl implements QuotaResponseBuilder { private static final Logger s_logger = Logger.getLogger(QuotaResponseBuilderImpl.class); @@ -141,7 +141,9 @@ public List createQuotaSummaryResponse(Boolean listAll) { } else { for (final QuotaAccountVO quotaAccount : _quotaAccountDao.listAllQuotaAccount()) { AccountVO account = _accountDao.findById(quotaAccount.getId()); - if (account == null) continue; + if (account == null) { + continue; + } QuotaSummaryResponse qr = getQuotaSummaryResponse(account); result.add(qr); } @@ -181,6 +183,7 @@ public QuotaBalanceResponse createQuotaBalanceResponse(List quot throw new InvalidParameterValueException("The request period does not contain balance entries."); } Collections.sort(quotaBalance, new Comparator() { + @Override public int compare(QuotaBalanceVO o1, QuotaBalanceVO o2) { o1 = o1 == null ? new QuotaBalanceVO() : o1; o2 = o2 == null ? new QuotaBalanceVO() : o2; @@ -287,13 +290,15 @@ public QuotaStatementResponse createQuotaStatementResponse(final List vmMap = new HashMap(); - @Override public Type getType() { return Type.Routing; @@ -155,7 +141,7 @@ public StartupCommand[] initialize() { hypervisorsupport.fillHostInfo(srCmd); hypervisorsupport.vmStateMapClear(); LOGGER.debug("Ovm3 pool " + ssCmd + " " + srCmd); - return new StartupCommand[] { srCmd, ssCmd }; + return new StartupCommand[] {srCmd, ssCmd}; } catch (Exception e) { LOGGER.debug("Ovm3 resource initializes failed", e); return new StartupCommand[] {}; @@ -172,26 +158,17 @@ public PingCommand getCurrentStatus(long id) { if (pong.contains(ping)) { hypervisorsupport.syncState(); CloudstackPlugin cSp = new CloudstackPlugin(c); - if (!cSp.dom0CheckStorageHealthCheck(configuration .getAgentScriptsDir(), - configuration.getAgentCheckStorageScript(), - configuration.getCsHostGuid(), - configuration.getAgentStorageCheckTimeout(), - configuration.getAgentStorageCheckInterval()) - && !cSp.dom0CheckStorageHealthCheck()) { - LOGGER.error("Storage health check not running on " - + configuration.getAgentHostname()); + if (!cSp.dom0CheckStorageHealthCheck(configuration.getAgentScriptsDir(), configuration.getAgentCheckStorageScript(), configuration.getCsHostGuid(), + configuration.getAgentStorageCheckTimeout(), configuration.getAgentStorageCheckInterval()) && !cSp.dom0CheckStorageHealthCheck()) { + LOGGER.error("Storage health check not running on " + configuration.getAgentHostname()); } else if (cSp.dom0CheckStorageHealthCheck()) { - LOGGER.error("Storage health check started on " - + configuration.getAgentHostname()); + LOGGER.error("Storage health check started on " + configuration.getAgentHostname()); } else { - LOGGER.debug("Storage health check running on " - + configuration.getAgentHostname()); + LOGGER.debug("Storage health check running on " + configuration.getAgentHostname()); } - return new PingRoutingCommand(getType(), id, - hypervisorsupport.hostVmStateReport()); + return new PingRoutingCommand(getType(), id, hypervisorsupport.hostVmStateReport()); } else { - LOGGER.debug("Agent did not respond correctly: " + ping - + " but got " + pong); + LOGGER.debug("Agent did not respond correctly: " + ping + " but got " + pong); } } catch (Ovm3ResourceException | NullPointerException e) { @@ -206,86 +183,84 @@ public Answer executeRequest(Command cmd) { Class clazz = cmd.getClass(); LOGGER.debug("executeRequest called: " + cmd.getClass()); if (cmd instanceof NetworkElementCommand) { - return vrResource.executeRequest((NetworkElementCommand) cmd); + return vrResource.executeRequest((NetworkElementCommand)cmd); } else if (clazz == NetworkRulesSystemVmCommand.class) { - return virtualroutingsupport - .execute((NetworkRulesSystemVmCommand) cmd); + return virtualroutingsupport.execute((NetworkRulesSystemVmCommand)cmd); } else if (clazz == CheckSshCommand.class) { - return virtualroutingsupport.execute((CheckSshCommand) cmd); + return virtualroutingsupport.execute((CheckSshCommand)cmd); } else if (clazz == NetworkUsageCommand.class) { - return virtualroutingsupport.execute((NetworkUsageCommand) cmd); - /* double check order! */ + return virtualroutingsupport.execute((NetworkUsageCommand)cmd); + /* double check order! */ } else if (clazz == CopyCommand.class) { - return storageprocessor.execute((CopyCommand) cmd); + return storageprocessor.execute((CopyCommand)cmd); } else if (cmd instanceof StorageSubSystemCommand) { - return storageHandler.handleStorageCommands((StorageSubSystemCommand) cmd); + return storageHandler.handleStorageCommands((StorageSubSystemCommand)cmd); } else if (clazz == DeleteCommand.class) { - return storageprocessor.execute((DeleteCommand) cmd); + return storageprocessor.execute((DeleteCommand)cmd); } else if (clazz == CreateCommand.class) { - return storageprocessor.execute((CreateCommand) cmd); + return storageprocessor.execute((CreateCommand)cmd); } else if (clazz == CreateObjectCommand.class) { - return storageprocessor.execute((CreateObjectCommand) cmd); + return storageprocessor.execute((CreateObjectCommand)cmd); } else if (clazz == AttachIsoCommand.class) { - return storageprocessor.attachIso((AttachCommand) cmd); - } else if (clazz == DettachCommand.class) { - return storageprocessor.execute((DettachCommand) cmd); - } else if (clazz == AttachCommand.class) { - return storageprocessor.execute((AttachCommand) cmd); - } else if (clazz == CreatePrivateTemplateFromVolumeCommand.class) { - return storageprocessor - .execute((CreatePrivateTemplateFromVolumeCommand) cmd); - } else if (clazz == DestroyCommand.class) { - return storageprocessor.execute((DestroyCommand) cmd); - } else if (clazz == CopyVolumeCommand.class) { - return storageprocessor.execute((CopyVolumeCommand) cmd); + return storageprocessor.attachIso((AttachCommand)cmd); + } else if (clazz == DettachCommand.class) { + return storageprocessor.execute((DettachCommand)cmd); + } else if (clazz == AttachCommand.class) { + return storageprocessor.execute((AttachCommand)cmd); + } else if (clazz == CreatePrivateTemplateFromVolumeCommand.class) { + return storageprocessor.execute((CreatePrivateTemplateFromVolumeCommand)cmd); + } else if (clazz == DestroyCommand.class) { + return storageprocessor.execute((DestroyCommand)cmd); + } else if (clazz == CopyVolumeCommand.class) { + return storageprocessor.execute((CopyVolumeCommand)cmd); } else if (clazz == CreateStoragePoolCommand.class) { - return storagepool.execute((CreateStoragePoolCommand) cmd); + return storagepool.execute((CreateStoragePoolCommand)cmd); } else if (clazz == ModifyStoragePoolCommand.class) { - return storagepool.execute((ModifyStoragePoolCommand) cmd); + return storagepool.execute((ModifyStoragePoolCommand)cmd); } else if (clazz == PrimaryStorageDownloadCommand.class) { - return storagepool.execute((PrimaryStorageDownloadCommand) cmd); + return storagepool.execute((PrimaryStorageDownloadCommand)cmd); } else if (clazz == DeleteStoragePoolCommand.class) { - return storagepool.execute((DeleteStoragePoolCommand) cmd); + return storagepool.execute((DeleteStoragePoolCommand)cmd); } else if (clazz == GetStorageStatsCommand.class) { - return storagepool.execute((GetStorageStatsCommand) cmd); + return storagepool.execute((GetStorageStatsCommand)cmd); } else if (clazz == GetHostStatsCommand.class) { - return hypervisorsupport.execute((GetHostStatsCommand) cmd); + return hypervisorsupport.execute((GetHostStatsCommand)cmd); } else if (clazz == CheckVirtualMachineCommand.class) { - return hypervisorsupport.execute((CheckVirtualMachineCommand) cmd); + return hypervisorsupport.execute((CheckVirtualMachineCommand)cmd); } else if (clazz == MaintainCommand.class) { - return hypervisorsupport.execute((MaintainCommand) cmd); + return hypervisorsupport.execute((MaintainCommand)cmd); } else if (clazz == CheckHealthCommand.class) { - return hypervisorsupport.execute((CheckHealthCommand) cmd); + return hypervisorsupport.execute((CheckHealthCommand)cmd); } else if (clazz == ReadyCommand.class) { - return hypervisorsupport.execute((ReadyCommand) cmd); + return hypervisorsupport.execute((ReadyCommand)cmd); } else if (clazz == FenceCommand.class) { - return hypervisorsupport.execute((FenceCommand) cmd); + return hypervisorsupport.execute((FenceCommand)cmd); } else if (clazz == CheckOnHostCommand.class) { return hypervisorsupport.execute((CheckOnHostCommand)cmd); } else if (clazz == PingTestCommand.class) { - return hypervisornetwork.execute((PingTestCommand) cmd); + return hypervisornetwork.execute((PingTestCommand)cmd); } else if (clazz == CheckNetworkCommand.class) { - return hypervisornetwork.execute((CheckNetworkCommand) cmd); + return hypervisornetwork.execute((CheckNetworkCommand)cmd); } else if (clazz == GetVmStatsCommand.class) { - return vmsupport.execute((GetVmStatsCommand) cmd); + return vmsupport.execute((GetVmStatsCommand)cmd); } else if (clazz == PrepareForMigrationCommand.class) { - return vmsupport.execute((PrepareForMigrationCommand) cmd); + return vmsupport.execute((PrepareForMigrationCommand)cmd); } else if (clazz == MigrateCommand.class) { - return vmsupport.execute((MigrateCommand) cmd); + return vmsupport.execute((MigrateCommand)cmd); } else if (clazz == GetVncPortCommand.class) { - return vmsupport.execute((GetVncPortCommand) cmd); + return vmsupport.execute((GetVncPortCommand)cmd); } else if (clazz == PlugNicCommand.class) { - return vmsupport.execute((PlugNicCommand) cmd); + return vmsupport.execute((PlugNicCommand)cmd); } else if (clazz == UnPlugNicCommand.class) { - return vmsupport.execute((UnPlugNicCommand) cmd); + return vmsupport.execute((UnPlugNicCommand)cmd); } else if (clazz == StartCommand.class) { - return execute((StartCommand) cmd); + return execute((StartCommand)cmd); } else if (clazz == StopCommand.class) { - return execute((StopCommand) cmd); + return execute((StopCommand)cmd); } else if (clazz == RebootCommand.class) { - return execute((RebootCommand) cmd); + return execute((RebootCommand)cmd); } - LOGGER.debug("Can't find class for executeRequest " + cmd.getClass() +", is your direct call missing?"); + LOGGER.debug("Can't find class for executeRequest " + cmd.getClass() + ", is your direct call missing?"); return Answer.createUnsupportedCommandAnswer(cmd); } @@ -339,47 +314,38 @@ public void setRunLevel(int level) { * Base configuration of the plugins components. */ @Override - public boolean configure(String name, Map params) - throws ConfigurationException { + public boolean configure(String name, Map params) throws ConfigurationException { LOGGER.debug("configure " + name + " with params: " + params); /* check if we're master or not and if we can connect */ try { configuration = new Ovm3Configuration(params); if (!configuration.getIsTest()) { - c = new Connection(configuration.getAgentIp(), - configuration.getAgentOvsAgentPort(), - configuration.getAgentOvsAgentUser(), + c = new Connection(configuration.getAgentIp(), configuration.getAgentOvsAgentPort(), configuration.getAgentOvsAgentUser(), configuration.getAgentOvsAgentPassword()); c.setHostName(configuration.getAgentHostname()); } hypervisorsupport = new Ovm3HypervisorSupport(c, configuration); if (!configuration.getIsTest()) { - hypervisorsupport.setupServer(configuration - .getAgentSshKeyFileName()); + hypervisorsupport.setupServer(configuration.getAgentSshKeyFileName()); } hypervisorsupport.masterCheck(); } catch (Exception e) { - throw new CloudRuntimeException("Base checks failed for " - + configuration.getAgentHostname(), e); + throw new CloudRuntimeException("Base checks failed for " + configuration.getAgentHostname(), e); } hypervisornetwork = new Ovm3HypervisorNetwork(c, configuration); hypervisornetwork.configureNetworking(); virtualroutingresource = new Ovm3VirtualRoutingResource(c); storagepool = new Ovm3StoragePool(c, configuration); storagepool.prepareForPool(); - storageprocessor = new Ovm3StorageProcessor(c, configuration, - storagepool); - vmsupport = new Ovm3VmSupport(c, configuration, hypervisorsupport, - storageprocessor, storagepool, hypervisornetwork); + storageprocessor = new Ovm3StorageProcessor(c, configuration, storagepool); + vmsupport = new Ovm3VmSupport(c, configuration, hypervisorsupport, storageprocessor, storagepool, hypervisornetwork); vrResource = new VirtualRoutingResource(virtualroutingresource); if (!vrResource.configure(name, params)) { - throw new ConfigurationException( - "Unable to configure VirtualRoutingResource"); + throw new ConfigurationException("Unable to configure VirtualRoutingResource"); } guesttypes = new Ovm3VmGuestTypes(); storageHandler = new StorageSubsystemCommandHandlerBase(storageprocessor); - virtualroutingsupport = new Ovm3VirtualRoutingSupport(c, configuration, - virtualroutingresource); + virtualroutingsupport = new Ovm3VirtualRoutingSupport(c, configuration, virtualroutingresource); setConfigParams(params); return true; } @@ -413,8 +379,7 @@ public synchronized StartAnswer execute(StartCommand cmd) { vm.setVmCpus(vmSpec.getCpus()); /* in mb not in bytes */ vm.setVmMemory(vmSpec.getMinRam() / 1024 / 1024); - vm.setVmUuid(UUID.nameUUIDFromBytes(vmSpec.getName(). - getBytes(Charset.defaultCharset())).toString()); + vm.setVmUuid(UUID.nameUUIDFromBytes(vmSpec.getName().getBytes(Charset.defaultCharset())).toString()); vm.setVmName(vmName); String domType = guesttypes.getOvm3GuestType(vmSpec.getOs()); @@ -422,8 +387,7 @@ public synchronized StartAnswer execute(StartCommand cmd) { domType = "default"; LOGGER.debug("VM Virt type missing setting to: " + domType); } else { - LOGGER.debug("VM Virt type set to " + domType + " for " - + vmSpec.getOs()); + LOGGER.debug("VM Virt type set to " + domType + " for " + vmSpec.getOs()); } vm.setVmDomainType(domType); @@ -440,10 +404,8 @@ public synchronized StartAnswer execute(StartCommand cmd) { // double check control network if we run a non user VM hypervisornetwork.configureNetworking(); vm.setVmExtra(vmSpec.getBootArgs().replace(" ", "%")); - String svmPath = configuration.getAgentOvmRepoPath() + "/" - + ovmObject.deDash(vm.getPrimaryPoolUuid()) + "/ISOs"; - String svmIso = svmPath + "/" - + storagepool.getSystemVMPatchIsoFile().getName(); + String svmPath = configuration.getAgentOvmRepoPath() + "/" + ovmObject.deDash(vm.getPrimaryPoolUuid()) + "/ISOs"; + String svmIso = svmPath + "/" + storagepool.getSystemVMPatchIsoFile().getName(); vm.addIso(svmIso); } /* OVS/Network stuff should go here! */ @@ -451,10 +413,8 @@ public synchronized StartAnswer execute(StartCommand cmd) { vm.setupVifs(); vm.setVnc("0.0.0.0", vmSpec.getVncPassword()); - xen.createVm(ovmObject.deDash(vm.getPrimaryPoolUuid()), - vm.getVmUuid()); - xen.startVm(ovmObject.deDash(vm.getPrimaryPoolUuid()), - vm.getVmUuid()); + xen.createVm(ovmObject.deDash(vm.getPrimaryPoolUuid()), vm.getVmUuid()); + xen.startVm(ovmObject.deDash(vm.getPrimaryPoolUuid()), vm.getVmUuid()); state = State.Running; if (vmSpec.getType() != VirtualMachine.Type.User) { @@ -469,9 +429,7 @@ public synchronized StartAnswer execute(StartCommand cmd) { CloudstackPlugin cSp = new CloudstackPlugin(c); /* skip a beat to make sure we didn't miss start */ if (hypervisorsupport.getVmState(vmName) == null && count > 1) { - String msg = "VM " + vmName + " went missing on " - + configuration.getAgentHostname() - + ", returning stopped"; + String msg = "VM " + vmName + " went missing on " + configuration.getAgentHostname() + ", returning stopped"; LOGGER.debug(msg); state = State.Stopped; return new StartAnswer(cmd, msg); @@ -479,16 +437,12 @@ public synchronized StartAnswer execute(StartCommand cmd) { /* creative fix? */ try { Boolean res = cSp.domrCheckSsh(controlIp); - LOGGER.debug("connected to " + controlIp - + " on attempt " + count + " result: " + res); + LOGGER.debug("connected to " + controlIp + " on attempt " + count + " result: " + res); if (res) { break; } } catch (Exception x) { - LOGGER.trace( - "unable to connect to " + controlIp - + " on attempt " + count + " " - + x.getMessage(), x); + LOGGER.trace("unable to connect to " + controlIp + " on attempt " + count + " " + x.getMessage(), x); } Thread.sleep(5000); } @@ -496,10 +450,8 @@ public synchronized StartAnswer execute(StartCommand cmd) { /* * Can't remember if HA worked if we were only a pool ? */ - if (configuration.getAgentInOvm3Pool() - && configuration.getAgentInOvm3Cluster()) { - xen.configureVmHa(ovmObject.deDash(vm.getPrimaryPoolUuid()), - vm.getVmUuid(), true); + if (configuration.getAgentInOvm3Pool() && configuration.getAgentInOvm3Cluster()) { + xen.configureVmHa(ovmObject.deDash(vm.getPrimaryPoolUuid()), vm.getVmUuid(), true); } /* should be starting no ? */ state = State.Running; @@ -529,8 +481,7 @@ public StopAnswer execute(StopCommand cmd) { if (vm == null) { state = State.Stopping; - LOGGER.debug("Unable to get details of vm: " + vmName - + ", treating it as Stopping"); + LOGGER.debug("Unable to get details of vm: " + vmName + ", treating it as Stopping"); return new StopAnswer(cmd, "success", true); } String repoId = ovmObject.deDash(vm.getVmRootDiskPoolId()); @@ -576,8 +527,7 @@ public RebootAnswer execute(RebootCommand cmd) { if (vm == null) { return new RebootAnswer(cmd, vmName + " not present", false); } - xen.rebootVm(ovmObject.deDash(vm.getVmRootDiskPoolId()), - vm.getVmUuid()); + xen.rebootVm(ovmObject.deDash(vm.getVmRootDiskPoolId()), vm.getVmUuid()); vm = xen.getRunningVmConfig(vmName); Integer vncPort = vm.getVncPort(); return new RebootAnswer(cmd, null, vncPort); diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3VirtualRoutingResource.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3VirtualRoutingResource.java index f99169d85653..0e00358e75e8 100644 --- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3VirtualRoutingResource.java +++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/Ovm3VirtualRoutingResource.java @@ -17,11 +17,8 @@ package com.cloud.hypervisor.ovm3.resources; -import org.joda.time.Duration; - -import javax.ejb.Local; - import org.apache.log4j.Logger; +import org.joda.time.Duration; import com.cloud.agent.api.SetupGuestNetworkCommand; import com.cloud.agent.api.routing.IpAssocCommand; @@ -36,7 +33,6 @@ import com.cloud.hypervisor.ovm3.objects.Xen; import com.cloud.utils.ExecutionResult; -@Local(value = VirtualRouterDeployer.class) public class Ovm3VirtualRoutingResource implements VirtualRouterDeployer { private final Logger logger = Logger .getLogger(Ovm3VirtualRoutingResource.class); diff --git a/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java b/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java index 6272ee2bac25..031d1c63c731 100644 --- a/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java +++ b/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java @@ -26,12 +26,9 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; -import org.apache.log4j.Logger; - import org.apache.cloudstack.api.AddUcsManagerCmd; import org.apache.cloudstack.api.AssociateUcsProfileToBladeCmd; import org.apache.cloudstack.api.DeleteUcsManagerCmd; @@ -44,6 +41,7 @@ import org.apache.cloudstack.api.response.UcsProfileResponse; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.managed.context.ManagedContextRunnable; +import org.apache.log4j.Logger; import com.cloud.configuration.Config; import com.cloud.dc.ClusterDetailsDao; @@ -68,7 +66,6 @@ import com.cloud.utils.xmlobject.XmlObject; import com.cloud.utils.xmlobject.XmlObjectParser; -@Local(value = {UcsManager.class}) public class UcsManagerImpl implements UcsManager { public static final Logger s_logger = Logger.getLogger(UcsManagerImpl.class); public static final Long COOKIE_TTL = TimeUnit.MILLISECONDS.convert(100L, TimeUnit.MINUTES); diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XcpServerResource.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XcpServerResource.java index 092300123e85..9343620fdcdc 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XcpServerResource.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XcpServerResource.java @@ -16,18 +16,14 @@ // under the License. package com.cloud.hypervisor.xenserver.resource; -import javax.ejb.Local; - import org.apache.log4j.Logger; import org.apache.xmlrpc.XmlRpcException; -import com.cloud.resource.ServerResource; import com.xensource.xenapi.Connection; import com.xensource.xenapi.Host; import com.xensource.xenapi.Types.XenAPIException; import com.xensource.xenapi.VM; -@Local(value = ServerResource.class) public class XcpServerResource extends CitrixResourceBase { private final static Logger s_logger = Logger.getLogger(XcpServerResource.class); diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56FP1Resource.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56FP1Resource.java index 7a9a1c60cb97..7c20fd383694 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56FP1Resource.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56FP1Resource.java @@ -18,16 +18,12 @@ import java.util.Map; -import javax.ejb.Local; - import org.apache.xmlrpc.XmlRpcException; -import com.cloud.resource.ServerResource; import com.xensource.xenapi.Connection; import com.xensource.xenapi.Host; import com.xensource.xenapi.Types.XenAPIException; -@Local(value = ServerResource.class) public class XenServer56FP1Resource extends XenServer56Resource { @Override diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56Resource.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56Resource.java index 61777ef757c1..e8e21d4e8b47 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56Resource.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56Resource.java @@ -16,12 +16,9 @@ // under the License. package com.cloud.hypervisor.xenserver.resource; -import javax.ejb.Local; - import org.apache.log4j.Logger; import com.cloud.agent.api.StartupCommand; -import com.cloud.resource.ServerResource; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.ssh.SSHCmdHelper; import com.xensource.xenapi.Connection; @@ -31,7 +28,6 @@ import com.xensource.xenapi.Types.XenAPIException; import com.xensource.xenapi.VLAN; -@Local(value = ServerResource.class) public class XenServer56Resource extends CitrixResourceBase { private final static Logger s_logger = Logger.getLogger(XenServer56Resource.class); diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56SP2Resource.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56SP2Resource.java index b1d6f97f28ae..2df50a760255 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56SP2Resource.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer56SP2Resource.java @@ -16,11 +16,6 @@ // under the License. package com.cloud.hypervisor.xenserver.resource; -import javax.ejb.Local; - -import com.cloud.resource.ServerResource; - -@Local(value = ServerResource.class) public class XenServer56SP2Resource extends XenServer56FP1Resource { public XenServer56SP2Resource() { diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer600Resource.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer600Resource.java index dd7b34fbc217..83bf5391a246 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer600Resource.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer600Resource.java @@ -16,11 +16,6 @@ // under the License. package com.cloud.hypervisor.xenserver.resource; -import javax.ejb.Local; - -import com.cloud.resource.ServerResource; - -@Local(value = ServerResource.class) public class XenServer600Resource extends XenServer56SP2Resource { @Override diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer610Resource.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer610Resource.java index 68a5acf2eeb2..690a45802ea0 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer610Resource.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer610Resource.java @@ -22,14 +22,11 @@ import java.util.Map; import java.util.Set; -import javax.ejb.Local; - import org.apache.cloudstack.storage.to.VolumeObjectTO; import org.apache.log4j.Logger; import org.apache.xmlrpc.XmlRpcException; import com.cloud.agent.api.to.DiskTO; -import com.cloud.resource.ServerResource; import com.cloud.storage.Volume; import com.cloud.utils.exception.CloudRuntimeException; import com.xensource.xenapi.Connection; @@ -40,7 +37,6 @@ import com.xensource.xenapi.VIF; import com.xensource.xenapi.VM; -@Local(value = ServerResource.class) public class XenServer610Resource extends XenServer600Resource { private static final Logger s_logger = Logger.getLogger(XenServer610Resource.class); diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer620Resource.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer620Resource.java index 8cb9314bfd60..affccc695a5a 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer620Resource.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer620Resource.java @@ -18,19 +18,15 @@ import java.util.Map; import java.util.Set; -import javax.ejb.Local; - import org.apache.cloudstack.hypervisor.xenserver.XenserverConfigs; import org.apache.log4j.Logger; import com.cloud.agent.api.StartupRoutingCommand; -import com.cloud.resource.ServerResource; import com.xensource.xenapi.Connection; import com.xensource.xenapi.Host; import com.xensource.xenapi.HostPatch; import com.xensource.xenapi.PoolPatch; -@Local(value = ServerResource.class) public class XenServer620Resource extends XenServer610Resource { private static final Logger s_logger = Logger.getLogger(XenServer620Resource.class); diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer620SP1Resource.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer620SP1Resource.java index b9022b975075..0a0485488770 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer620SP1Resource.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer620SP1Resource.java @@ -23,8 +23,6 @@ import java.util.Map; import java.util.Set; -import javax.ejb.Local; - import org.apache.log4j.Logger; import org.apache.xmlrpc.XmlRpcException; @@ -32,7 +30,6 @@ import com.cloud.agent.api.StartupRoutingCommand; import com.cloud.agent.api.VgpuTypesInfo; import com.cloud.agent.api.to.GPUDeviceTO; -import com.cloud.resource.ServerResource; import com.xensource.xenapi.Connection; import com.xensource.xenapi.GPUGroup; import com.xensource.xenapi.Host; @@ -43,7 +40,6 @@ import com.xensource.xenapi.VGPUType.Record; import com.xensource.xenapi.VM; -@Local(value=ServerResource.class) public class XenServer620SP1Resource extends XenServer620Resource { private static final Logger s_logger = Logger.getLogger(XenServer620SP1Resource.class); diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer650Resource.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer650Resource.java index 941cefaad264..04b4321f0213 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer650Resource.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer650Resource.java @@ -18,11 +18,6 @@ */ package com.cloud.hypervisor.xenserver.resource; -import javax.ejb.Local; - -import com.cloud.resource.ServerResource; - -@Local(value=ServerResource.class) public class XenServer650Resource extends Xenserver625Resource { @Override diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/Xenserver625Resource.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/Xenserver625Resource.java index 5fc05b7eaab3..407beb774ee8 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/Xenserver625Resource.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/Xenserver625Resource.java @@ -18,13 +18,10 @@ */ package com.cloud.hypervisor.xenserver.resource; -import javax.ejb.Local; - import org.apache.cloudstack.hypervisor.xenserver.XenServerResourceNewBase; import org.apache.log4j.Logger; import org.apache.xmlrpc.XmlRpcException; -import com.cloud.resource.ServerResource; import com.cloud.storage.resource.StorageSubsystemCommandHandler; import com.cloud.storage.resource.StorageSubsystemCommandHandlerBase; import com.cloud.utils.exception.CloudRuntimeException; @@ -34,7 +31,6 @@ import com.xensource.xenapi.Types; import com.xensource.xenapi.VM; -@Local(value=ServerResource.class) public class Xenserver625Resource extends XenServerResourceNewBase { private static final Logger s_logger = Logger.getLogger(Xenserver625Resource.class); diff --git a/plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServiceManagerImpl.java b/plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServiceManagerImpl.java index 9ab10b77b7f5..e6f3b4dfd1cc 100644 --- a/plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServiceManagerImpl.java +++ b/plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServiceManagerImpl.java @@ -24,12 +24,8 @@ import java.util.List; import java.util.Map; -import javax.ejb.Local; import javax.inject.Inject; -import net.juniper.contrail.api.ApiConnector; -import net.juniper.contrail.api.types.ServiceInstance; - import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.network.contrail.api.response.ServiceInstanceResponse; import org.apache.cloudstack.network.contrail.model.ServiceInstanceModel; @@ -63,7 +59,9 @@ import com.cloud.vm.dao.UserVmDao; import com.google.gson.Gson; -@Local(value = {ServiceManager.class}) +import net.juniper.contrail.api.ApiConnector; +import net.juniper.contrail.api.types.ServiceInstance; + public class ServiceManagerImpl implements ServiceManager { private static final Logger s_logger = Logger.getLogger(ServiceManager.class); diff --git a/plugins/network-elements/netscaler/src/com/cloud/network/vm/NetScalerVMManagerImpl.java b/plugins/network-elements/netscaler/src/com/cloud/network/vm/NetScalerVMManagerImpl.java index 8d50b59c0fdc..d869f0bd12f1 100644 --- a/plugins/network-elements/netscaler/src/com/cloud/network/vm/NetScalerVMManagerImpl.java +++ b/plugins/network-elements/netscaler/src/com/cloud/network/vm/NetScalerVMManagerImpl.java @@ -23,16 +23,14 @@ import java.util.List; import java.util.Map; -import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; -import org.apache.log4j.Logger; - import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.lb.dao.ApplicationLoadBalancerRuleDao; +import org.apache.log4j.Logger; import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; @@ -96,7 +94,6 @@ import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.VMInstanceDao; -@Local(value = {NetScalerVMManager.class}) public class NetScalerVMManagerImpl extends ManagerBase implements NetScalerVMManager, VirtualMachineGuru { private static final Logger s_logger = Logger.getLogger(NetScalerVMManagerImpl.class); static final private String NetScalerLbVmNamePrefix = "NS"; diff --git a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapManagerImpl.java b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapManagerImpl.java index 3fd928225fc2..a4d340647f40 100644 --- a/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapManagerImpl.java +++ b/plugins/user-authenticators/ldap/src/org/apache/cloudstack/ldap/LdapManagerImpl.java @@ -20,18 +20,10 @@ import java.util.ArrayList; import java.util.List; -import javax.ejb.Local; import javax.inject.Inject; import javax.naming.NamingException; import javax.naming.ldap.LdapContext; -import org.apache.cloudstack.api.command.LinkDomainToLdapCmd; -import org.apache.cloudstack.api.response.LinkDomainToLdapResponse; -import org.apache.cloudstack.ldap.dao.LdapTrustMapDao; -import org.apache.commons.lang.Validate; -import org.apache.log4j.Logger; -import org.springframework.stereotype.Component; - import org.apache.cloudstack.api.LdapValidator; import org.apache.cloudstack.api.command.LDAPConfigCmd; import org.apache.cloudstack.api.command.LDAPRemoveCmd; @@ -42,15 +34,20 @@ import org.apache.cloudstack.api.command.LdapListConfigurationCmd; import org.apache.cloudstack.api.command.LdapListUsersCmd; import org.apache.cloudstack.api.command.LdapUserSearchCmd; +import org.apache.cloudstack.api.command.LinkDomainToLdapCmd; import org.apache.cloudstack.api.response.LdapConfigurationResponse; import org.apache.cloudstack.api.response.LdapUserResponse; +import org.apache.cloudstack.api.response.LinkDomainToLdapResponse; import org.apache.cloudstack.ldap.dao.LdapConfigurationDao; +import org.apache.cloudstack.ldap.dao.LdapTrustMapDao; +import org.apache.commons.lang.Validate; +import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; import com.cloud.exception.InvalidParameterValueException; import com.cloud.utils.Pair; @Component -@Local(value = LdapManager.class) public class LdapManagerImpl implements LdapManager, LdapValidator { private static final Logger s_logger = Logger.getLogger(LdapManagerImpl.class.getName()); diff --git a/pom.xml b/pom.xml index caa26cdff70b..283b32171df7 100644 --- a/pom.xml +++ b/pom.xml @@ -56,7 +56,7 @@ 1.10 1.1.1 0.5 - 3.0 + 4.12 1.3 @@ -342,11 +342,6 @@ - - javax.ejb - ejb-api - ${cs.ejb.version} - com.googlecode.java-ipv6 java-ipv6 diff --git a/scripts/installer/windows/client.wxs b/scripts/installer/windows/client.wxs index 8c5cdc7807c9..ee09744fc7b8 100644 --- a/scripts/installer/windows/client.wxs +++ b/scripts/installer/windows/client.wxs @@ -1581,9 +1581,6 @@ - - - diff --git a/server/src/com/cloud/network/router/NetworkHelperImpl.java b/server/src/com/cloud/network/router/NetworkHelperImpl.java index 398a7e9bc1b5..fa17e7bc3159 100644 --- a/server/src/com/cloud/network/router/NetworkHelperImpl.java +++ b/server/src/com/cloud/network/router/NetworkHelperImpl.java @@ -25,18 +25,12 @@ import java.util.Map; import javax.annotation.PostConstruct; -import javax.ejb.Local; import javax.inject.Inject; -import com.cloud.configuration.Config; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.network.lb.LoadBalancingRule; -import com.cloud.network.rules.LbStickinessMethod; -import com.cloud.utils.Pair; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; import org.apache.cloudstack.framework.config.ConfigKey; +import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.log4j.Logger; import org.cloud.network.router.deployment.RouterDeploymentDefinition; @@ -45,6 +39,7 @@ import com.cloud.agent.api.to.NicTO; import com.cloud.agent.manager.Commands; import com.cloud.alert.AlertManager; +import com.cloud.configuration.Config; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenter; import com.cloud.dc.Pod; @@ -58,6 +53,7 @@ import com.cloud.exception.InsufficientAddressCapacityException; import com.cloud.exception.InsufficientCapacityException; import com.cloud.exception.InsufficientServerCapacityException; +import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.OperationTimedoutException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.exception.StorageUnavailableException; @@ -75,8 +71,10 @@ import com.cloud.network.dao.IPAddressDao; import com.cloud.network.dao.NetworkDao; import com.cloud.network.dao.UserIpv6AddressDao; +import com.cloud.network.lb.LoadBalancingRule; import com.cloud.network.router.VirtualRouter.RedundantState; import com.cloud.network.router.VirtualRouter.Role; +import com.cloud.network.rules.LbStickinessMethod; import com.cloud.network.vpn.Site2SiteVpnManager; import com.cloud.offering.NetworkOffering; import com.cloud.resource.ResourceManager; @@ -92,6 +90,7 @@ import com.cloud.user.User; import com.cloud.user.UserVO; import com.cloud.user.dao.UserDao; +import com.cloud.utils.Pair; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.net.NetUtils; import com.cloud.vm.DomainRouterVO; @@ -105,7 +104,6 @@ import com.cloud.vm.dao.DomainRouterDao; import com.cloud.vm.dao.NicDao; -@Local(value = { NetworkHelper.class }) public class NetworkHelperImpl implements NetworkHelper { private static final Logger s_logger = Logger.getLogger(NetworkHelperImpl.class); @@ -779,6 +777,7 @@ public static void setSystemAccount(final Account systemAccount) { public static void setVMInstanceName(final String vmInstanceName) { s_vmInstanceName = vmInstanceName; } + @Override public boolean validateHAProxyLBRule(final LoadBalancingRule rule) { final String timeEndChar = "dhms"; int haproxy_stats_port = Integer.parseInt(_configDao.getValue(Config.NetworkLBHaproxyStatsPort.key())); diff --git a/server/src/com/cloud/network/router/NicProfileHelperImpl.java b/server/src/com/cloud/network/router/NicProfileHelperImpl.java index 92a5915c4d5a..090598553199 100644 --- a/server/src/com/cloud/network/router/NicProfileHelperImpl.java +++ b/server/src/com/cloud/network/router/NicProfileHelperImpl.java @@ -19,7 +19,6 @@ import java.net.URI; -import javax.ejb.Local; import javax.inject.Inject; import org.cloud.network.router.deployment.RouterDeploymentDefinition; @@ -43,7 +42,6 @@ import com.cloud.vm.dao.VMInstanceDao; -@Local(value = {NicProfileHelper.class}) public class NicProfileHelperImpl implements NicProfileHelper { @Inject diff --git a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java index 1a4fd962a5b9..f60395bcac43 100644 --- a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java +++ b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java @@ -27,7 +27,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Random; import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; @@ -35,7 +34,6 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -import javax.ejb.ConcurrentAccessException; import javax.inject.Inject; import javax.naming.ConfigurationException; @@ -61,7 +59,6 @@ import com.cloud.agent.api.SecurityGroupRulesCmd.IpPortAndProto; import com.cloud.agent.manager.Commands; import com.cloud.api.query.dao.SecurityGroupJoinDao; -import com.cloud.api.query.vo.SecurityGroupJoinVO; import com.cloud.configuration.Config; import com.cloud.domain.dao.DomainDao; import com.cloud.event.ActionEvent; @@ -95,7 +92,6 @@ import com.cloud.utils.component.ManagerBase; import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.db.DB; -import com.cloud.utils.db.Filter; import com.cloud.utils.db.GlobalLock; import com.cloud.utils.db.Transaction; import com.cloud.utils.db.TransactionCallback; @@ -197,7 +193,7 @@ protected void runInContext() { try { work(); } catch (Throwable th) { - s_logger.error("Problem with SG work", th); + s_logger.error("Problem with SG work", th); } } } @@ -372,8 +368,9 @@ protected String generateRulesetSignature(Map> ingress } public void handleVmStarted(VMInstanceVO vm) { - if (vm.getType() != VirtualMachine.Type.User || !isVmSecurityGroupEnabled(vm.getId())) + if (vm.getType() != VirtualMachine.Type.User || !isVmSecurityGroupEnabled(vm.getId())) { return; + } List affectedVms = getAffectedVmsForVmStart(vm); scheduleRulesetUpdateToHosts(affectedVms, true, null); } @@ -437,7 +434,6 @@ public void doInTransactionWithoutResult(TransactionStatus status) { } } }); - for (Long vmId : affectedVms) { _executorPool.schedule(new WorkerThread(), delayMs, TimeUnit.MILLISECONDS); } @@ -504,7 +500,7 @@ protected SecurityGroupRulesCmd generateRulesetCmd(String vmName, String guestIp Set cidrs = ingressRules.get(pAp); if (cidrs.size() > 0) { IpPortAndProto ipPortAndProto = new SecurityGroupRulesCmd.IpPortAndProto(pAp.getProto(), pAp.getStartPort(), pAp.getEndPort(), cidrs.toArray(new String[cidrs - .size()])); + .size()])); ingressResult.add(ipPortAndProto); } } @@ -512,7 +508,7 @@ protected SecurityGroupRulesCmd generateRulesetCmd(String vmName, String guestIp Set cidrs = egressRules.get(pAp); if (cidrs.size() > 0) { IpPortAndProto ipPortAndProto = new SecurityGroupRulesCmd.IpPortAndProto(pAp.getProto(), pAp.getStartPort(), pAp.getEndPort(), cidrs.toArray(new String[cidrs - .size()])); + .size()])); egressResult.add(ipPortAndProto); } } @@ -521,15 +517,17 @@ protected SecurityGroupRulesCmd generateRulesetCmd(String vmName, String guestIp } protected void handleVmStopped(VMInstanceVO vm) { - if (vm.getType() != VirtualMachine.Type.User || !isVmSecurityGroupEnabled(vm.getId())) + if (vm.getType() != VirtualMachine.Type.User || !isVmSecurityGroupEnabled(vm.getId())) { return; + } List affectedVms = getAffectedVmsForVmStop(vm); scheduleRulesetUpdateToHosts(affectedVms, true, null); } protected void handleVmMigrated(VMInstanceVO vm) { - if (!isVmSecurityGroupEnabled(vm.getId())) + if (!isVmSecurityGroupEnabled(vm.getId())) { return; + } if (vm.getType() != VirtualMachine.Type.User) { Commands cmds = null; NetworkRulesSystemVmCommand nrc = new NetworkRulesSystemVmCommand(vm.getInstanceName(), vm.getType()); @@ -726,7 +724,7 @@ public List doInTransaction(TransactionStatus status) { final SecurityGroupVO tmpGrp = _securityGroupDao.lockRow(ngId, false); if (tmpGrp == null) { s_logger.warn("Failed to acquire lock on security group: " + ngId); - throw new ConcurrentAccessException("Failed to acquire lock on security group: " + ngId); + throw new CloudRuntimeException("Failed to acquire lock on security group: " + ngId); } } SecurityGroupRuleVO securityGroupRule = _securityGroupRuleDao.findByProtoPortsAndAllowedGroupId(securityGroup.getId(), protocolFinal, startPortOrTypeFinal, @@ -1001,7 +999,6 @@ public void doInTransactionWithoutResult(TransactionStatus status) { if (nic != null) { if (nic.getSecondaryIp()) { //get secondary ips of the vm - long networkId = nic.getNetworkId(); nicSecIps = _nicSecIpDao.getSecondaryIpAddressesForNic(nic.getId()); } } @@ -1144,24 +1141,6 @@ public Boolean doInTransaction(TransactionStatus status) throws ResourceInUseExc } - private Pair, Integer> listSecurityGroupRulesByVM(long vmId, long pageInd, long pageSize) { - Filter sf = new Filter(SecurityGroupVMMapVO.class, null, true, pageInd, pageSize); - Pair, Integer> sgVmMappingPair = _securityGroupVMMapDao.listByInstanceId(vmId, sf); - Integer count = sgVmMappingPair.second(); - if (count.intValue() == 0) { - // handle empty result cases - return new Pair, Integer>(new ArrayList(), count); - } - List sgVmMappings = sgVmMappingPair.first(); - Long[] sgIds = new Long[sgVmMappings.size()]; - int i = 0; - for (SecurityGroupVMMapVO sgVm : sgVmMappings) { - sgIds[i++] = sgVm.getSecurityGroupId(); - } - List sgs = _securityGroupJoinDao.searchByIds(sgIds); - return new Pair, Integer>(sgs, count); - } - @Override public void fullSync(long agentId, HashMap> newGroupStates) { ArrayList affectedVms = new ArrayList(); @@ -1207,20 +1186,6 @@ private void cleanupUnfinishedWork() { } } - private void processScheduledWork() { - List scheduled = _workDao.findScheduledWork(); - int numJobs = scheduled.size(); - if (numJobs > 0) { - s_logger.debug("Security group work: found scheduled jobs " + numJobs); - Random rand = new Random(); - for (int i = 0; i < numJobs; i++) { - long delayMs = 100 + 10 * rand.nextInt(numJobs); - _executorPool.schedule(new WorkerThread(), delayMs, TimeUnit.MILLISECONDS); - } - } - - } - @Override public String getSecurityGroupsNamesForVm(long vmId) { try { @@ -1272,34 +1237,34 @@ public boolean preStateTransitionEvent(State oldState, Event event, State newSta @Override public boolean postStateTransitionEvent(StateMachine2.Transition transition, VirtualMachine vm, boolean status, Object opaque) { - if (!status) { - return false; - } - - State oldState = transition.getCurrentState(); - State newState = transition.getToState(); - Event event = transition.getEvent(); - if (VirtualMachine.State.isVmStarted(oldState, event, newState)) { - if (s_logger.isTraceEnabled()) { - s_logger.trace("Security Group Mgr: handling start of vm id" + vm.getId()); - } - handleVmStarted((VMInstanceVO)vm); - } else if (VirtualMachine.State.isVmStopped(oldState, event, newState)) { - if (s_logger.isTraceEnabled()) { - s_logger.trace("Security Group Mgr: handling stop of vm id" + vm.getId()); + if (!status) { + return false; } - handleVmStopped((VMInstanceVO)vm); - } else if (VirtualMachine.State.isVmMigrated(oldState, event, newState)) { - if (s_logger.isTraceEnabled()) { - s_logger.trace("Security Group Mgr: handling migration of vm id" + vm.getId()); + + State oldState = transition.getCurrentState(); + State newState = transition.getToState(); + Event event = transition.getEvent(); + if (VirtualMachine.State.isVmStarted(oldState, event, newState)) { + if (s_logger.isTraceEnabled()) { + s_logger.trace("Security Group Mgr: handling start of vm id" + vm.getId()); + } + handleVmStarted((VMInstanceVO)vm); + } else if (VirtualMachine.State.isVmStopped(oldState, event, newState)) { + if (s_logger.isTraceEnabled()) { + s_logger.trace("Security Group Mgr: handling stop of vm id" + vm.getId()); + } + handleVmStopped((VMInstanceVO)vm); + } else if (VirtualMachine.State.isVmMigrated(oldState, event, newState)) { + if (s_logger.isTraceEnabled()) { + s_logger.trace("Security Group Mgr: handling migration of vm id" + vm.getId()); + } + handleVmMigrated((VMInstanceVO)vm); } - handleVmMigrated((VMInstanceVO)vm); - } - return true; + return true; } - @Override + @Override public boolean isVmSecurityGroupEnabled(Long vmId) { VirtualMachine vm = _vmDao.findByIdIncludingRemoved(vmId); List nics = _networkMgr.getNicProfiles(vm); diff --git a/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java b/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java index 55ed60b38048..05a2c97333e8 100644 --- a/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java +++ b/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java @@ -26,24 +26,22 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; -import org.apache.cloudstack.framework.config.ConfigKey; -import org.apache.cloudstack.framework.config.Configurable; -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; +import org.apache.cloudstack.framework.config.ConfigKey; +import org.apache.cloudstack.framework.config.Configurable; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.managed.context.ManagedContextRunnable; 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; @@ -109,7 +107,6 @@ import com.cloud.vm.dao.VMInstanceDao; @Component -@Local(value = {ResourceLimitService.class}) public class ResourceLimitManagerImpl extends ManagerBase implements ResourceLimitService, Configurable{ public static final Logger s_logger = Logger.getLogger(ResourceLimitManagerImpl.class); @@ -876,8 +873,9 @@ public Long doInTransaction(TransactionStatus status) { ResourceCountVO accountRC = _resourceCountDao.findByOwnerAndType(accountId, ResourceOwnerType.Account, type); long oldCount = 0; - if (accountRC != null) + if (accountRC != null) { oldCount = accountRC.getCount(); + } if (type == Resource.ResourceType.user_vm) { newCount = _userVmDao.countAllocatedVMsForAccount(accountId); @@ -1007,10 +1005,11 @@ private long calculatePublicIpForAccount(long accountId) { dedicatedCount += new Long(ips.size()); } allocatedCount = _ipAddressDao.countAllocatedIPsForAccount(accountId); - if (dedicatedCount > allocatedCount) + if (dedicatedCount > allocatedCount) { return dedicatedCount; - else + } else { return allocatedCount; + } } @Override @@ -1053,8 +1052,9 @@ public void decrementResourceCount(long accountId, ResourceType type, Boolean di public void changeResourceCount(long accountId, ResourceType type, Boolean displayResource, Long... delta) { // meaning that the display flag is not changed so neither increment or decrement - if (displayResource == null) + if (displayResource == null) { return; + } // Increment because the display is turned on. if (displayResource) { diff --git a/server/src/com/cloud/storage/listener/SnapshotStateListener.java b/server/src/com/cloud/storage/listener/SnapshotStateListener.java index 344f81ca15f2..d8d036f637f8 100644 --- a/server/src/com/cloud/storage/listener/SnapshotStateListener.java +++ b/server/src/com/cloud/storage/listener/SnapshotStateListener.java @@ -23,17 +23,14 @@ import java.util.Map; import javax.annotation.PostConstruct; -import javax.ejb.Local; import javax.inject.Inject; -import com.cloud.utils.fsm.StateMachine2; -import org.apache.log4j.Logger; -import org.springframework.beans.factory.NoSuchBeanDefinitionException; -import org.springframework.stereotype.Component; - import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.events.EventBus; import org.apache.cloudstack.framework.events.EventBusException; +import org.apache.log4j.Logger; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.stereotype.Component; import com.cloud.configuration.Config; import com.cloud.event.EventCategory; @@ -44,9 +41,9 @@ import com.cloud.storage.SnapshotVO; import com.cloud.utils.component.ComponentContext; import com.cloud.utils.fsm.StateListener; +import com.cloud.utils.fsm.StateMachine2; @Component -@Local(value = {SnapshotStateListener.class}) public class SnapshotStateListener implements StateListener { protected static EventBus s_eventBus = null; @@ -74,17 +71,18 @@ public boolean preStateTransitionEvent(State oldState, Event event, State newSta @Override public boolean postStateTransitionEvent(StateMachine2.Transition transition, SnapshotVO vo, boolean status, Object opaque) { - pubishOnEventBus(transition.getEvent().name(), "postStateTransitionEvent", vo, transition.getCurrentState(), transition.getToState()); - return true; + pubishOnEventBus(transition.getEvent().name(), "postStateTransitionEvent", vo, transition.getCurrentState(), transition.getToState()); + return true; } - private void pubishOnEventBus(String event, String status, Snapshot vo, State oldState, State newState) { + private void pubishOnEventBus(String event, String status, Snapshot vo, State oldState, State newState) { String configKey = Config.PublishResourceStateEvent.key(); String value = s_configDao.getValue(configKey); boolean configValue = Boolean.parseBoolean(value); - if(!configValue) + if(!configValue) { return; + } try { s_eventBus = ComponentContext.getComponent(EventBus.class); } catch (NoSuchBeanDefinitionException nbe) { @@ -93,8 +91,8 @@ private void pubishOnEventBus(String event, String status, Snapshot vo, State ol String resourceName = getEntityFromClassName(Snapshot.class.getName()); org.apache.cloudstack.framework.events.Event eventMsg = - new org.apache.cloudstack.framework.events.Event(ManagementService.Name, EventCategory.RESOURCE_STATE_CHANGE_EVENT.getName(), event, resourceName, - vo.getUuid()); + new org.apache.cloudstack.framework.events.Event(ManagementService.Name, EventCategory.RESOURCE_STATE_CHANGE_EVENT.getName(), event, resourceName, + vo.getUuid()); Map eventDescription = new HashMap(); eventDescription.put("resource", resourceName); eventDescription.put("id", vo.getUuid()); diff --git a/server/src/com/cloud/uuididentity/UUIDManagerImpl.java b/server/src/com/cloud/uuididentity/UUIDManagerImpl.java index 995dbcdcc7c2..5a6275f2f7fa 100644 --- a/server/src/com/cloud/uuididentity/UUIDManagerImpl.java +++ b/server/src/com/cloud/uuididentity/UUIDManagerImpl.java @@ -18,7 +18,6 @@ import java.util.UUID; -import javax.ejb.Local; import javax.inject.Inject; import org.apache.cloudstack.context.CallContext; @@ -31,7 +30,6 @@ import com.cloud.utils.db.UUIDManager; import com.cloud.utils.exception.CloudRuntimeException; -@Local(value = {UUIDManager.class}) public class UUIDManagerImpl implements UUIDManager { @Inject @@ -44,8 +42,9 @@ public class UUIDManagerImpl implements UUIDManager { @Override public void checkUuid(String uuid, Class entityType) { - if (uuid == null) + if (uuid == null) { return; + } Account caller = CallContext.current().getCallingAccount(); @@ -60,16 +59,19 @@ public void checkUuid(String uuid, Class entityType) { @Override public void checkUuidSimple(String uuid, Class entityType) { - if (uuid == null) + if (uuid == null) { return; + } // check format - if (!IsUuidFormat(uuid)) + if (!IsUuidFormat(uuid)) { throw new InvalidParameterValueException("UUID: " + uuid + " doesn't follow the UUID format"); + } // check unique - if (!IsUuidUnique(entityType, uuid)) + if (!IsUuidUnique(entityType, uuid)) { throw new InvalidParameterValueException("UUID: " + uuid + " already exists so can't create/update with custom id"); + } } @@ -83,10 +85,11 @@ public boolean IsUuidFormat(String uuid) { public boolean IsUuidUnique(Class entityType, String uuid) { T obj = _entityMgr.findByUuid(entityType, uuid); - if (obj != null) + if (obj != null) { return false; - else + } else { return true; + } } @Override @@ -96,8 +99,9 @@ public String generateUuid(Class entityType, String customId) { int retry = UUID_RETRY; while (retry-- != 0) { // there might be collision so retry String uuid = UUID.randomUUID().toString(); - if (IsUuidUnique(entityType, uuid)) + if (IsUuidUnique(entityType, uuid)) { return uuid; + } } throw new CloudRuntimeException("Unable to generate a unique uuid, please try again"); diff --git a/server/src/org/apache/cloudstack/acl/RoleManagerImpl.java b/server/src/org/apache/cloudstack/acl/RoleManagerImpl.java index f615aacf6759..5b3998e8de82 100644 --- a/server/src/org/apache/cloudstack/acl/RoleManagerImpl.java +++ b/server/src/org/apache/cloudstack/acl/RoleManagerImpl.java @@ -21,7 +21,6 @@ import java.util.Date; import java.util.List; -import javax.ejb.Local; import javax.inject.Inject; import org.apache.cloudstack.acl.dao.RoleDao; @@ -53,7 +52,6 @@ import com.cloud.utils.db.TransactionStatus; import com.google.common.base.Strings; -@Local(value = {RoleService.class}) public class RoleManagerImpl extends ManagerBase implements RoleService, Configurable, PluggableService { @Inject private AccountDao accountDao; diff --git a/server/src/org/apache/cloudstack/network/ssl/CertServiceImpl.java b/server/src/org/apache/cloudstack/network/ssl/CertServiceImpl.java index e142ee5e3399..c602475aac9a 100644 --- a/server/src/org/apache/cloudstack/network/ssl/CertServiceImpl.java +++ b/server/src/org/apache/cloudstack/network/ssl/CertServiceImpl.java @@ -16,47 +16,6 @@ // under the License. package org.apache.cloudstack.network.ssl; -import com.cloud.domain.DomainVO; -import com.cloud.domain.dao.DomainDao; -import com.cloud.event.ActionEvent; -import com.cloud.event.EventTypes; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.network.dao.LoadBalancerCertMapDao; -import com.cloud.network.dao.LoadBalancerCertMapVO; -import com.cloud.network.dao.LoadBalancerVO; -import com.cloud.network.dao.SslCertDao; -import com.cloud.network.dao.SslCertVO; -import org.apache.cloudstack.network.tls.CertService; -import com.cloud.network.rules.LoadBalancer; -import com.cloud.projects.Project; -import com.cloud.projects.ProjectService; -import com.cloud.user.Account; -import com.cloud.user.AccountManager; -import com.cloud.user.dao.AccountDao; -import com.cloud.utils.db.DB; -import com.cloud.utils.db.EntityManager; -import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.utils.security.CertificateHelper; -import com.google.common.base.Preconditions; -import com.google.common.base.Strings; -import org.apache.cloudstack.acl.SecurityChecker; -import org.apache.cloudstack.api.command.user.loadbalancer.DeleteSslCertCmd; -import org.apache.cloudstack.api.command.user.loadbalancer.ListSslCertsCmd; -import org.apache.cloudstack.api.command.user.loadbalancer.UploadSslCertCmd; -import org.apache.cloudstack.api.response.SslCertResponse; -import org.apache.cloudstack.context.CallContext; -import org.apache.commons.io.IOUtils; -import org.apache.log4j.Logger; -import org.bouncycastle.jce.provider.BouncyCastleProvider; -import org.bouncycastle.util.io.pem.PemObject; -import org.bouncycastle.util.io.pem.PemReader; - -import javax.crypto.BadPaddingException; -import javax.crypto.Cipher; -import javax.crypto.IllegalBlockSizeException; -import javax.crypto.NoSuchPaddingException; -import javax.ejb.Local; -import javax.inject.Inject; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.StringReader; @@ -89,7 +48,48 @@ import java.util.List; import java.util.Set; -@Local(value = {CertService.class}) +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import javax.inject.Inject; + +import org.apache.cloudstack.acl.SecurityChecker; +import org.apache.cloudstack.api.command.user.loadbalancer.DeleteSslCertCmd; +import org.apache.cloudstack.api.command.user.loadbalancer.ListSslCertsCmd; +import org.apache.cloudstack.api.command.user.loadbalancer.UploadSslCertCmd; +import org.apache.cloudstack.api.response.SslCertResponse; +import org.apache.cloudstack.context.CallContext; +import org.apache.cloudstack.network.tls.CertService; +import org.apache.commons.io.IOUtils; +import org.apache.log4j.Logger; +import org.bouncycastle.jce.provider.BouncyCastleProvider; +import org.bouncycastle.util.io.pem.PemObject; +import org.bouncycastle.util.io.pem.PemReader; + +import com.cloud.domain.DomainVO; +import com.cloud.domain.dao.DomainDao; +import com.cloud.event.ActionEvent; +import com.cloud.event.EventTypes; +import com.cloud.exception.InvalidParameterValueException; +import com.cloud.network.dao.LoadBalancerCertMapDao; +import com.cloud.network.dao.LoadBalancerCertMapVO; +import com.cloud.network.dao.LoadBalancerVO; +import com.cloud.network.dao.SslCertDao; +import com.cloud.network.dao.SslCertVO; +import com.cloud.network.rules.LoadBalancer; +import com.cloud.projects.Project; +import com.cloud.projects.ProjectService; +import com.cloud.user.Account; +import com.cloud.user.AccountManager; +import com.cloud.user.dao.AccountDao; +import com.cloud.utils.db.DB; +import com.cloud.utils.db.EntityManager; +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.security.CertificateHelper; +import com.google.common.base.Preconditions; +import com.google.common.base.Strings; + public class CertServiceImpl implements CertService { private static final Logger s_logger = Logger.getLogger(CertServiceImpl.class); @@ -438,6 +438,7 @@ public PrivateKey parsePrivateKey(final String key) throws IOException { } } + @Override public Certificate parseCertificate(final String cert) { Preconditions.checkArgument(!Strings.isNullOrEmpty(cert)); final PemReader certPem = new PemReader(new StringReader(cert)); diff --git a/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java b/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java index 6595e3f83257..583dcfc0ef5c 100644 --- a/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java +++ b/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java @@ -22,11 +22,8 @@ import java.util.List; import java.util.Map; -import javax.ejb.Local; import javax.inject.Inject; -import org.apache.log4j.Logger; - import org.apache.cloudstack.acl.SecurityChecker; import org.apache.cloudstack.api.command.user.region.ha.gslb.AssignToGlobalLoadBalancerRuleCmd; import org.apache.cloudstack.api.command.user.region.ha.gslb.CreateGlobalLoadBalancerRuleCmd; @@ -38,6 +35,7 @@ import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.region.Region; import org.apache.cloudstack.region.dao.RegionDao; +import org.apache.log4j.Logger; import com.cloud.agent.AgentManager; import com.cloud.agent.api.routing.GlobalLoadBalancerConfigCommand; @@ -69,7 +67,6 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.net.NetUtils; -@Local(value = {GlobalLoadBalancingRulesService.class}) public class GlobalLoadBalancingRulesServiceImpl implements GlobalLoadBalancingRulesService { private static final Logger s_logger = Logger.getLogger(GlobalLoadBalancingRulesServiceImpl.class); @@ -477,12 +474,10 @@ public List doInTransaction(TransactionStatus sta } }); - boolean success = false; try { if (gslbLbMapVos != null) { applyGlobalLoadBalancerRuleConfig(gslbRuleId, true); } - success = true; } catch (ResourceUnavailableException e) { throw new CloudRuntimeException("Failed to update the gloabal load balancer"); } diff --git a/tools/whisker/descriptor-for-packaging.xml b/tools/whisker/descriptor-for-packaging.xml index 579e9d7ffa36..bc78b56e8761 100644 --- a/tools/whisker/descriptor-for-packaging.xml +++ b/tools/whisker/descriptor-for-packaging.xml @@ -1959,10 +1959,10 @@ below. If you did not receive this Content directly from the Eclipse Foundation, the following is provided for informational purposes only, and you should look to the Redistributor's license for terms and conditions of use. -Foundation Dependencies ASM EclipseLink JPA ANTLR Java Persistence API (JPA) 1.0 -- EJB 3.0 Java Persistence API (JPA) 2.0 EARLY ACCESS EclipseLink MOXy Java -Architecture for XML Binding (JAXB) Java Mail Java Activation Framework -Streaming API for XML (StAX) EclipseLink SDO Service Data Objects (SDO) +Foundation Dependencies ASM EclipseLink JPA ANTLR Java Persistence API (JPA) 2.0 +EARLY ACCESS EclipseLink MOXy Java Architecture for XML Binding (JAXB) +Java Mail Java Activation Framework Streaming API for XML (StAX) +EclipseLink SDO Service Data Objects (SDO) Utilities Java Connector Xerces WSDL4J 1.6.2 ASM v1.5.3 The EclipseLink Project includes ASM for the purpose of byte code weaving. The @@ -2019,19 +2019,19 @@ EclipseLink Project to enable the MOXY component's implementation of JAXB. JAXB Libraries: -/jlib/moxy/javax.xml.bind_2.1.12.v20090708-1500.jar /jlib/moxy/jaxb-impl.jar -/jlib/moxy/jaxb.xjc.jar Java Persistence (JPA) 1.0 - EJB 3.0 +/jlib/moxy/javax.xml.bind_2.1.12.v20090708-1500.jar +/jlib/moxy/jaxb-impl.jar +/jlib/moxy/jaxb.xjc.jar -The Java Persistence API, included with EJB 3.0, is available for download from -the ejb-api directory in the glassfish CVS repository.It is distributed under -CDDLv1.0 . The jar is being shipped as an OSGi bundle and is required for -compilation of some container based fuctionality. +Java Persistence (JPA) 2.0: -Java Persistence (JPA) 2.0. - -EclipseLink is the Java Persistence (JPA) 2.0 Reference Implementation (JSR -317). The JPA 2.0 specification API is included in EclipseLink under the EPL and -EDL licenses. +The Java Persistence API used is available in the Maven central repository +under the "org.eclipse.persistence" groupId. This jar is being shipped as +an OSGi bundle and is required for compilation of some container based +functionality. The JAR "javax.persistence" is distributed under Eclipse +Public License v1.0 and Eclipse Distribution License v. 1.0 licenses. +EclipseLink is the Java Persistence (JPA) 2.0 Reference Implementation +(JSR 317). Java Mail v1.4 @@ -2723,10 +2723,6 @@ Copyright (c) 2003-2007 Luck Consulting Pty Ltd Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved. - - - - diff --git a/tools/whisker/descriptor.xml b/tools/whisker/descriptor.xml index 0b6ded57a572..2bc2abaf9acb 100644 --- a/tools/whisker/descriptor.xml +++ b/tools/whisker/descriptor.xml @@ -1959,8 +1959,8 @@ below. If you did not receive this Content directly from the Eclipse Foundation, the following is provided for informational purposes only, and you should look to the Redistributor's license for terms and conditions of use. -Foundation Dependencies ASM EclipseLink JPA ANTLR Java Persistence API (JPA) 1.0 -- EJB 3.0 Java Persistence API (JPA) 2.0 EARLY ACCESS EclipseLink MOXy Java +Foundation Dependencies +ASM EclipseLink JPA ANTLR Java Persistence API (JPA) 2.0 EARLY ACCESS EclipseLink MOXy Java Architecture for XML Binding (JAXB) Java Mail Java Activation Framework Streaming API for XML (StAX) EclipseLink SDO Service Data Objects (SDO) Utilities Java Connector Xerces WSDL4J 1.6.2 ASM v1.5.3 @@ -2019,19 +2019,19 @@ EclipseLink Project to enable the MOXY component's implementation of JAXB. JAXB Libraries: -/jlib/moxy/javax.xml.bind_2.1.12.v20090708-1500.jar /jlib/moxy/jaxb-impl.jar -/jlib/moxy/jaxb.xjc.jar Java Persistence (JPA) 1.0 - EJB 3.0 +/jlib/moxy/javax.xml.bind_2.1.12.v20090708-1500.jar +/jlib/moxy/jaxb-impl.jar +/jlib/moxy/jaxb.xjc.jar -The Java Persistence API, included with EJB 3.0, is available for download from -the ejb-api directory in the glassfish CVS repository.It is distributed under -CDDLv1.0 . The jar is being shipped as an OSGi bundle and is required for -compilation of some container based fuctionality. +Java Persistence (JPA) 2.0: -Java Persistence (JPA) 2.0. - -EclipseLink is the Java Persistence (JPA) 2.0 Reference Implementation (JSR -317). The JPA 2.0 specification API is included in EclipseLink under the EPL and -EDL licenses. +The Java Persistence API used is available in the Maven central repository +under the "org.eclipse.persistence" groupId. This jar is being shipped as +an OSGi bundle and is required for compilation of some container based +functionality. The JAR "javax.persistence" is distributed under Eclipse +Public License v1.0 and Eclipse Distribution License v. 1.0 licenses. +EclipseLink is the Java Persistence (JPA) 2.0 Reference Implementation +(JSR 317). Java Mail v1.4 diff --git a/utils/pom.xml b/utils/pom.xml index 9989afc084e8..9005e626cb84 100755 --- a/utils/pom.xml +++ b/utils/pom.xml @@ -105,10 +105,6 @@ apache-log4j-extras runtime - - javax.ejb - ejb-api - com.googlecode.java-ipv6 java-ipv6