diff --git a/core/src/com/cloud/event/UsageEvent.java b/api/src/com/cloud/event/UsageEvent.java similarity index 100% rename from core/src/com/cloud/event/UsageEvent.java rename to api/src/com/cloud/event/UsageEvent.java diff --git a/core/src/com/cloud/storage/resource/StoragePoolResource.java b/api/src/com/cloud/storage/resource/StoragePoolResource.java similarity index 100% rename from core/src/com/cloud/storage/resource/StoragePoolResource.java rename to api/src/com/cloud/storage/resource/StoragePoolResource.java diff --git a/api/src/com/cloud/storage/snapshot/SnapshotSchedule.java b/api/src/com/cloud/storage/snapshot/SnapshotSchedule.java index 12c1445f0ad..6f3d2ce5468 100644 --- a/api/src/com/cloud/storage/snapshot/SnapshotSchedule.java +++ b/api/src/com/cloud/storage/snapshot/SnapshotSchedule.java @@ -16,12 +16,12 @@ // under the License. package com.cloud.storage.snapshot; +import org.apache.cloudstack.api.Identity; +import org.apache.cloudstack.api.InternalIdentity; + import java.util.Date; -public interface SnapshotSchedule { - long getId(); - - String getUuid(); +public interface SnapshotSchedule extends InternalIdentity, Identity { Long getVolumeId(); @@ -38,10 +38,9 @@ public interface SnapshotSchedule { Long getAsyncJobId(); - void setAsyncJobId(long asyncJobId); + void setAsyncJobId(Long asyncJobId); Long getSnapshotId(); void setSnapshotId(Long snapshotId); - } diff --git a/core/pom.xml b/core/pom.xml index 0da69529400..a2d487e531c 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -36,6 +36,11 @@ cloud-engine-api ${project.version} + + org.apache.cloudstack + cloud-engine-schema + ${project.version} + commons-httpclient commons-httpclient @@ -55,7 +60,5 @@ install - src - test diff --git a/core/src/com/cloud/storage/snapshot/SnapshotSchedule.java b/core/src/com/cloud/storage/snapshot/SnapshotSchedule.java deleted file mode 100644 index 6f3d2ce5468..00000000000 --- a/core/src/com/cloud/storage/snapshot/SnapshotSchedule.java +++ /dev/null @@ -1,46 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. -package com.cloud.storage.snapshot; - -import org.apache.cloudstack.api.Identity; -import org.apache.cloudstack.api.InternalIdentity; - -import java.util.Date; - -public interface SnapshotSchedule extends InternalIdentity, Identity { - - Long getVolumeId(); - - Long getPolicyId(); - - void setPolicyId(long policyId); - - /** - * @return the scheduledTimestamp - */ - Date getScheduledTimestamp(); - - void setScheduledTimestamp(Date scheduledTimestamp); - - Long getAsyncJobId(); - - void setAsyncJobId(Long asyncJobId); - - Long getSnapshotId(); - - void setSnapshotId(Long snapshotId); -} diff --git a/core/src/com/cloud/vm/VirtualDisk.java b/core/src/com/cloud/vm/VirtualDisk.java deleted file mode 100644 index ad7bb43d40b..00000000000 --- a/core/src/com/cloud/vm/VirtualDisk.java +++ /dev/null @@ -1,31 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. -package com.cloud.vm; - -import com.cloud.storage.Storage; - -/** - * VirtualDisk describes the disks that are plugged into - * the virtual machine. - * - */ -public class VirtualDisk { - public Storage.ImageFormat format; - public String url; - public boolean bootable; - public long size; -} diff --git a/engine/pom.xml b/engine/pom.xml index 1a3d896d50d..169425ae14e 100644 --- a/engine/pom.xml +++ b/engine/pom.xml @@ -29,8 +29,6 @@ install - src - test api diff --git a/core/src/com/cloud/alert/AlertVO.java b/engine/schema/src/com/cloud/alert/AlertVO.java similarity index 100% rename from core/src/com/cloud/alert/AlertVO.java rename to engine/schema/src/com/cloud/alert/AlertVO.java diff --git a/core/src/com/cloud/configuration/ConfigurationVO.java b/engine/schema/src/com/cloud/configuration/ConfigurationVO.java similarity index 100% rename from core/src/com/cloud/configuration/ConfigurationVO.java rename to engine/schema/src/com/cloud/configuration/ConfigurationVO.java diff --git a/core/src/com/cloud/configuration/ResourceCountVO.java b/engine/schema/src/com/cloud/configuration/ResourceCountVO.java similarity index 100% rename from core/src/com/cloud/configuration/ResourceCountVO.java rename to engine/schema/src/com/cloud/configuration/ResourceCountVO.java diff --git a/core/src/com/cloud/configuration/ResourceLimitVO.java b/engine/schema/src/com/cloud/configuration/ResourceLimitVO.java similarity index 100% rename from core/src/com/cloud/configuration/ResourceLimitVO.java rename to engine/schema/src/com/cloud/configuration/ResourceLimitVO.java diff --git a/core/src/com/cloud/event/EventVO.java b/engine/schema/src/com/cloud/event/EventVO.java similarity index 100% rename from core/src/com/cloud/event/EventVO.java rename to engine/schema/src/com/cloud/event/EventVO.java diff --git a/core/src/com/cloud/event/UsageEventVO.java b/engine/schema/src/com/cloud/event/UsageEventVO.java similarity index 100% rename from core/src/com/cloud/event/UsageEventVO.java rename to engine/schema/src/com/cloud/event/UsageEventVO.java diff --git a/core/src/com/cloud/event/dao/EventDao.java b/engine/schema/src/com/cloud/event/dao/EventDao.java similarity index 100% rename from core/src/com/cloud/event/dao/EventDao.java rename to engine/schema/src/com/cloud/event/dao/EventDao.java diff --git a/core/src/com/cloud/event/dao/EventDaoImpl.java b/engine/schema/src/com/cloud/event/dao/EventDaoImpl.java similarity index 100% rename from core/src/com/cloud/event/dao/EventDaoImpl.java rename to engine/schema/src/com/cloud/event/dao/EventDaoImpl.java diff --git a/core/src/com/cloud/event/dao/UsageEventDao.java b/engine/schema/src/com/cloud/event/dao/UsageEventDao.java similarity index 89% rename from core/src/com/cloud/event/dao/UsageEventDao.java rename to engine/schema/src/com/cloud/event/dao/UsageEventDao.java index 52fa01d0924..01979e18ea3 100644 --- a/core/src/com/cloud/event/dao/UsageEventDao.java +++ b/engine/schema/src/com/cloud/event/dao/UsageEventDao.java @@ -20,16 +20,15 @@ import java.util.Date; import java.util.List; import com.cloud.event.UsageEventVO; -import com.cloud.exception.UsageServerException; import com.cloud.utils.db.GenericDao; public interface UsageEventDao extends GenericDao { - + public List listLatestEvents(Date endDate); public List getLatestEvent(); - - List getRecentEvents(Date endDate) throws UsageServerException; + + List getRecentEvents(Date endDate); List listDirectIpEvents(Date startDate, Date endDate, long zoneId); diff --git a/core/src/com/cloud/event/dao/UsageEventDaoImpl.java b/engine/schema/src/com/cloud/event/dao/UsageEventDaoImpl.java similarity index 92% rename from core/src/com/cloud/event/dao/UsageEventDaoImpl.java rename to engine/schema/src/com/cloud/event/dao/UsageEventDaoImpl.java index dafc8d4d5ec..004ab7c381f 100644 --- a/core/src/com/cloud/event/dao/UsageEventDaoImpl.java +++ b/engine/schema/src/com/cloud/event/dao/UsageEventDaoImpl.java @@ -30,7 +30,6 @@ import org.springframework.stereotype.Component; import com.cloud.dc.Vlan; import com.cloud.event.EventTypes; import com.cloud.event.UsageEventVO; -import com.cloud.exception.UsageServerException; import com.cloud.utils.DateUtil; import com.cloud.utils.db.DB; import com.cloud.utils.db.Filter; @@ -38,6 +37,7 @@ import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.Transaction; +import com.cloud.utils.exception.CloudRuntimeException; @Component @Local(value={UsageEventDao.class}) @@ -58,8 +58,8 @@ public class UsageEventDaoImpl extends GenericDaoBase implem latestEventsSearch.and("processed", latestEventsSearch.entity().isProcessed(), SearchCriteria.Op.EQ); latestEventsSearch.and("enddate", latestEventsSearch.entity().getCreateDate(), SearchCriteria.Op.LTEQ); latestEventsSearch.done(); - - IpeventsSearch = createSearchBuilder(); + + IpeventsSearch = createSearchBuilder(); IpeventsSearch.and("startdate", IpeventsSearch.entity().getCreateDate(), SearchCriteria.Op.GTEQ); IpeventsSearch.and("enddate", IpeventsSearch.entity().getCreateDate(), SearchCriteria.Op.LTEQ); IpeventsSearch.and("zoneid", IpeventsSearch.entity().getZoneId(), SearchCriteria.Op.EQ); @@ -84,10 +84,10 @@ public class UsageEventDaoImpl extends GenericDaoBase implem Filter filter = new Filter(UsageEventVO.class, "id", Boolean.FALSE, Long.valueOf(0), Long.valueOf(1)); return listAll(filter); } - + @Override @DB - public synchronized List getRecentEvents(Date endDate) throws UsageServerException { + public synchronized List getRecentEvents(Date endDate) { long recentEventId = getMostRecentEventId(); long maxEventId = getMaxEventId(endDate); Transaction txn = Transaction.open(Transaction.USAGE_DB); @@ -114,12 +114,12 @@ public class UsageEventDaoImpl extends GenericDaoBase implem } catch (Exception ex) { txn.rollback(); s_logger.error("error copying events from cloud db to usage db", ex); - throw new UsageServerException(ex.getMessage()); + throw new CloudRuntimeException(ex.getMessage()); } } @DB - private long getMostRecentEventId() throws UsageServerException { + private long getMostRecentEventId() { Transaction txn = Transaction.open(Transaction.USAGE_DB); try { List latestEvents = getLatestEvent(); @@ -133,25 +133,25 @@ public class UsageEventDaoImpl extends GenericDaoBase implem return 0; } catch (Exception ex) { s_logger.error("error getting most recent event id", ex); - throw new UsageServerException(ex.getMessage()); + throw new CloudRuntimeException(ex.getMessage()); } finally { txn.close(); } } - private List findRecentEvents(Date endDate) throws UsageServerException { + private List findRecentEvents(Date endDate) { Transaction txn = Transaction.open(Transaction.USAGE_DB); try { return listLatestEvents(endDate); } catch (Exception ex) { s_logger.error("error getting most recent event date", ex); - throw new UsageServerException(ex.getMessage()); + throw new CloudRuntimeException(ex.getMessage()); } finally { txn.close(); } } - - private long getMaxEventId(Date endDate) throws UsageServerException { + + private long getMaxEventId(Date endDate) { Transaction txn = Transaction.currentTxn(); PreparedStatement pstmt = null; try { @@ -165,7 +165,7 @@ public class UsageEventDaoImpl extends GenericDaoBase implem return 0; } catch (Exception ex) { s_logger.error("error getting max event id", ex); - throw new UsageServerException(ex.getMessage()); + throw new CloudRuntimeException(ex.getMessage()); } finally { txn.close(); } diff --git a/core/src/com/cloud/user/AccountVO.java b/engine/schema/src/com/cloud/user/AccountVO.java similarity index 100% rename from core/src/com/cloud/user/AccountVO.java rename to engine/schema/src/com/cloud/user/AccountVO.java diff --git a/core/src/com/cloud/user/SSHKeyPairVO.java b/engine/schema/src/com/cloud/user/SSHKeyPairVO.java similarity index 100% rename from core/src/com/cloud/user/SSHKeyPairVO.java rename to engine/schema/src/com/cloud/user/SSHKeyPairVO.java diff --git a/core/src/com/cloud/user/UserAccountVO.java b/engine/schema/src/com/cloud/user/UserAccountVO.java similarity index 100% rename from core/src/com/cloud/user/UserAccountVO.java rename to engine/schema/src/com/cloud/user/UserAccountVO.java diff --git a/core/src/com/cloud/user/UserStatisticsVO.java b/engine/schema/src/com/cloud/user/UserStatisticsVO.java similarity index 100% rename from core/src/com/cloud/user/UserStatisticsVO.java rename to engine/schema/src/com/cloud/user/UserStatisticsVO.java diff --git a/core/src/com/cloud/user/UserStatsLogVO.java b/engine/schema/src/com/cloud/user/UserStatsLogVO.java similarity index 100% rename from core/src/com/cloud/user/UserStatsLogVO.java rename to engine/schema/src/com/cloud/user/UserStatsLogVO.java diff --git a/core/src/com/cloud/user/UserVO.java b/engine/schema/src/com/cloud/user/UserVO.java similarity index 100% rename from core/src/com/cloud/user/UserVO.java rename to engine/schema/src/com/cloud/user/UserVO.java diff --git a/core/src/com/cloud/vm/VMInstanceVO.java b/engine/schema/src/com/cloud/vm/VMInstanceVO.java similarity index 100% rename from core/src/com/cloud/vm/VMInstanceVO.java rename to engine/schema/src/com/cloud/vm/VMInstanceVO.java diff --git a/core/src/com/cloud/vm/snapshot/VMSnapshotVO.java b/engine/schema/src/com/cloud/vm/snapshot/VMSnapshotVO.java similarity index 100% rename from core/src/com/cloud/vm/snapshot/VMSnapshotVO.java rename to engine/schema/src/com/cloud/vm/snapshot/VMSnapshotVO.java diff --git a/framework/api/pom.xml b/framework/api/pom.xml deleted file mode 100644 index 5260ebc4bf6..00000000000 --- a/framework/api/pom.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - 4.0.0 - cloud-framework-api - - org.apache.cloudstack - cloudstack-framework - 4.2.0-SNAPSHOT - ../pom.xml - - - - - org.apache.cloudstack - cloud-utils - 4.2.0-SNAPSHOT - - - - - - install - src - ${project.basedir}/test - - - ${project.basedir}/test/resources - - - - diff --git a/framework/ipc/pom.xml b/framework/ipc/pom.xml index b7f4fcc78ce..2c2131f01c1 100644 --- a/framework/ipc/pom.xml +++ b/framework/ipc/pom.xml @@ -20,26 +20,24 @@ ../pom.xml - - org.apache.cloudstack - cloud-core - 4.2.0-SNAPSHOT + cglib + cglib-nodep + ${cs.cglib.version} + + + com.google.code.gson + gson + ${cs.gson.version} - org.apache.cloudstack cloud-utils - 4.2.0-SNAPSHOT + ${project.version} - - install - src - ${project.basedir}/test ${project.basedir}/test/resources diff --git a/framework/api/src/org/apache/cloudstack/framework/async/AsyncCallFuture.java b/framework/ipc/src/org/apache/cloudstack/framework/async/AsyncCallFuture.java similarity index 100% rename from framework/api/src/org/apache/cloudstack/framework/async/AsyncCallFuture.java rename to framework/ipc/src/org/apache/cloudstack/framework/async/AsyncCallFuture.java diff --git a/framework/api/src/org/apache/cloudstack/framework/async/AsyncCompletionCallback.java b/framework/ipc/src/org/apache/cloudstack/framework/async/AsyncCompletionCallback.java similarity index 100% rename from framework/api/src/org/apache/cloudstack/framework/async/AsyncCompletionCallback.java rename to framework/ipc/src/org/apache/cloudstack/framework/async/AsyncCompletionCallback.java diff --git a/framework/ipc/src/org/apache/cloudstack/framework/client/ClientTransportProvider.java b/framework/ipc/src/org/apache/cloudstack/framework/client/ClientTransportProvider.java index bd93824ea85..023b3181b20 100644 --- a/framework/ipc/src/org/apache/cloudstack/framework/client/ClientTransportProvider.java +++ b/framework/ipc/src/org/apache/cloudstack/framework/client/ClientTransportProvider.java @@ -28,7 +28,7 @@ import org.apache.cloudstack.framework.transport.TransportEndpoint; import org.apache.cloudstack.framework.transport.TransportEndpointSite; import org.apache.cloudstack.framework.transport.TransportProvider; -import com.cloud.utils.concurrency.NamedThreadFactory; +import com.cloud.utils.concurrency.NamedThreadFactory; public class ClientTransportProvider implements TransportProvider { public static final int DEFAULT_WORKER_POOL_SIZE = 5; diff --git a/framework/pom.xml b/framework/pom.xml index 4633dab2b30..4dfb409f04e 100644 --- a/framework/pom.xml +++ b/framework/pom.xml @@ -33,6 +33,5 @@ ipc rest events - api diff --git a/pom.xml b/pom.xml index 57073e3b19a..7f4a74664e0 100644 --- a/pom.xml +++ b/pom.xml @@ -255,6 +255,13 @@ install + src + test + + + test/resources + + ${basedir}/${cs.target.dir}/classes ${basedir}/${cs.target.dir}/test-classes @@ -275,8 +282,8 @@ - + org.eclipse.m2e lifecycle-mapping @@ -298,7 +305,7 @@ - + diff --git a/server/pom.xml b/server/pom.xml index 8b64335d50f..2d960bef303 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -1,22 +1,14 @@ - - + + 4.0.0 cloud-server Apache CloudStack Server @@ -110,35 +102,35 @@ **/*.xml - + test/resources - - %regex[.*[0-9]*To[0-9]*.*Test.*] - + + %regex[.*[0-9]*To[0-9]*.*Test.*] + - - org.apache.maven.plugins - maven-compiler-plugin - - - default-testCompile - test-compile - - - **/com/cloud/upgrade/*.java - **/com/cloud/async/*.java - - - - testCompile - - - - + + org.apache.maven.plugins + maven-compiler-plugin + + + default-testCompile + test-compile + + + **/com/cloud/upgrade/*.java + **/com/cloud/async/*.java + + + + testCompile + + + + org.apache.maven.plugins maven-surefire-plugin @@ -146,8 +138,8 @@ -Xmx1024m %regex[.*[0-9]*To[0-9]*.*Test.*] - com/cloud/upgrade/AdvanceZone223To224UpgradeTest - com/cloud/upgrade/AdvanceZone217To224UpgradeTest + com/cloud/upgrade/AdvanceZone223To224UpgradeTest + com/cloud/upgrade/AdvanceZone217To224UpgradeTest com/cloud/async/* com/cloud/cluster/* com/cloud/snapshot/* @@ -173,22 +165,18 @@ - + - - + + - + diff --git a/utils/pom.xml b/utils/pom.xml index d4bafbdcaf0..27430267cfe 100644 --- a/utils/pom.xml +++ b/utils/pom.xml @@ -172,15 +172,6 @@ ${project.basedir}/test/resources - org.apache.maven.plugins