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