You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ah...@apache.org on 2012/11/20 01:53:37 UTC
[2/2] git commit: Some initial checkins
Some initial checkins
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/bd17d35a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/bd17d35a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/bd17d35a
Branch: refs/heads/javelin
Commit: bd17d35adb44e47077d76d8a853fddfd9a826000
Parents: 6866613
Author: Alex Huang <al...@citrix.com>
Authored: Sun Nov 18 07:37:52 2012 -0800
Committer: Alex Huang <al...@citrix.com>
Committed: Mon Nov 19 16:53:21 2012 -0800
----------------------------------------------------------------------
engine/api/pom.xml | 11 +
.../cloud/entity/api/VirtualMachineEntity.java | 14 +-
.../entity/api/DataCenterResourceEntity.java | 7 +
.../engine/datacenter/entity/api/ZoneEntity.java | 7 +-
.../engine/entity/api/CloudStackEntity.java | 17 +-
.../engine/service/api/EntityService.java | 3 +
.../engine/service/api/OrchestrationService.java | 83 ++-
.../engine/service/api/ProvisioningService.java | 48 ++-
.../datacenter/entity/api/ZoneEntityImpl.java | 294 +++++++++
.../service/api/ProvisioningServiceImpl.java | 138 ++++
.../platform/orchestration/CloudOrchestrator.java | 39 +-
engine/service/pom.xml | 54 ++-
.../org/apache/cloudstack/test/TimeService.java | 42 ++
engine/service/src/main/webapp/WEB-INF/beans.xml | 20 +
engine/service/src/main/webapp/WEB-INF/log4j.xml | 31 +
engine/service/src/main/webapp/WEB-INF/web.xml | 22 +-
.../storage/image/TemplateEntityImpl.java | 490 +++++++--------
.../storage/volume/VolumeEntityImpl.java | 358 ++++++------
18 files changed, 1171 insertions(+), 507 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/api/pom.xml
----------------------------------------------------------------------
diff --git a/engine/api/pom.xml b/engine/api/pom.xml
index 88b3b38..45153d8 100644
--- a/engine/api/pom.xml
+++ b/engine/api/pom.xml
@@ -33,6 +33,17 @@
<artifactId>cloud-api</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-bundle-jaxrs</artifactId>
+ <version>2.7.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/api/src/org/apache/cloudstack/engine/cloud/entity/api/VirtualMachineEntity.java
----------------------------------------------------------------------
diff --git a/engine/api/src/org/apache/cloudstack/engine/cloud/entity/api/VirtualMachineEntity.java b/engine/api/src/org/apache/cloudstack/engine/cloud/entity/api/VirtualMachineEntity.java
index ad44f19..8fb3896 100755
--- a/engine/api/src/org/apache/cloudstack/engine/cloud/entity/api/VirtualMachineEntity.java
+++ b/engine/api/src/org/apache/cloudstack/engine/cloud/entity/api/VirtualMachineEntity.java
@@ -20,6 +20,12 @@ package org.apache.cloudstack.engine.cloud.entity.api;
import java.util.List;
+import javax.ws.rs.BeanParam;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.xml.bind.annotation.XmlRootElement;
+
import org.apache.cloudstack.engine.entity.api.CloudStackEntity;
import com.cloud.deploy.DeployDestination;
@@ -31,12 +37,16 @@ import com.cloud.vm.VirtualMachine;
* Platform.
*
*/
+@Path("vm/{id}")
+@Produces({"application/json", "application/xml"})
+@XmlRootElement(name="vm")
public interface VirtualMachineEntity extends VirtualMachine, CloudStackEntity {
/**
* @return List of uuids for volumes attached to this virtual machine.
*/
- List<String> listVolumeUuids();
+ @GET
+ List<String> listVolumeIds();
/**
* @return List of volumes attached to this virtual machine.
@@ -74,7 +84,7 @@ public interface VirtualMachineEntity extends VirtualMachine, CloudStackEntity {
* @param exclude list of areas to exclude
* @return a reservation id
*/
- String reserve(String plannerToUse, DeployDestination dest, ExcludeList exclude);
+ String reserve(String plannerToUse, @BeanParam DeployDestination dest, ExcludeList exclude);
/**
* Migrate this VM to a certain destination.
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/api/src/org/apache/cloudstack/engine/datacenter/entity/api/DataCenterResourceEntity.java
----------------------------------------------------------------------
diff --git a/engine/api/src/org/apache/cloudstack/engine/datacenter/entity/api/DataCenterResourceEntity.java b/engine/api/src/org/apache/cloudstack/engine/datacenter/entity/api/DataCenterResourceEntity.java
index 75faed7..6752abe 100755
--- a/engine/api/src/org/apache/cloudstack/engine/datacenter/entity/api/DataCenterResourceEntity.java
+++ b/engine/api/src/org/apache/cloudstack/engine/datacenter/entity/api/DataCenterResourceEntity.java
@@ -18,6 +18,8 @@
*/
package org.apache.cloudstack.engine.datacenter.entity.api;
+import javax.ws.rs.POST;
+
import org.apache.cloudstack.engine.entity.api.CloudStackEntity;
import com.cloud.utils.fsm.StateMachine2;
@@ -60,24 +62,29 @@ public interface DataCenterResourceEntity extends CloudStackEntity, StateObject<
}
}
+
/**
* Prepare the resource to take new on new demands.
*/
+ @POST
boolean enable();
/**
* Disables the resource. Cleanup. Prepare for the resource to be removed.
*/
+ @POST
boolean disable();
/**
* Do not use the resource for new demands.
*/
+ @POST
boolean deactivate();
/**
* Reactivates a deactivated resource.
*/
+ @POST
boolean reactivate();
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/api/src/org/apache/cloudstack/engine/datacenter/entity/api/ZoneEntity.java
----------------------------------------------------------------------
diff --git a/engine/api/src/org/apache/cloudstack/engine/datacenter/entity/api/ZoneEntity.java b/engine/api/src/org/apache/cloudstack/engine/datacenter/entity/api/ZoneEntity.java
index 587e40b..577323c 100755
--- a/engine/api/src/org/apache/cloudstack/engine/datacenter/entity/api/ZoneEntity.java
+++ b/engine/api/src/org/apache/cloudstack/engine/datacenter/entity/api/ZoneEntity.java
@@ -20,11 +20,16 @@ package org.apache.cloudstack.engine.datacenter.entity.api;
import java.util.List;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+
import com.cloud.dc.DataCenter;
/**
* Describes a zone and operations that can be done in a zone.
*/
+@Path("zone/{zone-id}")
public interface ZoneEntity extends DataCenterResourceEntity, DataCenter {
- List<PodEntity> listPods();
+ @GET
+ List<PodEntity> listPods();
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/api/src/org/apache/cloudstack/engine/entity/api/CloudStackEntity.java
----------------------------------------------------------------------
diff --git a/engine/api/src/org/apache/cloudstack/engine/entity/api/CloudStackEntity.java b/engine/api/src/org/apache/cloudstack/engine/entity/api/CloudStackEntity.java
index ebda6a2..3b19cca 100755
--- a/engine/api/src/org/apache/cloudstack/engine/entity/api/CloudStackEntity.java
+++ b/engine/api/src/org/apache/cloudstack/engine/entity/api/CloudStackEntity.java
@@ -23,6 +23,9 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
+import javax.ws.rs.GET;
+import javax.ws.rs.QueryParam;
+
/**
* All entities returned by the Cloud Orchestration Platform must implement
* this interface. CloudValueEntity is an immutable representation of
@@ -36,6 +39,7 @@ public interface CloudStackEntity {
/**
* @return the uuid of the object.
*/
+ @GET
String getUuid();
/**
@@ -44,39 +48,40 @@ public interface CloudStackEntity {
long getId();
/**
- * @return external id set by the caller
- */
- String getExternalId();
-
- /**
* @return current state for the entity
*/
+ @GET
String getCurrentState();
/**
* @return desired state for the entity
*/
+ @GET
String getDesiredState();
/**
* Get the time the entity was created
*/
+ @GET
Date getCreatedTime();
/**
* Get the time the entity was last updated
*/
+ @GET
Date getLastUpdatedTime();
/**
* @return reference to the owner of this entity
*/
+ @GET
String getOwner();
/**
* @return details stored for this entity when created.
*/
- Map<String, String> getDetails(String source);
+ Map<String, String> getDetails(
+ @QueryParam("source") String source);
/**
* @return a list of sources that have added to the details.
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/api/src/org/apache/cloudstack/engine/service/api/EntityService.java
----------------------------------------------------------------------
diff --git a/engine/api/src/org/apache/cloudstack/engine/service/api/EntityService.java b/engine/api/src/org/apache/cloudstack/engine/service/api/EntityService.java
index 44c9b5c..2743ab8 100755
--- a/engine/api/src/org/apache/cloudstack/engine/service/api/EntityService.java
+++ b/engine/api/src/org/apache/cloudstack/engine/service/api/EntityService.java
@@ -20,6 +20,8 @@ package org.apache.cloudstack.engine.service.api;
import java.util.List;
+import javax.ws.rs.Path;
+
import com.cloud.network.Network;
import com.cloud.storage.Volume;
import com.cloud.vm.VirtualMachine;
@@ -28,6 +30,7 @@ import com.cloud.vm.VirtualMachine;
* Service to retrieve CloudStack entities
* very likely to change
*/
+@Path("resources")
public interface EntityService {
List<String> listVirtualMachines();
List<String> listVolumes();
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/api/src/org/apache/cloudstack/engine/service/api/OrchestrationService.java
----------------------------------------------------------------------
diff --git a/engine/api/src/org/apache/cloudstack/engine/service/api/OrchestrationService.java b/engine/api/src/org/apache/cloudstack/engine/service/api/OrchestrationService.java
index 2dc0e4c..0bb256d 100755
--- a/engine/api/src/org/apache/cloudstack/engine/service/api/OrchestrationService.java
+++ b/engine/api/src/org/apache/cloudstack/engine/service/api/OrchestrationService.java
@@ -20,7 +20,12 @@ package org.apache.cloudstack.engine.service.api;
import java.net.URL;
import java.util.List;
-import java.util.Map;
+
+import javax.ws.rs.DELETE;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import org.apache.cloudstack.engine.cloud.entity.api.NetworkEntity;
import org.apache.cloudstack.engine.cloud.entity.api.TemplateEntity;
@@ -29,56 +34,68 @@ import org.apache.cloudstack.engine.cloud.entity.api.VolumeEntity;
import com.cloud.hypervisor.Hypervisor;
+@Path("orchestration")
+@Produces({"application/json", "application/xml"})
public interface OrchestrationService {
/**
* creates a new virtual machine
*
- * @param uuid externally unique name to reference the virtual machine
+ * @param id externally unique name to reference the virtual machine
+ * @param owner owner reference
* @param template reference to the template
* @param hostName name of the host
+ * @param displayName name to look at
* @param cpu # of cpu cores
- * @param speed speed of the cpu core
+ * @param speed speed of the cpu core in MHZ
* @param memory memory to allocate in bytes
- * @param networks networks that this VM belongs in
- * @param rootDiskTags tags for the root disk
* @param computeTags tags for the compute
- * @param details extra details to store for the VM
- * @return VirtualMachine
+ * @param rootDiskTags tags for the root disk
+ * @param networks networks that this VM should join
+ * @return VirtualMachineEntity
*/
- VirtualMachineEntity createVirtualMachine(String name,
- String template,
- String hostName,
- int cpu,
- int speed,
- long memory,
- List<String> networks,
- List<String> rootDiskTags,
- List<String> computeTags,
- Map<String, String> details,
- String owner);
+ @POST
+ VirtualMachineEntity createVirtualMachine(
+ @QueryParam("id") String id,
+ @QueryParam("owner") String owner,
+ @QueryParam("template-id") String templateId,
+ @QueryParam("host-name") String hostName,
+ @QueryParam("display-name") String displayName,
+ @QueryParam("cpu") int cpu,
+ @QueryParam("speed") int speed,
+ @QueryParam("ram") long memory,
+ @QueryParam("compute-tags") List<String> computeTags,
+ @QueryParam("root-disk-tags") List<String> rootDiskTags,
+ @QueryParam("networks") List<String> networks
+ );
- VirtualMachineEntity createVirtualMachineFromScratch(String uuid,
- String iso,
- String os,
- String hypervisor,
- String hostName,
- int cpu,
- int speed,
- long memory,
- List<String> networks,
- List<String> computeTags,
- Map<String, String> details,
- String owner);
+ @POST
+ VirtualMachineEntity createVirtualMachineFromScratch(
+ @QueryParam("id") String id,
+ @QueryParam("owner") String owner,
+ @QueryParam("iso-id") String isoId,
+ @QueryParam("host-name") String hostName,
+ @QueryParam("display-name") String displayName,
+ @QueryParam("hypervisor") String hypervisor,
+ @QueryParam("os") String os,
+ @QueryParam("cpu") int cpu,
+ @QueryParam("speed") int speed,
+ @QueryParam("ram") long memory,
+ @QueryParam("compute-tags") List<String> computeTags,
+ @QueryParam("root-disk-tags") List<String> rootDiskTags,
+ @QueryParam("networks") List<String> networks);
- NetworkEntity createNetwork(String externaId, String name, String cidr, String gateway);
+ @POST
+ NetworkEntity createNetwork(String id, String name, String domainName, String cidr, String gateway);
+ @DELETE
void destroyNetwork(String networkUuid);
+ @POST
VolumeEntity createVolume();
+ @DELETE
void destroyVolume(String volumeEntity);
+ @POST
TemplateEntity registerTemplate(String name, URL path, String os, Hypervisor hypervisor);
-
-
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/api/src/org/apache/cloudstack/engine/service/api/ProvisioningService.java
----------------------------------------------------------------------
diff --git a/engine/api/src/org/apache/cloudstack/engine/service/api/ProvisioningService.java b/engine/api/src/org/apache/cloudstack/engine/service/api/ProvisioningService.java
index 8f11273..a8cd5d2 100755
--- a/engine/api/src/org/apache/cloudstack/engine/service/api/ProvisioningService.java
+++ b/engine/api/src/org/apache/cloudstack/engine/service/api/ProvisioningService.java
@@ -21,9 +21,17 @@ package org.apache.cloudstack.engine.service.api;
import java.util.List;
import java.util.Map;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+
+import org.apache.cloudstack.engine.datacenter.entity.api.ClusterEntity;
+import org.apache.cloudstack.engine.datacenter.entity.api.PodEntity;
+import org.apache.cloudstack.engine.datacenter.entity.api.StorageEntity;
import org.apache.cloudstack.engine.datacenter.entity.api.ZoneEntity;
-import com.cloud.dc.DataCenter;
import com.cloud.dc.Pod;
import com.cloud.host.Host;
import com.cloud.host.Status;
@@ -34,32 +42,56 @@ import com.cloud.storage.StoragePool;
* ProvisioningService registers and deregisters physical and virtual
* resources that the management server can use.
*/
+@Path("/provision")
+@Produces({"application/json", "application/xml"})
public interface ProvisioningService {
- String registerStorage(String name, List<String> tags, Map<String, String> details);
+ @POST
+ StorageEntity registerStorage(String name, List<String> tags, Map<String, String> details);
+
+ @POST
ZoneEntity registerZone(String name, List<String> tags, Map<String, String> details);
- String registerPod(String name, List<String> tags, Map<String, String> details);
- String registerCluster(String name, List<String> tags, Map<String, String> details);
- String registerHost(String name, List<String> tags, Map<String, String> details);
+ @POST
+ PodEntity registerPod(String name, List<String> tags, Map<String, String> details);
+ @POST
+ ClusterEntity registerCluster(String name, List<String> tags, Map<String, String> details);
+ @POST
+ String registerHost(String name, List<String> tags, Map<String, String> details);
+
+ @DELETE
void deregisterStorage(String uuid);
+
+ @DELETE
void deregisterZone();
+
+ @DELETE
void deregisterPod();
+
+ @DELETE
void deregisterCluster();
+
+ @DELETE
void deregisterHost();
void changeState(String type, String entity, Status state);
+ @GET
+ @Path("/hosts")
List<Host> listHosts();
+ @GET
+ @Path("/pods")
List<Pod> listPods();
- List<DataCenter> listZones();
-
-
+ @GET
+ @Path("/zones")
+ List<ZoneEntity> listZones();
+ @GET
+ @Path("/storages")
List<StoragePool> listStorage();
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/ZoneEntityImpl.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/ZoneEntityImpl.java b/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/ZoneEntityImpl.java
new file mode 100644
index 0000000..cd62155
--- /dev/null
+++ b/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/ZoneEntityImpl.java
@@ -0,0 +1,294 @@
+/*
+ * 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 org.apache.cloudstack.engine.datacenter.entity.api;
+
+import java.lang.reflect.Method;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+
+@Path("/zone/{id}")
+public class ZoneEntityImpl implements ZoneEntity {
+
+ @Override
+ @POST
+ public boolean enable() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ @POST
+ public boolean disable() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ @POST
+ public boolean deactivate() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ @POST
+ public boolean reactivate() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ @GET
+ public String getUuid() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public long getId() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ @GET
+ public String getCurrentState() {
+ // TODO Auto-generated method stub
+ return "state";
+ }
+
+ @Override
+ @GET
+ public String getDesiredState() {
+ // TODO Auto-generated method stub
+ return "desired_state";
+ }
+
+ @Override
+ @GET
+ public Date getCreatedTime() {
+ // TODO Auto-generated method stub
+ return new Date();
+ }
+
+ @Override
+ @GET
+ public Date getLastUpdatedTime() {
+ // TODO Auto-generated method stub
+ return new Date();
+ }
+
+ @Override
+ @GET
+ public String getOwner() {
+ // TODO Auto-generated method stub
+ return "owner";
+ }
+
+ @Override
+ public Map<String, String> getDetails(String source) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public List<String> getDetailSources() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void addDetail(String source, String name, String value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void delDetail(String source, String name, String value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void updateDetail(String source, String name, String value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public List<Method> getApplicableActions() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public State getState() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getDns1() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getDns2() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getGuestNetworkCidr() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Long getDomainId() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getDescription() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getDomain() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public NetworkType getNetworkType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getInternalDns1() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getInternalDns2() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getDnsProvider() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getGatewayProvider() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getFirewallProvider() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getDhcpProvider() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getLoadBalancerProvider() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getUserDataProvider() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getVpnProvider() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean isSecurityGroupEnabled() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public Map<String, String> getDetails() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void setDetails(Map<String, String> details) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public AllocationState getAllocationState() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getZoneToken() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean isLocalStorageEnabled() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public List<PodEntity> listPods() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/orchestration/src/org/apache/cloudstack/engine/service/api/ProvisioningServiceImpl.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/org/apache/cloudstack/engine/service/api/ProvisioningServiceImpl.java b/engine/orchestration/src/org/apache/cloudstack/engine/service/api/ProvisioningServiceImpl.java
new file mode 100644
index 0000000..d3c0e11
--- /dev/null
+++ b/engine/orchestration/src/org/apache/cloudstack/engine/service/api/ProvisioningServiceImpl.java
@@ -0,0 +1,138 @@
+/*
+ * 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 org.apache.cloudstack.engine.service.api;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+
+import org.apache.cloudstack.engine.datacenter.entity.api.ClusterEntity;
+import org.apache.cloudstack.engine.datacenter.entity.api.PodEntity;
+import org.apache.cloudstack.engine.datacenter.entity.api.StorageEntity;
+import org.apache.cloudstack.engine.datacenter.entity.api.ZoneEntity;
+import org.springframework.stereotype.Service;
+
+import com.cloud.dc.Pod;
+import com.cloud.host.Host;
+import com.cloud.host.Status;
+import com.cloud.storage.StoragePool;
+
+@Service("provisioningService")
+@Path("/provisioning")
+public class ProvisioningServiceImpl implements ProvisioningService {
+
+ @Override
+ public StorageEntity registerStorage(String name, List<String> tags, Map<String, String> details) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public ZoneEntity registerZone(String name, List<String> tags, Map<String, String> details) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public PodEntity registerPod(String name, List<String> tags, Map<String, String> details) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public ClusterEntity registerCluster(String name, List<String> tags, Map<String, String> details) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String registerHost(String name, List<String> tags, Map<String, String> details) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void deregisterStorage(String uuid) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void deregisterZone() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void deregisterPod() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void deregisterCluster() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void deregisterHost() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void changeState(String type, String entity, Status state) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public List<Host> listHosts() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public List<Pod> listPods() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ @GET
+ @Path("/zones")
+ @Produces("text/plain")
+ public List<ZoneEntity> listZones() {
+ List<ZoneEntity> zones = new ArrayList<ZoneEntity>();
+ // TODO Auto-generated method stub
+ return zones;
+ }
+
+ @Override
+ public List<StoragePool> listStorage() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/orchestration/src/org/apache/cloudstack/platform/orchestration/CloudOrchestrator.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/org/apache/cloudstack/platform/orchestration/CloudOrchestrator.java b/engine/orchestration/src/org/apache/cloudstack/platform/orchestration/CloudOrchestrator.java
index 13fe88b..36784c5 100755
--- a/engine/orchestration/src/org/apache/cloudstack/platform/orchestration/CloudOrchestrator.java
+++ b/engine/orchestration/src/org/apache/cloudstack/platform/orchestration/CloudOrchestrator.java
@@ -34,11 +34,7 @@ import com.cloud.hypervisor.Hypervisor;
public class CloudOrchestrator implements OrchestrationService {
- public VirtualMachineEntity create(String name, String template, String hostName, int cpu, int speed, long memory, List<String> networks, List<String> rootDiskTags, List<String> computeTags,
- Map<String, String> details, String owner) {
- // TODO Auto-generated method stub
- return null;
- }
+
public VirtualMachineEntity createFromScratch(String uuid, String iso, String os, String hypervisor, String hostName, int cpu, int speed, long memory, List<String> networks, List<String> computeTags,
Map<String, String> details, String owner) {
@@ -83,35 +79,44 @@ public class CloudOrchestrator implements OrchestrationService {
}
@Override
- public VirtualMachineEntity createVirtualMachine(String name, String template, String hostName, int cpu, int speed, long memory, List<String> networks, List<String> rootDiskTags, List<String> computeTags,
- Map<String, String> details, String owner) {
+ public void destroyNetwork(String networkUuid) {
// TODO Auto-generated method stub
- return null;
+
}
@Override
- public VirtualMachineEntity createVirtualMachineFromScratch(String uuid, String iso, String os, String hypervisor, String hostName, int cpu, int speed, long memory, List<String> networks, List<String> computeTags,
- Map<String, String> details, String owner) {
+ public void destroyVolume(String volumeEntity) {
// TODO Auto-generated method stub
- return null;
+
}
@Override
- public NetworkEntity createNetwork(String externaId, String name, String cidr, String gateway) {
- // TODO Auto-generated method stub
+ public VirtualMachineEntity createVirtualMachine(
+ String id,
+ String owner,
+ String templateId,
+ String hostName,
+ String displayName,
+ int cpu,
+ int speed,
+ long memory,
+ List<String> computeTags,
+ List<String> rootDiskTags,
+ List<String> networks) {
return null;
}
@Override
- public void destroyNetwork(String networkUuid) {
+ public VirtualMachineEntity createVirtualMachineFromScratch(String id, String owner, String isoId, String hostName, String displayName, String hypervisor, String os, int cpu, int speed, long memory,
+ List<String> computeTags, List<String> rootDiskTags, List<String> networks) {
// TODO Auto-generated method stub
-
+ return null;
}
@Override
- public void destroyVolume(String volumeEntity) {
+ public NetworkEntity createNetwork(String id, String name, String domainName, String cidr, String gateway) {
// TODO Auto-generated method stub
-
+ return null;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/service/pom.xml
----------------------------------------------------------------------
diff --git a/engine/service/pom.xml b/engine/service/pom.xml
index 0f9e0da..c39f0e7 100644
--- a/engine/service/pom.xml
+++ b/engine/service/pom.xml
@@ -1,18 +1,17 @@
<?xml version="1.0"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-engine</artifactId>
<version>4.1.0-SNAPSHOT</version>
</parent>
- <groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-engine-service</artifactId>
- <version>4.1.0-SNAPSHOT</version>
<packaging>war</packaging>
- <name>service Maven Webapp</name>
- <url>http://maven.apache.org</url>
+ <name>CloudStack Cloud-Engine Service</name>
+ <url>http://www.cloudstack.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -55,10 +54,49 @@
<artifactId>cloud-engine-compute</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-bundle-jaxrs</artifactId>
+ <version>2.7.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>3.1.2.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-web</artifactId>
+ <version>3.1.2.RELEASE</version>
+ </dependency>
</dependencies>
<build>
<finalName>engine</finalName>
- <sourceDirectory>src</sourceDirectory>
- <testSourceDirectory>test</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>8.1.7.v20120910</version>
+ <configuration>
+ <scanIntervalSeconds>10</scanIntervalSeconds>
+ <webApp>
+ <contextPath>/engine</contextPath>
+ </webApp>
+ <connectors>
+ <connector
+ implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
+ <port>1736</port>
+ <maxIdleTime>60000</maxIdleTime>
+ </connector>
+ </connectors>
+ </configuration>
+ </plugin>
+ </plugins>
</build>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/service/src/main/java/org/apache/cloudstack/test/TimeService.java
----------------------------------------------------------------------
diff --git a/engine/service/src/main/java/org/apache/cloudstack/test/TimeService.java b/engine/service/src/main/java/org/apache/cloudstack/test/TimeService.java
new file mode 100755
index 0000000..817db59
--- /dev/null
+++ b/engine/service/src/main/java/org/apache/cloudstack/test/TimeService.java
@@ -0,0 +1,42 @@
+/*
+ * 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 org.apache.cloudstack.test;
+
+import java.util.Calendar;
+import java.util.Locale;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+
+import org.springframework.format.datetime.DateFormatter;
+import org.springframework.stereotype.Service;
+
+@Service("timeService")
+@Path("/time")
+public class TimeService {
+
+ @GET @Produces("text/plain")
+ public String getDateTime()
+ {
+ DateFormatter formatter = new DateFormatter("dd/MM/yyyy hh:mm:ss");
+ return formatter.print(Calendar.getInstance().getTime(), Locale.getDefault());
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/service/src/main/webapp/WEB-INF/beans.xml
----------------------------------------------------------------------
diff --git a/engine/service/src/main/webapp/WEB-INF/beans.xml b/engine/service/src/main/webapp/WEB-INF/beans.xml
new file mode 100755
index 0000000..28b7d6b
--- /dev/null
+++ b/engine/service/src/main/webapp/WEB-INF/beans.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxrs="http://cxf.apache.org/jaxrs"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
+
+ <import resource="classpath:META-INF/cxf/cxf.xml" />
+ <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
+
+ <context:component-scan base-package="org.apache.cloudstack.engine.service.api" />
+
+ <jaxrs:server id="restContainer" address="/">
+ <jaxrs:serviceBeans>
+ <ref bean="provisioningService"/>
+ </jaxrs:serviceBeans>
+ </jaxrs:server>
+</beans>
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/service/src/main/webapp/WEB-INF/log4j.xml
----------------------------------------------------------------------
diff --git a/engine/service/src/main/webapp/WEB-INF/log4j.xml b/engine/service/src/main/webapp/WEB-INF/log4j.xml
new file mode 100755
index 0000000..d4b09d0
--- /dev/null
+++ b/engine/service/src/main/webapp/WEB-INF/log4j.xml
@@ -0,0 +1,31 @@
+<log4j:configuration debug="false">
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <param name="Threshold" value="DEBUG"/>
+ <param name="Target" value="System.out"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+ </layout>
+ </appender>
+<!--
+ <appender name="FILE_APPENDER" class="org.apache.log4j.DailyRollingFileAppender">
+ <param name="File" value="${catalina.home}/logs/webapp.txt"/>
+ <param name="DatePattern" value="'-'yyyy-MM-dd'.txt'"/>
+ <param name="Threshold" value="DEBUG"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-4p [%t] %C{2} - %m%n"/>
+ </layout>
+ </appender>
+ -->
+
+ <!-- Spring -->
+ <logger name="org.springframework" additivity="false">
+ <level value="DEBUG"/>
+ <appender-ref ref="CONSOLE"/>
+ </logger>
+
+ <root>
+ <level value="DEBUG"/>
+ <appender-ref ref="CONSOLE"/>
+ </root>
+</log4j:configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/service/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/engine/service/src/main/webapp/WEB-INF/web.xml b/engine/service/src/main/webapp/WEB-INF/web.xml
index 04563ea..a89e6ed 100644
--- a/engine/service/src/main/webapp/WEB-INF/web.xml
+++ b/engine/service/src/main/webapp/WEB-INF/web.xml
@@ -3,5 +3,25 @@
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
- <display-name>Archetype Created Web Application</display-name>
+ <context-param>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>WEB-INF/beans.xml</param-value>
+ </context-param>
+ <listener>
+ <listener-class>
+ org.springframework.web.context.ContextLoaderListener
+ </listener-class>
+ </listener>
+ <servlet>
+ <servlet-name>CXFServlet</servlet-name>
+ <display-name>CXF Servlet</display-name>
+ <servlet-class>
+ org.apache.cxf.transport.servlet.CXFServlet
+ </servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>CXFServlet</servlet-name>
+ <url-pattern>/rest/*</url-pattern>
+ </servlet-mapping>
</web-app>
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/storage/src/org/apache/cloudstack/storage/image/TemplateEntityImpl.java
----------------------------------------------------------------------
diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/TemplateEntityImpl.java b/engine/storage/src/org/apache/cloudstack/storage/image/TemplateEntityImpl.java
index 8783804..384ca0d 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/image/TemplateEntityImpl.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/image/TemplateEntityImpl.java
@@ -24,8 +24,6 @@ import java.util.List;
import java.util.Map;
import org.apache.cloudstack.engine.cloud.entity.api.TemplateEntity;
-import org.apache.cloudstack.storage.image.db.ImageDataVO;
-import org.apache.cloudstack.storage.image.store.ImageDataStore;
import org.apache.cloudstack.storage.image.store.ImageDataStoreInfo;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
@@ -33,262 +31,256 @@ import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.Storage.TemplateType;
public class TemplateEntityImpl implements TemplateEntity {
- protected TemplateInfo templateInfo;
+ protected TemplateInfo templateInfo;
public TemplateEntityImpl(TemplateInfo templateInfo) {
- this.templateInfo = templateInfo;
+ this.templateInfo = templateInfo;
}
public ImageDataStoreInfo getImageDataStore() {
return templateInfo.getImageDataStore();
}
-
+
public long getImageDataStoreId() {
- return getImageDataStore().getImageDataStoreId();
+ return getImageDataStore().getImageDataStoreId();
}
-
+
public TemplateInfo getTemplateInfo() {
- return this.templateInfo;
- }
-
- @Override
- public String getUuid() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public long getId() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public String getExternalId() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getCurrentState() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getDesiredState() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Date getCreatedTime() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Date getLastUpdatedTime() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getOwner() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Map<String, String> getDetails(String source) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public List<String> getDetailSources() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void addDetail(String source, String name, String value) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void delDetail(String source, String name, String value) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void updateDetail(String source, String name, String value) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public List<Method> getApplicableActions() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean isFeatured() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isPublicTemplate() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isExtractable() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public String getName() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public ImageFormat getFormat() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean isRequiresHvm() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public String getDisplayText() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean getEnablePassword() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean getEnableSshKey() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isCrossZones() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public Date getCreated() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public long getGuestOSId() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public boolean isBootable() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public TemplateType getTemplateType() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public HypervisorType getHypervisorType() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public int getBits() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public String getUniqueName() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getUrl() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getChecksum() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Long getSourceTemplateId() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getTemplateTag() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Map getDetails() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public long getAccountId() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public long getDomainId() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public long getPhysicalSize() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public long getVirtualSize() {
- // TODO Auto-generated method stub
- return 0;
- }
+ return this.templateInfo;
+ }
+
+ @Override
+ public String getUuid() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public long getId() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public String getCurrentState() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getDesiredState() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Date getCreatedTime() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Date getLastUpdatedTime() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getOwner() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Map<String, String> getDetails(String source) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public List<String> getDetailSources() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void addDetail(String source, String name, String value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void delDetail(String source, String name, String value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void updateDetail(String source, String name, String value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public List<Method> getApplicableActions() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean isFeatured() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean isPublicTemplate() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean isExtractable() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public String getName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public ImageFormat getFormat() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean isRequiresHvm() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public String getDisplayText() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean getEnablePassword() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean getEnableSshKey() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean isCrossZones() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public Date getCreated() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public long getGuestOSId() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public boolean isBootable() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public TemplateType getTemplateType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public HypervisorType getHypervisorType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public int getBits() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public String getUniqueName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getUrl() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getChecksum() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Long getSourceTemplateId() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getTemplateTag() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Map getDetails() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public long getAccountId() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public long getDomainId() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public long getPhysicalSize() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public long getVirtualSize() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bd17d35a/engine/storage/src/org/apache/cloudstack/storage/volume/VolumeEntityImpl.java
----------------------------------------------------------------------
diff --git a/engine/storage/src/org/apache/cloudstack/storage/volume/VolumeEntityImpl.java b/engine/storage/src/org/apache/cloudstack/storage/volume/VolumeEntityImpl.java
index e79614c..424c7f7 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/volume/VolumeEntityImpl.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/volume/VolumeEntityImpl.java
@@ -31,187 +31,181 @@ import org.apache.cloudstack.engine.subsystem.api.storage.disktype.VolumeDiskTyp
import org.apache.cloudstack.engine.subsystem.api.storage.type.VolumeType;
public class VolumeEntityImpl implements VolumeEntity {
- private VolumeInfo volumeInfo;
-
- public VolumeEntityImpl(VolumeInfo volumeObject) {
- this.volumeInfo = volumeObject;
- }
-
- public VolumeInfo getVolumeInfo() {
- return volumeInfo;
- }
-
- public void setVolumeInfo(VolumeInfo vi) {
- this.volumeInfo = vi;
- }
-
- @Override
- public String getUuid() {
- return volumeInfo.getUuid();
- }
-
- @Override
- public long getId() {
- return volumeInfo.getId();
- }
-
- @Override
- public String getExternalId() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getCurrentState() {
- return volumeInfo.getCurrentState().toString();
- }
-
- @Override
- public String getDesiredState() {
- return volumeInfo.getDesiredState().toString();
- }
-
- @Override
- public Date getCreatedTime() {
- return volumeInfo.getCreatedData();
- }
-
- @Override
- public Date getLastUpdatedTime() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getOwner() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Map<String, String> getDetails(String source) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public List<String> getDetailSources() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void addDetail(String source, String name, String value) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void delDetail(String source, String name, String value) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void updateDetail(String source, String name, String value) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public List<Method> getApplicableActions() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public SnapshotEntity takeSnapshotOf(boolean full) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String reserveForMigration(long expirationTime) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void migrate(String reservationToken) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public VolumeEntity setupForCopy() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void copy(VolumeEntity dest) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void attachTo(String vm, long deviceId) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void detachFrom() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void destroy() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public long getSize() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public String getTemplatePath() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getTemplateUuid() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public VolumeDiskType getDiskType() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public VolumeType getType() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public StorageEntity getDataStore() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void setPath(String path) {
- // TODO Auto-generated method stub
-
- }
+ private VolumeInfo volumeInfo;
+
+ public VolumeEntityImpl(VolumeInfo volumeObject) {
+ this.volumeInfo = volumeObject;
+ }
+
+ public VolumeInfo getVolumeInfo() {
+ return volumeInfo;
+ }
+
+ public void setVolumeInfo(VolumeInfo vi) {
+ this.volumeInfo = vi;
+ }
+
+ @Override
+ public String getUuid() {
+ return volumeInfo.getUuid();
+ }
+
+ @Override
+ public long getId() {
+ return volumeInfo.getId();
+ }
+
+ @Override
+ public String getCurrentState() {
+ return volumeInfo.getCurrentState().toString();
+ }
+
+ @Override
+ public String getDesiredState() {
+ return volumeInfo.getDesiredState().toString();
+ }
+
+ @Override
+ public Date getCreatedTime() {
+ return volumeInfo.getCreatedData();
+ }
+
+ @Override
+ public Date getLastUpdatedTime() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getOwner() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Map<String, String> getDetails(String source) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public List<String> getDetailSources() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void addDetail(String source, String name, String value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void delDetail(String source, String name, String value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void updateDetail(String source, String name, String value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public List<Method> getApplicableActions() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SnapshotEntity takeSnapshotOf(boolean full) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String reserveForMigration(long expirationTime) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void migrate(String reservationToken) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public VolumeEntity setupForCopy() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void copy(VolumeEntity dest) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void attachTo(String vm, long deviceId) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void detachFrom() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void destroy() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public long getSize() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public String getTemplatePath() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getTemplateUuid() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public VolumeDiskType getDiskType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public VolumeType getType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public StorageEntity getDataStore() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void setPath(String path) {
+ // TODO Auto-generated method stub
+
+ }
}