Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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 Down Expand Up @@ -66,6 +67,11 @@ public ClusterDetailsVO findDetail(long clusterId, String name) {
return detail;
}

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

@Override
public Map<String, String> findDetails(long clusterId) {
SearchCriteria<ClusterDetailsVO> sc = ClusterSearch.create();
Expand Down Expand Up @@ -138,7 +144,7 @@ public Scope getScope() {
@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
14 changes: 12 additions & 2 deletions engine/schema/src/main/java/com/cloud/dc/ClusterDetailsVO.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@
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)
Expand Down Expand Up @@ -56,6 +56,11 @@ public long getClusterId() {
return clusterId;
}

@Override
public long getResourceId() {
return clusterId;
}

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

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

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 @@ public Scope getScope() {

@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());
return vo == null ? null : getActualValue(vo);
}

@Override
Expand Down
14 changes: 12 additions & 2 deletions engine/schema/src/main/java/com/cloud/domain/DomainDetailVO.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@
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")
Expand Down Expand Up @@ -55,6 +55,11 @@ public long getDomainId() {
return domainId;
}

@Override
public long getResourceId() {
return domainId;
}

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

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

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 Down Expand Up @@ -85,6 +83,11 @@ public DomainDetailVO findDetail(long domainId, String name) {
return sc.find();
}

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

@Override
public void deleteDetails(long domainId) {
SearchCriteria<DomainDetailVO> sc = domainSearch.create();
Expand Down Expand Up @@ -129,13 +132,4 @@ public String getConfigValue(long id, ConfigKey<?> key) {
}
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
14 changes: 12 additions & 2 deletions engine/schema/src/main/java/com/cloud/user/AccountDetailVO.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@
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")
Expand Down Expand Up @@ -55,6 +55,11 @@ public long getAccountId() {
return accountId;
}

@Override
public long getResourceId() {
return accountId;
}

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

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

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);
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@

import javax.inject.Inject;

import com.cloud.utils.crypt.DBEncryptionUtil;
import org.apache.cloudstack.framework.config.ConfigKey;
import org.apache.cloudstack.framework.config.ConfigKey.Scope;
import org.apache.cloudstack.framework.config.ScopedConfigStorage;
Expand All @@ -34,16 +33,15 @@
import com.cloud.domain.dao.DomainDao;
import com.cloud.user.dao.AccountDao;

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.TransactionLegacy;
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
import org.apache.cloudstack.framework.config.impl.ConfigurationVO;
import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase;

public class AccountDetailsDaoImpl extends GenericDaoBase<AccountDetailVO, Long> implements AccountDetailsDao, ScopedConfigStorage {
public class AccountDetailsDaoImpl extends ResourceDetailsDaoBase<AccountDetailVO> implements AccountDetailsDao, ScopedConfigStorage {
protected final SearchBuilder<AccountDetailVO> accountSearch;

@Inject
Expand Down Expand Up @@ -95,6 +93,11 @@ public AccountDetailVO findDetail(long accountId, String name) {
return sc.find();
}

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

@Override
public void deleteDetails(long accountId) {
SearchCriteria<AccountDetailVO> sc = accountSearch.create();
Expand Down Expand Up @@ -154,13 +157,4 @@ public String getConfigValue(long id, ConfigKey<?> key) {
}
return value;
}

@Override
public String getActualValue(AccountDetailVO accountDetailVO) {
ConfigurationVO configurationVO = _configDao.findByName(accountDetailVO.getName());
if (configurationVO != null && configurationVO.isEncrypted()) {
return DBEncryptionUtil.decrypt(accountDetailVO.getValue());
}
return accountDetailVO.getValue();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -97,4 +97,6 @@ public interface ResourceDetailsDao<R extends ResourceDetail> extends GenericDao
public void addDetail(long resourceId, String key, String value, boolean display);

public List<Long> findResourceIdsByNameAndValueIn(String name, Object[] values);

String getActualValue(ResourceDetail resourceDetail);
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import java.util.List;
import java.util.Map;

import com.cloud.utils.crypt.DBEncryptionUtil;
import org.apache.cloudstack.api.ResourceDetail;

import com.cloud.utils.db.GenericDaoBase;
Expand All @@ -28,8 +29,16 @@
import com.cloud.utils.db.SearchCriteria;
import com.cloud.utils.db.TransactionLegacy;
import com.cloud.utils.db.SearchCriteria.Op;
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
import org.apache.cloudstack.framework.config.impl.ConfigurationVO;

import javax.inject.Inject;

public abstract class ResourceDetailsDaoBase<R extends ResourceDetail> extends GenericDaoBase<R, Long> implements ResourceDetailsDao<R> {

@Inject
private ConfigurationDao _configDao;
Comment thread
DaanHoogland marked this conversation as resolved.
Outdated

private SearchBuilder<R> AllFieldsSearch;

public ResourceDetailsDaoBase() {
Expand Down Expand Up @@ -201,4 +210,13 @@ public List<Long> findResourceIdsByNameAndValueIn(String name, Object[] values)

return customSearch(sc, null);
}

@Override
public String getActualValue(ResourceDetail resourceDetail) {
ConfigurationVO configurationVO = _configDao.findByName(resourceDetail.getName());
Comment thread
DaanHoogland marked this conversation as resolved.
Outdated
if (configurationVO != null && configurationVO.isEncrypted()) {
return DBEncryptionUtil.decrypt(resourceDetail.getValue());
}
return resourceDetail.getValue();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@

@Component
public class ImageStoreDetailsDaoImpl extends ResourceDetailsDaoBase<ImageStoreDetailVO> implements ImageStoreDetailsDao, ScopedConfigStorage {

protected final SearchBuilder<ImageStoreDetailVO> storeSearch;

public ImageStoreDetailsDaoImpl() {
Expand Down Expand Up @@ -108,12 +107,11 @@ public ImageStoreDetailVO findDetail(long storeId, String name) {
@Override
public String getConfigValue(long id, ConfigKey<?> key) {
ImageStoreDetailVO vo = findDetail(id, key.key());
return vo == null ? null : vo.getValue();
return vo == null ? null : getActualValue(vo);
}

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

}