use of com.emc.storageos.db.client.impl.DataObjectType in project coprhd-controller by CoprHD.
the class DbDowntimeTracker method getMailAddressOfUser.
/**
* get user's mail address from UserPreference CF
*
* @param userName
* @return
*/
private String getMailAddressOfUser(String userName) {
DataObjectType doType = TypeMap.getDoType(UserPreferences.class);
AlternateIdConstraint constraint = new AlternateIdConstraintImpl(doType.getColumnField(UserPreferences.USER_ID), userName);
NamedElementQueryResultList queryResults = new NamedElementQueryResultList();
this.dbClient.queryByConstraint(constraint, queryResults);
List<URI> userPrefsIds = new ArrayList<>();
for (NamedElementQueryResultList.NamedElement namedElement : queryResults) {
userPrefsIds.add(namedElement.getId());
}
if (userPrefsIds.isEmpty()) {
return null;
}
final List<UserPreferences> userPrefs = new ArrayList<>();
Iterator<UserPreferences> iter = this.dbClient.queryIterativeObjects(UserPreferences.class, userPrefsIds);
while (iter.hasNext()) {
userPrefs.add(iter.next());
}
if (userPrefs.size() > 1) {
throw new IllegalStateException("There should only be 1 user preferences object for a user");
}
if (userPrefs.isEmpty()) {
// if there isn't a user prefs object in the DB yet then we haven't saved one for this user yet.
return null;
}
return userPrefs.get(0).getEmail();
}
use of com.emc.storageos.db.client.impl.DataObjectType in project coprhd-controller by CoprHD.
the class NotificationManager method getMailAddressOfUser.
/**
* get user's mail address from UserPreference CF
*
* @param userName
* @return
*/
private String getMailAddressOfUser(String userName) {
DataObjectType doType = TypeMap.getDoType(UserPreferences.class);
AlternateIdConstraint constraint = new AlternateIdConstraintImpl(doType.getColumnField(UserPreferences.USER_ID), userName);
NamedElementQueryResultList queryResults = new NamedElementQueryResultList();
_dbClient.queryByConstraint(constraint, queryResults);
List<URI> userPrefsIds = Lists.newArrayList();
for (NamedElementQueryResultList.NamedElement namedElement : queryResults) {
userPrefsIds.add(namedElement.getId());
}
final List<UserPreferences> userPrefs = Lists.newArrayList();
Iterator<UserPreferences> iter = _dbClient.queryIterativeObjects(UserPreferences.class, userPrefsIds);
while (iter.hasNext()) {
userPrefs.add(iter.next());
}
if (userPrefs.size() > 1) {
throw new IllegalStateException("There should only be 1 user preferences object for a user");
} else if (userPrefs.isEmpty()) {
// if there isn't a user prefs object in the DB yet then we haven't saved one for this user yet.
return null;
}
return userPrefs.get(0).getEmail();
}
use of com.emc.storageos.db.client.impl.DataObjectType in project coprhd-controller by CoprHD.
the class DBClient method init.
public void init() {
try {
System.out.println("Initializing db client ...");
ctx = new ClassPathXmlApplicationContext("/dbutils-conf.xml");
InternalDbClientImpl dbClient = (InternalDbClientImpl) ctx.getBean("dbclient");
_geodbContext = (DbClientContext) ctx.getBean("geodbclientcontext");
vdcConfHelper = (VdcConfigHelper) ctx.getBean("vdcConfHelper");
geoEncryptionProvider = (EncryptionProviderImpl) ctx.getBean("geoEncryptionProvider");
encryptionProvider = (EncryptionProviderImpl) ctx.getBean("encryptionProvider");
dbClient.setBypassMigrationLock(skipMigrationCheck);
dbClient.start();
_dbClient = dbClient;
// scan for classes with @Cf annotation
System.out.println("Initializing column family map ...");
AnnotationScannerListener scannerListener = new AnnotationScannerListener(Cf.class);
String[] packages = { pkgs };
PackageNamesScanner scanner = new PackageNamesScanner(packages);
scanner.scan(scannerListener);
Iterator<Class<?>> it = scannerListener.getAnnotatedClasses().iterator();
while (it.hasNext()) {
Class clazz = it.next();
// The fields of SchemaRecord don't have Name annotation either.
if (DataObject.class.isAssignableFrom(clazz)) {
DataObjectType doType = TypeMap.getDoType(clazz);
_cfMap.put(doType.getCF().getName(), clazz);
}
}
} catch (Exception e) {
System.err.println("Caught Exception: " + e);
log.error("Caught Exception: ", e);
}
}
use of com.emc.storageos.db.client.impl.DataObjectType in project coprhd-controller by CoprHD.
the class BourneDbClient method findBy.
public <T extends DataObject> List<NamedElement> findBy(Class<T> clazz, String columnField, URI id) throws DataAccessException {
LOG.debug("findBy({}, {}, {})", new Object[] { clazz, columnField, id });
DataObjectType doType = TypeMap.getDoType(clazz);
ColumnField field = doType.getColumnField(columnField);
ContainmentConstraint constraint = new ContainmentConstraintImpl(id, clazz, field);
return queryNamedElementsByConstraint(constraint);
}
use of com.emc.storageos.db.client.impl.DataObjectType in project coprhd-controller by CoprHD.
the class BourneDbClient method findByPrefix.
public <T extends DataObject> List<NamedElement> findByPrefix(Class<T> clazz, String prefixColumnField, String prefix) throws DataAccessException {
LOG.debug("findByPrefix({}, {}, {})", new Object[] { clazz, prefixColumnField, prefix });
DataObjectType doType = TypeMap.getDoType(clazz);
PrefixConstraint constraint = new PrefixConstraintImpl(prefix, doType.getColumnField(prefixColumnField));
return queryNamedElementsByConstraint(constraint);
}
Aggregations