public boolean isVersion() { VersionMetaData vermd = mmd.getAbstractClassMetaData().getVersionMetaData(); if (vermd.getFieldName() != null && vermd.getFieldName().equals(mmd.getName())) { return true; } return false; }
if (vermd.getFieldName() != null) AbstractMemberMetaData verMmd = cmd.getMetaDataForMember(vermd.getFieldName()); Column col = table.getMemberColumnMappingForMember(verMmd).getColumn(0); String familyName = HBaseUtils.getFamilyNameForColumn(col); if (vermd.getVersionStrategy() == VersionStrategy.VERSION_NUMBER)
public String getXMLForMetaData(VersionMetaData vermd, String prefix, String indent) { // Field needs outputting so generate metadata StringBuilder str = new StringBuilder(); str.append(prefix).append("<version " + (vermd.getVersionStrategy()!=null ? ("strategy=\"" + vermd.getVersionStrategy() + "\"") : "") + (vermd.getIndexed() != null ? (" indexed=\"" + vermd.getIndexed() + "\"") : "")); if (vermd.getColumnName() != null && vermd.getColumnMetaData() == null) { str.append(" column=\"" + vermd.getColumnName() + "\""); } str.append(">\n"); // Column MetaData if (vermd.getColumnMetaData() != null) { str.append(getXMLForMetaData(vermd.getColumnMetaData(), prefix + indent,indent)); } // Add index if (vermd.getIndexMetaData() != null) { str.append(getXMLForMetaData(vermd.getIndexMetaData(), prefix + indent,indent)); } // Add extensions processExtensions(vermd.getExtensions(), str, prefix, indent); str.append(prefix).append("</version>\n"); return str.toString(); }
/** * 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); } }
public VersionStrategy getStrategy() { org.datanucleus.metadata.VersionStrategy strategy = getInternal().getVersionStrategy(); if (strategy == org.datanucleus.metadata.VersionStrategy.DATE_TIME) { return VersionStrategy.DATE_TIME; } else if (strategy == org.datanucleus.metadata.VersionStrategy.VERSION_NUMBER) { return VersionStrategy.VERSION_NUMBER; } else if (strategy == org.datanucleus.metadata.VersionStrategy.STATE_IMAGE) { return VersionStrategy.STATE_IMAGE; } else if (strategy == org.datanucleus.metadata.VersionStrategy.NONE) { return VersionStrategy.NONE; } else { return VersionStrategy.UNSPECIFIED; } }
if (vmd.getVersionStrategy() == VersionStrategy.DATE_TIME) { datastoreVersion = new Timestamp((Long) datastoreVersion); Object nextVersion = VersionHelper.getNextVersion(vmd.getVersionStrategy(), curVersion); op.setTransactionalVersion(nextVersion); if (vmd.getVersionStrategy() == VersionStrategy.DATE_TIME) { EntityUtils.setEntityProperty(entity, vmd, versionPropertyName, ((Timestamp)nextVersion).getTime()); } else { if (increment && vmd.getFieldName() != null) { AbstractMemberMetaData verfmd = ((AbstractClassMetaData)vmd.getParent()).getMetaDataForMember(vmd.getFieldName()); if (nextVersion instanceof Number) {
String column = (String) annotationValues.get("column"); Column[] columns = (Column[]) annotationValues.get("columns"); VersionMetaData vermd = new VersionMetaData(); vermd.setStrategy(strategy); vermd.setColumnName(column); vermd.setIndexed(IndexedValue.getIndexedValue(indexed)); if (columns != null && columns.length > 0) vermd.setColumnMetaData(colmd); vermd.setParent(cmd); cmd.setVersionMetaData(vermd);
String column = (String)annotationValues.get("column"); Column[] columns = (Column[])annotationValues.get("columns"); vermd = new VersionMetaData(strategy, column, indexed); if (columns != null && columns.length > 0) vermd.addColumn(colmd); vermd.setParent(cmd); cmd.setVersionMetaData(vermd);
VersionMetaData vermd = table.getVersionMetaData(); ColumnMetaData versionColumnMetaData = vermd.getColumnMetaData(); ColumnMetaData colmd; IdentifierFactory idFactory = table.getStoreManager().getIdentifierFactory(); colmd = new ColumnMetaData(); colmd.setName(id.getName()); table.getVersionMetaData().setColumnMetaData(colmd);
public int getNumberOfColumns() { ColumnMetaData colmd = getInternal().getColumnMetaData(); return (colmd != null ? 1 : 0); }
public IndexMetadata getIndexMetadata() { IndexMetaData internalIdxmd = getInternal().getIndexMetaData(); IndexMetadataImpl idxmd = new IndexMetadataImpl(internalIdxmd); idxmd.parent = this; return idxmd; }
VersionMetaData vermd = new VersionMetaData(VersionStrategy.VERSION_NUMBER.toString(), fmd.getName()); cmd.setVersionMetaData(vermd);
if (vermd.getVersionStrategy() == VersionStrategy.VERSION_NUMBER)
if (vermd != null && vermd.getFieldName() != null) AbstractMemberMetaData verfmd = ((AbstractClassMetaData)vermd.getParent()).getMetaDataForMember(vermd.getFieldName()); Object currentVersion = op.getVersion(); if (currentVersion instanceof Number) else if (vermd != null && vermd.getFieldName() != null)
public ColumnMetadata[] getColumns() { ColumnMetaData internalColmd = getInternal().getColumnMetaData(); if (internalColmd == null) { return null; } ColumnMetadataImpl[] colmds = new ColumnMetadataImpl[1]; for (int i=0;i<colmds.length;i++) { colmds[i] = new ColumnMetadataImpl(internalColmd); colmds[i].parent = this; } return colmds; }
IndexMetaData idxmd = getVersionMetaData().getIndexMetaData(); if (idxmd != null)
VersionMetaData vermd = new VersionMetaData(VersionStrategy.VERSION_NUMBER.toString(), mmd.getName()); cmd.setVersionMetaData(vermd);
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; }
if (vermd.getFieldName() == null) verColName = table.getMemberColumnMappingForMember(cmd.getMetaDataForMember(vermd.getFieldName())).getColumn(0).getName(); if (vermd.getVersionStrategy() == VersionStrategy.VERSION_NUMBER) else if (vermd.getVersionStrategy() == VersionStrategy.DATE_TIME)
VersionMetaData vermd = sm.getClassMetaData().getVersionMetaDataForClass(); OID oid = odb.getObjectId(sm.getObject()); if (vermd.getVersionStrategy() == VersionStrategy.VERSION_NUMBER) else if (vermd.getVersionStrategy() == VersionStrategy.DATE_TIME)