mirror of https://github.com/apache/cloudstack.git
Fix daos issue
This commit is contained in:
parent
f73830acbb
commit
44bae98664
|
|
@ -36,7 +36,7 @@ public class TemplateDeployAsIsDetailVO implements ResourceDetail {
|
|||
private long id;
|
||||
|
||||
@Column(name = "template_id")
|
||||
private long templateId;
|
||||
private long resourceId;
|
||||
|
||||
@Column(name = "name")
|
||||
private String name;
|
||||
|
|
@ -49,7 +49,7 @@ public class TemplateDeployAsIsDetailVO implements ResourceDetail {
|
|||
}
|
||||
|
||||
public TemplateDeployAsIsDetailVO(long templateId, String name, String value) {
|
||||
this.templateId = templateId;
|
||||
this.resourceId = templateId;
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
|
@ -60,7 +60,7 @@ public class TemplateDeployAsIsDetailVO implements ResourceDetail {
|
|||
}
|
||||
|
||||
public long getResourceId() {
|
||||
return templateId;
|
||||
return resourceId;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
|
|
@ -80,8 +80,8 @@ public class TemplateDeployAsIsDetailVO implements ResourceDetail {
|
|||
this.id = id;
|
||||
}
|
||||
|
||||
public void setTemplateId(long resourceId) {
|
||||
this.templateId = resourceId;
|
||||
public void setResourceId(long resourceId) {
|
||||
this.resourceId = resourceId;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
|
|
|
|||
|
|
@ -1,94 +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.deployasis;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Lob;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import org.apache.cloudstack.api.ResourceDetail;
|
||||
|
||||
@Entity
|
||||
@Table(name = "template_deploy_as_is_details")
|
||||
public class TemplateDeployAsIsDetailVO implements ResourceDetail {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "id")
|
||||
private long id;
|
||||
|
||||
@Column(name = "template_id")
|
||||
private long resourceId;
|
||||
|
||||
@Column(name = "name")
|
||||
private String name;
|
||||
|
||||
@Lob
|
||||
@Column(name = "value", length = 65535)
|
||||
private String value;
|
||||
|
||||
public TemplateDeployAsIsDetailVO() {
|
||||
}
|
||||
|
||||
public TemplateDeployAsIsDetailVO(long templateId, String name, String value) {
|
||||
this.resourceId = templateId;
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public long getResourceId() {
|
||||
return resourceId;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDisplay() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setResourceId(long resourceId) {
|
||||
this.resourceId = resourceId;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
|
|
@ -36,7 +36,7 @@ public class UserVmDeployAsIsDetailVO implements ResourceDetail {
|
|||
private long id;
|
||||
|
||||
@Column(name = "vm_id")
|
||||
private long vmId;
|
||||
private long resourceId;
|
||||
|
||||
@Column(name = "name")
|
||||
private String name;
|
||||
|
|
@ -49,7 +49,7 @@ public class UserVmDeployAsIsDetailVO implements ResourceDetail {
|
|||
}
|
||||
|
||||
public UserVmDeployAsIsDetailVO(long vmId, String name, String value) {
|
||||
this.vmId = vmId;
|
||||
this.resourceId = vmId;
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
|
@ -60,7 +60,7 @@ public class UserVmDeployAsIsDetailVO implements ResourceDetail {
|
|||
}
|
||||
|
||||
public long getResourceId() {
|
||||
return vmId;
|
||||
return resourceId;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
|
|
@ -80,8 +80,8 @@ public class UserVmDeployAsIsDetailVO implements ResourceDetail {
|
|||
this.id = id;
|
||||
}
|
||||
|
||||
public void setVmId(long resourceId) {
|
||||
this.vmId = resourceId;
|
||||
public void setResourceId(long resourceId) {
|
||||
this.resourceId = resourceId;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
|
|
|
|||
|
|
@ -1,94 +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.deployasis;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Lob;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import org.apache.cloudstack.api.ResourceDetail;
|
||||
|
||||
@Entity
|
||||
@Table(name = "user_vm_deploy_as_is_details")
|
||||
public class UserVmDeployAsIsDetailVO implements ResourceDetail {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "id")
|
||||
private long id;
|
||||
|
||||
@Column(name = "vm_id")
|
||||
private long resourceId;
|
||||
|
||||
@Column(name = "name")
|
||||
private String name;
|
||||
|
||||
@Lob
|
||||
@Column(name = "value", length = 65535)
|
||||
private String value;
|
||||
|
||||
public UserVmDeployAsIsDetailVO() {
|
||||
}
|
||||
|
||||
public UserVmDeployAsIsDetailVO(long vmId, String name, String value) {
|
||||
this.resourceId = vmId;
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public long getResourceId() {
|
||||
return resourceId;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDisplay() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setResourceId(long resourceId) {
|
||||
this.resourceId = resourceId;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
|
|
@ -45,7 +45,7 @@ public class TemplateDeployAsIsDetailsDaoImpl extends ResourceDetailsDaoBase<Tem
|
|||
@Override
|
||||
public OVFPropertyTO findPropertyByTemplateAndKey(long templateId, String key) {
|
||||
SearchCriteria<TemplateDeployAsIsDetailVO> sc = createSearchCriteria();
|
||||
sc.addAnd("templateId", SearchCriteria.Op.EQ, templateId);
|
||||
sc.addAnd("resourceId", SearchCriteria.Op.EQ, templateId);
|
||||
sc.addAnd("name", SearchCriteria.Op.EQ, key.startsWith(DeployAsIsConstants.PROPERTY_PREFIX) ? key : DeployAsIsConstants.PROPERTY_PREFIX + key);
|
||||
OVFPropertyTO property = null;
|
||||
TemplateDeployAsIsDetailVO detail = findOneBy(sc);
|
||||
|
|
@ -58,7 +58,7 @@ public class TemplateDeployAsIsDetailsDaoImpl extends ResourceDetailsDaoBase<Tem
|
|||
@Override
|
||||
public List<TemplateDeployAsIsDetailVO> listDetailsByTemplateIdMatchingPrefix(long templateId, String prefix) {
|
||||
SearchCriteria<TemplateDeployAsIsDetailVO> ssc = createSearchCriteria();
|
||||
ssc.addAnd("templateId", SearchCriteria.Op.EQ, templateId);
|
||||
ssc.addAnd("resouceId", SearchCriteria.Op.EQ, templateId);
|
||||
ssc.addAnd("name", SearchCriteria.Op.LIKE, prefix + "%");
|
||||
|
||||
return search(ssc, null);
|
||||
|
|
|
|||
|
|
@ -1,83 +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.deployasis.dao;
|
||||
|
||||
import com.cloud.agent.api.to.deployasis.OVFPropertyTO;
|
||||
import com.cloud.deployasis.DeployAsIsConstants;
|
||||
import com.cloud.deployasis.TemplateDeployAsIsDetailVO;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.google.gson.Gson;
|
||||
import com.cloud.agent.api.to.deployasis.OVFNetworkTO;
|
||||
import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class TemplateDeployAsIsDetailsDaoImpl extends ResourceDetailsDaoBase<TemplateDeployAsIsDetailVO> implements TemplateDeployAsIsDetailsDao {
|
||||
|
||||
private Gson gson = new Gson();
|
||||
|
||||
public TemplateDeployAsIsDetailsDaoImpl() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addDetail(long resourceId, String key, String value, boolean display) {
|
||||
super.addDetail(new TemplateDeployAsIsDetailVO(resourceId, key, value));
|
||||
}
|
||||
|
||||
@Override
|
||||
public OVFPropertyTO findPropertyByTemplateAndKey(long templateId, String key) {
|
||||
SearchCriteria<TemplateDeployAsIsDetailVO> sc = createSearchCriteria();
|
||||
sc.addAnd("resourceId", SearchCriteria.Op.EQ, templateId);
|
||||
sc.addAnd("name", SearchCriteria.Op.EQ, key.startsWith(DeployAsIsConstants.ACS_PROPERTY_PREFIX) ? key : DeployAsIsConstants.ACS_PROPERTY_PREFIX + key);
|
||||
OVFPropertyTO property = null;
|
||||
TemplateDeployAsIsDetailVO detail = findOneBy(sc);
|
||||
if (detail != null) {
|
||||
property = gson.fromJson(detail.getValue(), OVFPropertyTO.class);
|
||||
}
|
||||
return property;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TemplateDeployAsIsDetailVO> listDetailsByTemplateIdMatchingPrefix(long templateId, String prefix) {
|
||||
SearchCriteria<TemplateDeployAsIsDetailVO> ssc = createSearchCriteria();
|
||||
ssc.addAnd("resouceId", SearchCriteria.Op.EQ, templateId);
|
||||
ssc.addAnd("name", SearchCriteria.Op.LIKE, prefix + "%");
|
||||
|
||||
return search(ssc, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OVFNetworkTO> listNetworkRequirementsByTemplateId(long templateId) {
|
||||
List<TemplateDeployAsIsDetailVO> networkDetails = listDetailsByTemplateIdMatchingPrefix(templateId, DeployAsIsConstants.REQUIRED_NETWORK_PREFIX);
|
||||
List<OVFNetworkTO> networkPrereqs = new ArrayList<>();
|
||||
for (TemplateDeployAsIsDetailVO property : networkDetails) {
|
||||
OVFNetworkTO ovfPropertyTO = gson.fromJson(property.getValue(), OVFNetworkTO.class);
|
||||
networkPrereqs.add(ovfPropertyTO);
|
||||
}
|
||||
networkPrereqs.sort(new Comparator<OVFNetworkTO>() {
|
||||
@Override
|
||||
public int compare(OVFNetworkTO o1, OVFNetworkTO o2) {
|
||||
return o1.getInstanceID() - o2.getInstanceID();
|
||||
}
|
||||
});
|
||||
return networkPrereqs;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue