Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@
import java.util.Map;

import com.cloud.utils.db.GenericDao;
import org.apache.cloudstack.resourcedetail.ResourceDetailsDao;

public interface ClusterDetailsDao extends GenericDao<ClusterDetailsVO, Long> {
public interface ClusterDetailsDao extends GenericDao<ClusterDetailsVO, Long>, ResourceDetailsDao<ClusterDetailsVO> {
Map<String, String> findDetails(long clusterId);

void persist(long clusterId, Map<String, String> details);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,13 @@
import org.apache.cloudstack.framework.config.ScopedConfigStorage;

import com.cloud.utils.crypt.DBEncryptionUtil;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
import com.cloud.utils.db.TransactionLegacy;
import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase;

public class ClusterDetailsDaoImpl extends ResourceDetailsDaoBase<ClusterDetailsVO> implements ClusterDetailsDao, ScopedConfigStorage {

public class ClusterDetailsDaoImpl extends GenericDaoBase<ClusterDetailsVO, Long> implements ClusterDetailsDao, ScopedConfigStorage {
protected final SearchBuilder<ClusterDetailsVO> ClusterSearch;
protected final SearchBuilder<ClusterDetailsVO> DetailSearch;

Expand All @@ -42,11 +43,11 @@

protected ClusterDetailsDaoImpl() {
ClusterSearch = createSearchBuilder();
ClusterSearch.and("clusterId", ClusterSearch.entity().getClusterId(), SearchCriteria.Op.EQ);
ClusterSearch.and("clusterId", ClusterSearch.entity().getResourceId(), SearchCriteria.Op.EQ);
ClusterSearch.done();

DetailSearch = createSearchBuilder();
DetailSearch.and("clusterId", DetailSearch.entity().getClusterId(), SearchCriteria.Op.EQ);
DetailSearch.and("clusterId", DetailSearch.entity().getResourceId(), SearchCriteria.Op.EQ);
DetailSearch.and("name", DetailSearch.entity().getName(), SearchCriteria.Op.EQ);
DetailSearch.done();
}
Expand All @@ -66,6 +67,11 @@
return detail;
}

@Override
public void addDetail(long resourceId, String key, String value, boolean display) {
super.addDetail(new ClusterDetailsVO(resourceId, key, value));
}

Check warning on line 73 in engine/schema/src/main/java/com/cloud/dc/ClusterDetailsDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/dc/ClusterDetailsDaoImpl.java#L71-L73

Added lines #L71 - L73 were not covered by tests

@Override
public Map<String, String> findDetails(long clusterId) {
SearchCriteria<ClusterDetailsVO> sc = ClusterSearch.create();
Expand Down Expand Up @@ -138,7 +144,7 @@
@Override
public String getConfigValue(long id, ConfigKey<?> key) {
ClusterDetailsVO vo = findDetail(id, key.key());
return vo == null ? null : vo.getValue();
return vo == null ? null : getActualValue(vo);
}

@Override
Expand Down
18 changes: 12 additions & 6 deletions engine/schema/src/main/java/com/cloud/dc/ClusterDetailsVO.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,19 @@
import javax.persistence.Id;
import javax.persistence.Table;

import org.apache.cloudstack.api.InternalIdentity;
import org.apache.cloudstack.api.ResourceDetail;

@Entity
@Table(name = "cluster_details")
public class ClusterDetailsVO implements InternalIdentity {
public class ClusterDetailsVO implements ResourceDetail {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private long id;

@Column(name = "cluster_id")
private long clusterId;
private long resourceId;

@Column(name = "name")
private String name;
Expand All @@ -47,13 +47,14 @@
}

public ClusterDetailsVO(long clusterId, String name, String value) {
this.clusterId = clusterId;
this.resourceId = clusterId;
this.name = name;
this.value = value;
}

public long getClusterId() {
return clusterId;
@Override
public long getResourceId() {
return resourceId;

Check warning on line 57 in engine/schema/src/main/java/com/cloud/dc/ClusterDetailsVO.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/dc/ClusterDetailsVO.java#L56-L57

Added lines #L56 - L57 were not covered by tests
}

public String getName() {
Expand All @@ -64,6 +65,11 @@
return value;
}

@Override
public boolean isDisplay() {
return true;
}

Check warning on line 71 in engine/schema/src/main/java/com/cloud/dc/ClusterDetailsVO.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/dc/ClusterDetailsVO.java#L69-L71

Added lines #L69 - L71 were not covered by tests

public void setValue(String value) {
this.value = value;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
// under the License.
package com.cloud.dc.dao;

import org.apache.cloudstack.api.ResourceDetail;
import org.apache.cloudstack.framework.config.ConfigKey;
import org.apache.cloudstack.framework.config.ConfigKey.Scope;
import org.apache.cloudstack.framework.config.ScopedConfigStorage;
Expand Down Expand Up @@ -45,8 +44,8 @@

@Override
public String getConfigValue(long id, ConfigKey<?> key) {
ResourceDetail vo = findDetail(id, key.key());
return vo == null ? null : vo.getValue();
DataCenterDetailVO vo = findDetail(id, key.key());

Check warning on line 47 in engine/schema/src/main/java/com/cloud/dc/dao/DataCenterDetailsDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/dc/dao/DataCenterDetailsDaoImpl.java#L47

Added line #L47 was not covered by tests
return vo == null ? null : getActualValue(vo);
}

@Override
Expand Down
18 changes: 12 additions & 6 deletions engine/schema/src/main/java/com/cloud/domain/DomainDetailVO.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,18 @@
import javax.persistence.Id;
import javax.persistence.Table;

import org.apache.cloudstack.api.InternalIdentity;
import org.apache.cloudstack.api.ResourceDetail;

@Entity
@Table(name = "domain_details")
public class DomainDetailVO implements InternalIdentity {
public class DomainDetailVO implements ResourceDetail {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private long id;

@Column(name = "domain_id")
private long domainId;
private long resourceId;

@Column(name = "name")
private String name;
Expand All @@ -46,13 +46,14 @@
}

public DomainDetailVO(long domainId, String name, String value) {
this.domainId = domainId;
this.resourceId = domainId;

Check warning on line 49 in engine/schema/src/main/java/com/cloud/domain/DomainDetailVO.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/domain/DomainDetailVO.java#L49

Added line #L49 was not covered by tests
this.name = name;
this.value = value;
}

public long getDomainId() {
return domainId;
@Override
public long getResourceId() {
return resourceId;

Check warning on line 56 in engine/schema/src/main/java/com/cloud/domain/DomainDetailVO.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/domain/DomainDetailVO.java#L55-L56

Added lines #L55 - L56 were not covered by tests
}

public String getName() {
Expand All @@ -63,6 +64,11 @@
return value;
}

@Override
public boolean isDisplay() {
return true;
}

Check warning on line 70 in engine/schema/src/main/java/com/cloud/domain/DomainDetailVO.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/domain/DomainDetailVO.java#L68-L70

Added lines #L68 - L70 were not covered by tests

public void setValue(String value) {
this.value = value;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@

import com.cloud.domain.DomainDetailVO;
import com.cloud.utils.db.GenericDao;
import org.apache.cloudstack.resourcedetail.ResourceDetailsDao;

public interface DomainDetailsDao extends GenericDao<DomainDetailVO, Long> {
public interface DomainDetailsDao extends GenericDao<DomainDetailVO, Long>, ResourceDetailsDao<DomainDetailVO> {
Map<String, String> findDetails(long domainId);

void persist(long domainId, Map<String, String> details);
Expand All @@ -31,6 +32,4 @@ public interface DomainDetailsDao extends GenericDao<DomainDetailVO, Long> {
void deleteDetails(long domainId);

void update(long domainId, Map<String, String> details);

String getActualValue(DomainDetailVO domainDetailVO);
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@

import com.cloud.domain.DomainDetailVO;
import com.cloud.domain.DomainVO;
import com.cloud.utils.crypt.DBEncryptionUtil;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.QueryBuilder;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
Expand All @@ -35,9 +33,9 @@
import org.apache.cloudstack.framework.config.ConfigKey.Scope;
import org.apache.cloudstack.framework.config.ScopedConfigStorage;
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
import org.apache.cloudstack.framework.config.impl.ConfigurationVO;
import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase;

public class DomainDetailsDaoImpl extends GenericDaoBase<DomainDetailVO, Long> implements DomainDetailsDao, ScopedConfigStorage {
public class DomainDetailsDaoImpl extends ResourceDetailsDaoBase<DomainDetailVO> implements DomainDetailsDao, ScopedConfigStorage {
protected final SearchBuilder<DomainDetailVO> domainSearch;

@Inject
Expand All @@ -47,14 +45,14 @@

protected DomainDetailsDaoImpl() {
domainSearch = createSearchBuilder();
domainSearch.and("domainId", domainSearch.entity().getDomainId(), Op.EQ);
domainSearch.and("domainId", domainSearch.entity().getResourceId(), Op.EQ);

Check warning on line 48 in engine/schema/src/main/java/com/cloud/domain/dao/DomainDetailsDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/domain/dao/DomainDetailsDaoImpl.java#L48

Added line #L48 was not covered by tests
domainSearch.done();
}

@Override
public Map<String, String> findDetails(long domainId) {
QueryBuilder<DomainDetailVO> sc = QueryBuilder.create(DomainDetailVO.class);
sc.and(sc.entity().getDomainId(), Op.EQ, domainId);
sc.and(sc.entity().getResourceId(), Op.EQ, domainId);

Check warning on line 55 in engine/schema/src/main/java/com/cloud/domain/dao/DomainDetailsDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/domain/dao/DomainDetailsDaoImpl.java#L55

Added line #L55 was not covered by tests
List<DomainDetailVO> results = sc.list();
Map<String, String> details = new HashMap<String, String>(results.size());
for (DomainDetailVO r : results) {
Expand All @@ -80,11 +78,16 @@
@Override
public DomainDetailVO findDetail(long domainId, String name) {
QueryBuilder<DomainDetailVO> sc = QueryBuilder.create(DomainDetailVO.class);
sc.and(sc.entity().getDomainId(), Op.EQ, domainId);
sc.and(sc.entity().getResourceId(), Op.EQ, domainId);

Check warning on line 81 in engine/schema/src/main/java/com/cloud/domain/dao/DomainDetailsDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/domain/dao/DomainDetailsDaoImpl.java#L81

Added line #L81 was not covered by tests
sc.and(sc.entity().getName(), Op.EQ, name);
return sc.find();
}

@Override
public void addDetail(long resourceId, String key, String value, boolean display) {
super.addDetail(new DomainDetailVO(resourceId, key, value));
}

Check warning on line 89 in engine/schema/src/main/java/com/cloud/domain/dao/DomainDetailsDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/domain/dao/DomainDetailsDaoImpl.java#L87-L89

Added lines #L87 - L89 were not covered by tests

@Override
public void deleteDetails(long domainId) {
SearchCriteria<DomainDetailVO> sc = domainSearch.create();
Expand Down Expand Up @@ -129,13 +132,4 @@
}
return vo == null ? null : getActualValue(vo);
}

@Override
public String getActualValue(DomainDetailVO domainDetailVO) {
ConfigurationVO configurationVO = _configDao.findByName(domainDetailVO.getName());
if (configurationVO != null && configurationVO.isEncrypted()) {
return DBEncryptionUtil.decrypt(domainDetailVO.getValue());
}
return domainDetailVO.getValue();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public Scope getScope() {
@Override
public String getConfigValue(long id, ConfigKey<?> key) {
StoragePoolDetailVO vo = findDetail(id, key.key());
return vo == null ? null : vo.getValue();
return vo == null ? null : getActualValue(vo);
}

@Override
Expand Down
18 changes: 12 additions & 6 deletions engine/schema/src/main/java/com/cloud/user/AccountDetailVO.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,18 @@
import javax.persistence.Id;
import javax.persistence.Table;

import org.apache.cloudstack.api.InternalIdentity;
import org.apache.cloudstack.api.ResourceDetail;

@Entity
@Table(name = "account_details")
public class AccountDetailVO implements InternalIdentity {
public class AccountDetailVO implements ResourceDetail {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private long id;

@Column(name = "account_id")
private long accountId;
private long resourceId;

@Column(name = "name")
private String name;
Expand All @@ -46,13 +46,14 @@
}

public AccountDetailVO(long accountId, String name, String value) {
this.accountId = accountId;
this.resourceId = accountId;
this.name = name;
this.value = value;
}

public long getAccountId() {
return accountId;
@Override
public long getResourceId() {
return resourceId;

Check warning on line 56 in engine/schema/src/main/java/com/cloud/user/AccountDetailVO.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/user/AccountDetailVO.java#L55-L56

Added lines #L55 - L56 were not covered by tests
}

public String getName() {
Expand All @@ -63,6 +64,11 @@
return value;
}

@Override
public boolean isDisplay() {
return true;
}

Check warning on line 70 in engine/schema/src/main/java/com/cloud/user/AccountDetailVO.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/user/AccountDetailVO.java#L68-L70

Added lines #L68 - L70 were not covered by tests

public void setValue(String value) {
this.value = value;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@
import java.util.Map;

import com.cloud.utils.db.GenericDao;
import org.apache.cloudstack.resourcedetail.ResourceDetailsDao;

public interface AccountDetailsDao extends GenericDao<AccountDetailVO, Long> {
public interface AccountDetailsDao extends GenericDao<AccountDetailVO, Long>, ResourceDetailsDao<AccountDetailVO> {
Map<String, String> findDetails(long accountId);

void persist(long accountId, Map<String, String> details);
Expand All @@ -34,6 +35,4 @@ public interface AccountDetailsDao extends GenericDao<AccountDetailVO, Long> {
* they will get created
*/
void update(long accountId, Map<String, String> details);

String getActualValue(AccountDetailVO accountDetailVO);
}
Loading
Loading