id = IdentityUtils.getApplicationIdentityForResultSetRow(ec, cmd, null, true, fm);
protected void processSingleRelationField(Object value, ExecutionContext ec, String fieldName) { Object valuePC = op.getExecutionContext().persistObjectInternal(value, null, -1, -1); Object valueId = ec.getApiAdapter().getIdForObject(valuePC); // TODO Add option to store DBRef here instead of just the id string dbObject.put(fieldName, IdentityUtils.getPersistableIdentityForId(valueId)); // Store the id String form }
Object obj = IdentityUtils.getTargetKeyForSingleFieldIdentity(id); expression.append('/').append(pkElement).append("/text()='").append(obj.toString()).append("'");
private Cache getCacheForId(Object id) { if (IdentityUtils.isSingleFieldIdentity(id) || IdentityUtils.isDatastoreIdentity(id)) { return getCacheForClass(IdentityUtils.getTargetClassNameForIdentity(id)); } return defaultCache; } }
@Override public String getClassNameForObjectID(Object id, ClassLoaderResolver clr, ExecutionContext ec) { String targetClassName = null; if (IdentityUtils.isSingleFieldIdentity(id)) { // Using SingleFieldIdentity so can assume that object is of the target class or a subclass targetClassName = IdentityUtils.getTargetClassNameForIdentity(id); String[] subclasses = getMetaDataManager().getSubclassesForClass(targetClassName, true); if (subclasses == null) { // No subclasses so must be the specified type return targetClassName; } String[] possibleNames = new String[subclasses.length+1]; possibleNames[0] = targetClassName; for (int i=0;i<subclasses.length;i++) { possibleNames[i+1] = subclasses[i]; } return getClassNameForIdentity(ec, possibleNames, id); } return super.getClassNameForObjectID(id, clr, ec); }
if (IdentityUtils.isDatastoreIdentity(oid) || IdentityUtils.isSingleFieldIdentity(oid)) if (IdentityUtils.isDatastoreIdentity(oid)) oid = ec.getNucleusContext().getIdentityManager().getDatastoreId(subclasses[i], IdentityUtils.getTargetKeyForDatastoreIdentity(oid)); else if (IdentityUtils.isSingleFieldIdentity(oid)) ec.getClassLoaderResolver().classForName(subclasses[i]), IdentityUtils.getTargetKeyForSingleFieldIdentity(oid));
Object idKey = IdentityUtils.getTargetKeyForDatastoreIdentity(op.getInternalObjectId()); try
JavaTypeMapping idMapping = idx.getMapping(); key = idMapping.getObject(ec, rs, idx.getColumnPositions()); if (IdentityUtils.isDatastoreIdentity(key)) key = IdentityUtils.getTargetKeyForDatastoreIdentity(key); id = IdentityUtils.getApplicationIdentityForResultSetRow(ec, cmd, null, true, resultFM); if (cmd.getIdentityType() == IdentityType.DATASTORE) Object opKey = IdentityUtils.getTargetKeyForDatastoreIdentity(opId); if (key != null && opKey.getClass() != key.getClass()) Object opKey = IdentityUtils.getTargetKeyForSingleFieldIdentity(opId); if (opKey.equals(key))
if (rootCmd.getIdentityType() == IdentityType.DATASTORE) Object key = IdentityUtils.getTargetKeyForDatastoreIdentity(id); if (storeMgr.isValueGenerationStrategyDatastoreAttributed(rootCmd, -1)) if (IdentityUtils.isSingleFieldIdentity(id)) Object key = IdentityUtils.getTargetKeyForSingleFieldIdentity(id); int[] pkNums = rootCmd.getPKMemberPositions(); AbstractMemberMetaData pkMmd = rootCmd.getMetaDataForManagedMemberAtAbsolutePosition(pkNums[0]); Object pkVal = IdentityUtils.getValueForMemberInId(id, pkMmd); query.put(pkPropName, pkVal);
Object id = IdentityUtils.getApplicationIdentityForResultSetRow(ec, cmd, pcClassForObject, requiresInheritanceCheck, resultSetGetter); String idClassName = IdentityUtils.getTargetClassNameForIdentity(id); if (idClassName != null) if (id != null) String idClassName = IdentityUtils.getTargetClassNameForIdentity(id); if (!pcClassForObject.getName().equals(idClassName)) id = ec.getNucleusContext().getIdentityManager().getDatastoreId(pcClassForObject.getName(), IdentityUtils.getTargetKeyForDatastoreIdentity(id));
return IdentityUtils.getObjectFromPersistableIdentity(idStr, memberCmd, ec); return IdentityUtils.getObjectFromIdString(idStr, memberCmd, ec, true); return IdentityUtils.getObjectFromPersistableIdentity(idStr, memberCmd, ec); return IdentityUtils.getObjectFromPersistableIdentity(idStr, memberCmd, ec);
return new Object[]{IdentityUtils.getTargetKeyForDatastoreIdentity(op.getInternalObjectId())}; if (RelationType.isRelationSingleValued(relType)) pkVals.add(IdentityUtils.getPersistableIdentityForId(ec.getApiAdapter().getIdForObject(fieldVal)));
Long key = (Long)IdentityUtils.getTargetKeyForDatastoreIdentity(id); if (NucleusLogger.DATASTORE_NATIVE.isDebugEnabled()) if (pkFieldNumbers.length == 1) Long key = (Long)IdentityUtils.getTargetKeyForSingleFieldIdentity(id); if (NucleusLogger.DATASTORE_NATIVE.isDebugEnabled()) if (cmd.usesSingleFieldIdentityClass()) value = IdentityUtils.getTargetKeyForSingleFieldIdentity(id); value = IdentityUtils.getValueForMemberInId(id, pkMmd); Object value = IdentityUtils.getTargetKeyForDatastoreIdentity(id); String propName = table.getSurrogateColumn(SurrogateColumnType.DATASTORE_ID).getName(); cypherString.append(" WHERE (pc.");
if (value != null) if (IdentityUtils.isDatastoreIdentity(value)) value = ec.getNucleusContext().getIdentityManager().getDatastoreId(className, IdentityUtils.getTargetKeyForDatastoreIdentity(value)); return ec.findObject(value, false, true, null);
protected String getCacheKeyForId(Object id) { // Because single-field id doesn't include target class name in toString() if (IdentityUtils.isSingleFieldIdentity(id)) { String targetClassName = ((SingleFieldId)id).getTargetClassName(); return cacheName + targetClassName + ":" + id.toString().hashCode(); } return cacheName + id.toString().hashCode(); } }
else if (IdentityUtils.isDatastoreIdentity(value)) objClassName = IdentityUtils.getTargetClassNameForIdentity(value);
if (mmdCmd != null) pc = IdentityUtils.getObjectFromPersistableIdentity(persistableId, mmdCmd, ec); return optional ? Optional.of(pc) : pc; pc = IdentityUtils.getObjectFromPersistableIdentity(persistableId, mmdCmd, ec); return optional ? Optional.of(pc) : pc; pc = IdentityUtils.getObjectFromPersistableIdentity(persistableId, mmdCmd, ec); return optional ? Optional.of(pc) : pc; coll.add(IdentityUtils.getObjectFromPersistableIdentity(persistableId, elemCmd, ec)); try mapKey = IdentityUtils.getObjectFromPersistableIdentity(keyPersistableId, keyCmd, ec); mapValue = IdentityUtils.getObjectFromPersistableIdentity(valPersistableId, valCmd, ec); Array.set(array, pos++, IdentityUtils.getObjectFromPersistableIdentity(persistableId, elemCmd, ec));
void evictAllOfClass(String className) { AbstractClassMetaData cmd = nucleusCtx.getMetaDataManager().getMetaDataForClass(className, nucleusCtx.getClassLoaderResolver(null)); Iterator keyIter = cache.getKeys().iterator(); while (keyIter.hasNext()) { Object key = keyIter.next(); if (cmd.getIdentityType() == IdentityType.APPLICATION) { String targetClassName = IdentityUtils.getTargetClassNameForIdentity(key); if (className.equals(targetClassName)) { keyIter.remove(); } } else if (cmd.getIdentityType() == IdentityType.DATASTORE) { String targetClassName = IdentityUtils.getTargetClassNameForIdentity(key); if (className.equals(targetClassName)) { keyIter.remove(); } } } }
if (implCmd.getObjectidClass().equals(value.getClass().getName())) if (IdentityUtils.isDatastoreIdentity(value)) Object key = IdentityUtils.getTargetKeyForDatastoreIdentity(value); if (key instanceof String) else if (IdentityUtils.isSingleFieldIdentity(value)) Object key = IdentityUtils.getTargetKeyForSingleFieldIdentity(value); if (key instanceof String)
refString = definer + ":" + IdentityUtils.getTargetKeyForDatastoreIdentity(op.getInternalObjectId());