Fix daos issue

This commit is contained in:
nvazquez 2020-09-14 14:57:01 -03:00 committed by Harikrishna Patnala
parent f73830acbb
commit 44bae98664
6 changed files with 12 additions and 283 deletions

View File

@ -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) {

View File

@ -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;
}
}

View File

@ -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) {

View File

@ -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;
}
}

View File

@ -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);

View File

@ -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;
}
}