public boolean isVersion() { VersionMetaData vermd = mmd.getAbstractClassMetaData().getVersionMetaData(); if (vermd.getFieldName() != null && vermd.getFieldName().equals(mmd.getName())) { return true; } return false; }
public <Y> SingularAttribute<? super X, Y> getVersion(Class<Y> cls) { String verFieldName = (cmd.getVersionMetaData() != null ? cmd.getVersionMetaData().getFieldName() : null); if (verFieldName != null) { AbstractMemberMetaData verMmd = cmd.getMetaDataForMember(verFieldName); if (cls.isAssignableFrom(verMmd.getType())) { return (SingularAttribute<? super X, Y>) attributes.get(verFieldName); } throw new IllegalArgumentException("Version is not of specified type (" + cls.getName() + "). Should be " + verMmd.getTypeName()); } return null; }
/** * Method to set a property in the supplied entity, and uses the provided metadata component to * decide if it is indexed or not. * @param entity The entity * @param md Metadata component * @param propertyName Name of the property to use in the entity * @param value The value to set */ public static void setEntityProperty(Entity entity, MetaData md, String propertyName, Object value) { boolean unindexed = false; String val = md.getValueForExtension(DatastoreManager.UNINDEXED_PROPERTY); if (val != null && val.equalsIgnoreCase("true")) { unindexed = true; } else if (md instanceof VersionMetaData && ((VersionMetaData)md).getFieldName() != null) { // Version : Check against the metadata of the field VersionMetaData vmd = (VersionMetaData)md; AbstractMemberMetaData vermmd = ((AbstractClassMetaData)vmd.getParent()).getMetaDataForMember(vmd.getFieldName()); val = vermmd.getValueForExtension(DatastoreManager.UNINDEXED_PROPERTY); unindexed = (val != null && val.equalsIgnoreCase("true")); } if (unindexed) { entity.setUnindexedProperty(propertyName, value); } else { entity.setProperty(propertyName, value); } }
if (vermd.getFieldName() != null) AbstractMemberMetaData verMmd = cmd.getMetaDataForMember(vermd.getFieldName()); Column col = table.getMemberColumnMappingForMember(verMmd).getColumn(0); String familyName = HBaseUtils.getFamilyNameForColumn(col);
public void fetchFields(ObjectProvider op) { resultSetGetter.setObjectProvider(op); op.replaceFields(fieldNumbers, resultSetGetter, false); // Set version if (surrogateVersion != null) { // Surrogate version field op.setVersion(surrogateVersion); } else if (cmd.getVersionMetaData() != null && cmd.getVersionMetaData().getFieldName() != null) { // Version stored in a normal field VersionMetaData vermd = cmd.getVersionMetaData(); int versionFieldNumber = rootCmd.getMetaDataForMember(vermd.getFieldName()).getAbsoluteFieldNumber(); if (resultMapping.getMappingForMemberPosition(versionFieldNumber) != null) { Object verFieldValue = op.provideField(versionFieldNumber); if (verFieldValue != null) { op.setVersion(verFieldValue); } } } } public void fetchNonLoadedFields(ObjectProvider op)
if (vermd.getFieldName() != null) AbstractMemberMetaData verMmd = cmd.getMetaDataForMember(vermd.getFieldName()); version = op.provideField(verMmd.getAbsoluteFieldNumber());
Object version = null; VersionMetaData vermd = cmd.getVersionMetaDataForClass(); if (vermd.getFieldName() != null) AbstractMemberMetaData verMmd = cmd.getMetaDataForMember(vermd.getFieldName()); version = op.provideField(verMmd.getAbsoluteFieldNumber());
if (increment && vmd.getFieldName() != null) { AbstractMemberMetaData verfmd = ((AbstractClassMetaData)vmd.getParent()).getMetaDataForMember(vmd.getFieldName()); if (nextVersion instanceof Number) {
if (cmd.isVersioned() && vermd.getFieldName() == null)
if (versionMetaData.getFieldName() != null) versionFmds[0] = cmd.getMetaDataForMember(versionMetaData.getFieldName()); table.provideMappingsForMembers(consumer, versionFmds, false);
versionIndexToSkip = acmd.getAbsolutePositionOfMember(acmd.getVersionMetaData().getFieldName()); Object version = objectProvider.provideField(versionIndexToSkip); if (version == null && storeManager.isEnableOptimisticTransactions()) { throw new NucleusUserException("Version field must be set to non-null value, field: " + acmd.getVersionMetaData().getFieldName() + " object id:" + sobject.getId());
versionIndexToSkip = acmd.getAbsolutePositionOfMember(acmd.getVersionMetaData().getFieldName()); Object version = objectProvider.provideField(versionIndexToSkip); if (version == null && storeManager.isEnableOptimisticTransactions()) { throw new NucleusUserException("Version field must be set to non-null value, field: " + acmd.getVersionMetaData().getFieldName() + " object id:" + sobject.getId());
if (vermd.getFieldName() != null) version = op.provideField(cmd.getMetaDataForMember(vermd.getFieldName()).getAbsoluteFieldNumber());
if (vermd.getFieldName() != null) version = op.provideField(cmd.getMetaDataForMember(vermd.getFieldName()).getAbsoluteFieldNumber());
/** * Method to return the property name to use for storing the specified member. * @param idFactory IdentifierFactory * @param ammd Metadata for the field/property * @return The property name to use in the datastore */ public static String getPropertyName(IdentifierFactory idFactory, AbstractMemberMetaData ammd) { AbstractClassMetaData acmd = ammd.getAbstractClassMetaData(); VersionMetaData vermd = acmd.getVersionMetaDataForClass(); if (acmd.isVersioned() && ammd.getName().equals(vermd.getFieldName())) { return getVersionPropertyName(idFactory, acmd.getVersionMetaData()); } // If a column name was explicitly provided, use that as the property name. if (ammd.getColumn() != null) { return ammd.getColumn(); } if (ammd.getColumnMetaData() != null && ammd.getColumnMetaData().length > 0 && ammd.getColumnMetaData()[0].getName() != null) { if (ammd.getColumnMetaData().length != 1) { throw new NucleusUserException("Field " + ammd.getFullFieldName() + " has been specified with more than 1 column! This is unsupported with GAE/J"); } return ammd.getColumnMetaData()[0].getName(); } // Use the IdentifierFactory to convert from the name of the field into a property name. return idFactory.newDatastoreFieldIdentifier(ammd.getName()).getIdentifierName(); }
if (vermd.getFieldName() != null) AbstractMemberMetaData verMmd = cmd.getMetaDataForMember(vermd.getFieldName()); version = op.provideField(verMmd.getAbsoluteFieldNumber());
if (vermd.getFieldName() != null) AbstractMemberMetaData verMmd = cmd.getMetaDataForMember(vermd.getFieldName()); version = op.provideField(verMmd.getAbsoluteFieldNumber());
if (vermd.getFieldName() != null) AbstractMemberMetaData verMmd = cmd.getMetaDataForMember(vermd.getFieldName()); Object verFieldValue = Long.valueOf((Long)versionValue); if (verMmd.getType() == int.class || verMmd.getType() == Integer.class)
if (vermd.getFieldName() != null) version = op.provideField(cmd.getMetaDataForMember(vermd.getFieldName()).getAbsoluteFieldNumber());
if (vermd.getFieldName() != null) version = op.provideField(cmd.getMetaDataForMember(vermd.getFieldName()).getAbsoluteFieldNumber());