diff --git a/engine/schema/resources/META-INF/cloudstack/core/spring-engine-schema-core-daos-context.xml b/engine/schema/resources/META-INF/cloudstack/core/spring-engine-schema-core-daos-context.xml
index 117370720da..8b7a604979e 100644
--- a/engine/schema/resources/META-INF/cloudstack/core/spring-engine-schema-core-daos-context.xml
+++ b/engine/schema/resources/META-INF/cloudstack/core/spring-engine-schema-core-daos-context.xml
@@ -270,7 +270,6 @@
-
diff --git a/engine/storage/integration-test/test/resource/fakeDriverTestContext.xml b/engine/storage/integration-test/test/resource/fakeDriverTestContext.xml
index 48a99e64355..944196da1fc 100644
--- a/engine/storage/integration-test/test/resource/fakeDriverTestContext.xml
+++ b/engine/storage/integration-test/test/resource/fakeDriverTestContext.xml
@@ -43,7 +43,6 @@
-
diff --git a/engine/storage/integration-test/test/resources/storageContext.xml b/engine/storage/integration-test/test/resources/storageContext.xml
index 9154edafb95..abf08767d9d 100644
--- a/engine/storage/integration-test/test/resources/storageContext.xml
+++ b/engine/storage/integration-test/test/resources/storageContext.xml
@@ -43,7 +43,6 @@
-
diff --git a/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreDao.java b/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreDao.java
deleted file mode 100644
index 1827edfe861..00000000000
--- a/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreDao.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 org.apache.cloudstack.storage.volume.db;
-
-import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
-
-import com.cloud.utils.db.GenericDao;
-import com.cloud.utils.fsm.StateDao;
-
-public interface TemplatePrimaryDataStoreDao extends GenericDao,
- StateDao {
- public TemplatePrimaryDataStoreVO findByTemplateIdAndPoolId(long templateId, long poolId);
-
- public TemplatePrimaryDataStoreVO findByTemplateIdAndPoolIdAndReady(long templateId, long poolId);
-}
diff --git a/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreDaoImpl.java b/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreDaoImpl.java
deleted file mode 100644
index 75838b02581..00000000000
--- a/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreDaoImpl.java
+++ /dev/null
@@ -1,123 +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 org.apache.cloudstack.storage.volume.db;
-
-import java.util.Date;
-
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
-
-import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
-import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event;
-import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.State;
-
-import com.cloud.utils.db.GenericDaoBase;
-import com.cloud.utils.db.QueryBuilder;
-import com.cloud.utils.db.SearchBuilder;
-import com.cloud.utils.db.SearchCriteria;
-import com.cloud.utils.db.SearchCriteria.Op;
-import com.cloud.utils.db.UpdateBuilder;
-
-@Component
-public class TemplatePrimaryDataStoreDaoImpl extends GenericDaoBase implements TemplatePrimaryDataStoreDao {
- private static final Logger s_logger = Logger.getLogger(TemplatePrimaryDataStoreDaoImpl.class);
- protected final SearchBuilder updateSearchBuilder;
-
- public TemplatePrimaryDataStoreDaoImpl() {
- updateSearchBuilder = createSearchBuilder();
- updateSearchBuilder.and("id", updateSearchBuilder.entity().getId(), Op.EQ);
- updateSearchBuilder.and("state", updateSearchBuilder.entity().getState(), Op.EQ);
- updateSearchBuilder.and("updatedCount", updateSearchBuilder.entity().getUpdatedCount(), Op.EQ);
- updateSearchBuilder.done();
- }
-
- @Override
- public TemplatePrimaryDataStoreVO findByTemplateIdAndPoolId(long templateId, long poolId) {
- QueryBuilder sc = QueryBuilder.create(TemplatePrimaryDataStoreVO.class);
- sc.and(sc.entity().getTemplateId(), Op.EQ, templateId);
- sc.and(sc.entity().getPoolId(), Op.EQ, poolId);
- return sc.find();
- }
-
- @Override
- public TemplatePrimaryDataStoreVO findByTemplateIdAndPoolIdAndReady(long templateId, long poolId) {
- QueryBuilder sc = QueryBuilder.create(TemplatePrimaryDataStoreVO.class);
- sc.and(sc.entity().getTemplateId(), Op.EQ, templateId);
- sc.and(sc.entity().getPoolId(), Op.EQ, poolId);
- sc.and(sc.entity().getState(), Op.EQ, ObjectInDataStoreStateMachine.State.Ready);
- return sc.find();
- }
-
- @Override
- public boolean updateState(State currentState, Event event, State nextState, TemplatePrimaryDataStoreVO vo, Object data) {
- Long oldUpdated = vo.getUpdatedCount();
- Date oldUpdatedTime = vo.getLastUpdated();
-
- SearchCriteria sc = updateSearchBuilder.create();
- sc.setParameters("id", vo.getId());
- sc.setParameters("state", currentState);
- sc.setParameters("updatedCount", vo.getUpdatedCount());
-
- vo.incrUpdatedCount();
-
- UpdateBuilder builder = getUpdateBuilder(vo);
- builder.set(vo, "state", nextState);
- builder.set(vo, "lastUpdated", new Date());
-
- int rows = update(vo, sc);
- if (rows == 0 && s_logger.isDebugEnabled()) {
- TemplatePrimaryDataStoreVO template = findByIdIncludingRemoved(vo.getId());
- if (template != null) {
- StringBuilder str = new StringBuilder("Unable to update ").append(vo.toString());
- str.append(": DB Data={id=")
- .append(template.getId())
- .append("; state=")
- .append(template.getState())
- .append("; updatecount=")
- .append(template.getUpdatedCount())
- .append(";updatedTime=")
- .append(template.getLastUpdated());
- str.append(": New Data={id=")
- .append(vo.getId())
- .append("; state=")
- .append(nextState)
- .append("; event=")
- .append(event)
- .append("; updatecount=")
- .append(vo.getUpdatedCount())
- .append("; updatedTime=")
- .append(vo.getLastUpdated());
- str.append(": stale Data={id=")
- .append(vo.getId())
- .append("; state=")
- .append(currentState)
- .append("; event=")
- .append(event)
- .append("; updatecount=")
- .append(oldUpdated)
- .append("; updatedTime=")
- .append(oldUpdatedTime);
- } else {
- s_logger.debug("Unable to update template: id=" + vo.getId() + ", as there is no such template exists in the database anymore");
- }
- }
- return rows > 0;
- }
-
-}
diff --git a/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreVO.java b/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreVO.java
deleted file mode 100644
index 9635729442b..00000000000
--- a/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreVO.java
+++ /dev/null
@@ -1,262 +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 org.apache.cloudstack.storage.volume.db;
-
-import java.util.Date;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
-
-import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
-
-import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
-import com.cloud.utils.db.GenericDaoBase;
-import com.cloud.utils.fsm.StateObject;
-
-@Entity
-@Table(name = "template_spool_ref")
-public class TemplatePrimaryDataStoreVO implements StateObject {
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- long id;
-
- @Column(name = "pool_id")
- private long poolId;
-
- @Column(name = "template_id")
- long templateId;
-
- @Column(name = GenericDaoBase.CREATED_COLUMN)
- Date created = null;
-
- @Column(name = "last_updated")
- @Temporal(value = TemporalType.TIMESTAMP)
- Date lastUpdated = null;
-
- @Column(name = "download_pct")
- int downloadPercent;
-
- @Column(name = "download_state")
- @Enumerated(EnumType.STRING)
- Status downloadState;
-
- @Column(name = "local_path")
- String localDownloadPath;
-
- @Column(name = "error_str")
- String errorString;
-
- @Column(name = "job_id")
- String jobId;
-
- @Column(name = "install_path")
- String installPath;
-
- @Column(name = "template_size")
- long templateSize;
-
- @Column(name = "marked_for_gc")
- boolean markedForGC;
-
- @Column(name = "state")
- @Enumerated(EnumType.STRING)
- ObjectInDataStoreStateMachine.State state;
-
- @Column(name = "update_count", updatable = true, nullable = false)
- protected long updatedCount;
-
- public long getUpdatedCount() {
- return this.updatedCount;
- }
-
- public void incrUpdatedCount() {
- this.updatedCount++;
- }
-
- public void decrUpdatedCount() {
- this.updatedCount--;
- }
-
- public String getInstallPath() {
- return installPath;
- }
-
- public long getTemplateSize() {
- return templateSize;
- }
-
- public long getPoolId() {
- return poolId;
- }
-
- public void setpoolId(long poolId) {
- this.poolId = poolId;
- }
-
- public long getTemplateId() {
- return templateId;
- }
-
- public void setTemplateId(long templateId) {
- this.templateId = templateId;
- }
-
- public int getDownloadPercent() {
- return downloadPercent;
- }
-
- public void setDownloadPercent(int downloadPercent) {
- this.downloadPercent = downloadPercent;
- }
-
- public void setDownloadState(Status downloadState) {
- this.downloadState = downloadState;
- }
-
- public long getId() {
- return id;
- }
-
- public Date getCreated() {
- return created;
- }
-
- public Date getLastUpdated() {
- return lastUpdated;
- }
-
- public void setLastUpdated(Date date) {
- lastUpdated = date;
- }
-
- public void setInstallPath(String installPath) {
- this.installPath = installPath;
- }
-
- public Status getDownloadState() {
- return downloadState;
- }
-
- public TemplatePrimaryDataStoreVO(long poolId, long templateId) {
- super();
- this.poolId = poolId;
- this.templateId = templateId;
- this.downloadState = Status.NOT_DOWNLOADED;
- this.state = ObjectInDataStoreStateMachine.State.Allocated;
- this.markedForGC = false;
- }
-
- public TemplatePrimaryDataStoreVO(long poolId, long templateId, Date lastUpdated, int downloadPercent, Status downloadState, String localDownloadPath,
- String errorString, String jobId, String installPath, long templateSize) {
- super();
- this.poolId = poolId;
- this.templateId = templateId;
- this.lastUpdated = lastUpdated;
- this.downloadPercent = downloadPercent;
- this.downloadState = downloadState;
- this.localDownloadPath = localDownloadPath;
- this.errorString = errorString;
- this.jobId = jobId;
- this.installPath = installPath;
- this.templateSize = templateSize;
- }
-
- protected TemplatePrimaryDataStoreVO() {
-
- }
-
- public void setLocalDownloadPath(String localPath) {
- this.localDownloadPath = localPath;
- }
-
- public String getLocalDownloadPath() {
- return localDownloadPath;
- }
-
- public void setErrorString(String errorString) {
- this.errorString = errorString;
- }
-
- public String getErrorString() {
- return errorString;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setTemplateSize(long templateSize) {
- this.templateSize = templateSize;
- }
-
- public boolean getMarkedForGC() {
- return markedForGC;
- }
-
- public void setMarkedForGC(boolean markedForGC) {
- this.markedForGC = markedForGC;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof TemplatePrimaryDataStoreVO) {
- TemplatePrimaryDataStoreVO other = (TemplatePrimaryDataStoreVO)obj;
- return (this.templateId == other.getTemplateId() && this.poolId == other.getPoolId());
- }
- return false;
- }
-
- @Override
- public int hashCode() {
- Long tid = new Long(templateId);
- Long hid = new Long(poolId);
- return tid.hashCode() + hid.hashCode();
- }
-
- @Override
- public String toString() {
- return new StringBuilder("TmplPool[").append(id)
- .append("-")
- .append(templateId)
- .append("-")
- .append("poolId")
- .append("-")
- .append(installPath)
- .append("]")
- .toString();
- }
-
- @Override
- public ObjectInDataStoreStateMachine.State getState() {
- return this.state;
- }
-
-}
\ No newline at end of file