public String getXMLForMetaData(IdentityMetaData idmd, String prefix, String indent) if (idmd.getValueStrategy() != null) str.append(prefix).append("<datastore-identity strategy=\"" + idmd.getValueStrategy() + "\""); if (idmd.getColumnName() != null) str.append("\n").append(prefix).append(" column=\"" + idmd.getColumnName() + "\""); if (idmd.getSequence() != null) str.append("\n").append(prefix).append(" sequence=\"" + idmd.getSequence() + "\""); if ((idmd.getColumnMetaData() != null) || idmd.getNoOfExtensions() > 0) ColumnMetaData columnMetaData = idmd.getColumnMetaData(); if (columnMetaData != null) processExtensions(idmd.getExtensions(), str, prefix, indent);
public DatastoreIdentityMetadata setCustomStrategy(String strategy) { getInternal().setValueStrategy(ValueGenerationStrategy.getIdentityStrategy(strategy)); return this; }
public DatastoreIdentityMetadata setColumn(String name) { getInternal().setColumnName(name); return this; }
String column = (String) annotationValues.get("column"); Column[] columns = (Column[]) annotationValues.get("columns"); IdentityMetaData idmd = new IdentityMetaData(); idmd.setColumnName(column); idmd.setValueStrategy(ValueGenerationStrategy.getIdentityStrategy(strategy)); idmd.setSequence(sequence); if (columns != null && columns.length > 0) idmd.setColumnMetaData(colmd); idmd.setParent(cmd); cmd.setIdentityMetaData(idmd);
public int getNumberOfColumns() { ColumnMetaData colmds = getInternal().getColumnMetaData(); return (colmds != null ? 1 : 0); }
strategy = idmd.getValueStrategy(); sequence = idmd.getSequence(); extensions = idmd.getExtensions();
idmd.setColumnName(identityColumn); idmd.setValueStrategy(IdentityStrategy.getIdentityStrategy(identityStrategy)); if (identityGenerator != null) idmd.setSequence(identityGenerator); idmd.setValueGeneratorName(identityGenerator);
public IdGeneratorStrategy getStrategy() { ValueGenerationStrategy strategy = getInternal().getValueStrategy(); if (strategy == ValueGenerationStrategy.IDENTITY) { return IdGeneratorStrategy.IDENTITY; } else if (strategy == ValueGenerationStrategy.INCREMENT) { return IdGeneratorStrategy.INCREMENT; } else if (strategy == ValueGenerationStrategy.NATIVE) { return IdGeneratorStrategy.NATIVE; } else if (strategy == ValueGenerationStrategy.SEQUENCE) { return IdGeneratorStrategy.SEQUENCE; } else if (strategy == ValueGenerationStrategy.UUIDHEX) { return IdGeneratorStrategy.UUIDHEX; } else if (strategy == ValueGenerationStrategy.UUIDSTRING) { return IdGeneratorStrategy.UUIDSTRING; } return IdGeneratorStrategy.UNSPECIFIED; }
if (cmd.getIdentityMetaData() != null && cmd.getIdentityMetaData().getValueStrategy() != null) if (cmd.getIdentityMetaData().getValueStrategy() == ValueGenerationStrategy.INCREMENT) else if (cmd.getIdentityMetaData().getValueStrategy() == ValueGenerationStrategy.SEQUENCE) String seqName = cmd.getIdentityMetaData().getSequence(); if (StringUtils.isWhitespace(seqName)) seqName = cmd.getIdentityMetaData().getValueGeneratorName();
if (cmd.getIdentityMetaData() != null && cmd.getIdentityMetaData().getValueStrategy() == ValueGenerationStrategy.IDENTITY) cmd.getIdentityMetaData().setValueStrategy(ValueGenerationStrategy.INCREMENT); NucleusLogger.METADATA.warn("Class " + cmd.getFullClassName() + " has been specified to use datastore-identity with IDENTITY value generation, but not supported on HBase. Using INCREMENT"); cmd.getIdentityMetaData().setValueStrategy(ValueGenerationStrategy.INCREMENT); NucleusLogger.METADATA.warn("Field " + mmd.getFullFieldName() + " has been specified to use IDENTITY value generation, but not supported on HBase. Using INCREMENT");
if (idmd != null && idmd.getColumnMetaData() != null && MetaDataUtils.isJdbcTypeString(idmd.getColumnMetaData().getJdbcType())) else if (supportsValueGenerationStrategy(ValueGenerationStrategy.SEQUENCE.toString()) && idmd != null && idmd.getSequence() != null)
String column = (String)annotationValues.get("column"); Column[] columns = (Column[])annotationValues.get("columns"); idmd = new IdentityMetaData(cmd, column, strategy, sequence); if (columns != null && columns.length > 0) idmd.addColumn(colmd); idmd.setParent(cmd); cmd.setIdentityMetaData(idmd);
jpaLevel.equalsIgnoreCase("DataNucleus")) IdentityMetaData idmd = new IdentityMetaData(cmd, identityColumn, identityStrategy, identityGenerator); if (identityGenerator != null) idmd.setValueGeneratorName(identityGenerator);
public String getSequence() { return getInternal().getSequence(); }
public DatastoreIdentityMetadata setSequence(String seq) { getInternal().setSequence(seq); return this; }
IdentityMetaData idmd = new IdentityMetaData(); idmd.setColumnName(getAttr(attrs, "column")); idmd.setValueStrategy(ValueGenerationStrategy.getIdentityStrategy(getAttr(attrs, "strategy"))); idmd.setSequence(getAttr(attrs, "sequence")); acmd.setIdentityMetaData(idmd); pushStack(idmd); idmd.setColumnMetaData(colmd);
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; }
public String getCustomStrategy() { ValueGenerationStrategy strategy = getInternal().getValueStrategy(); if (strategy != ValueGenerationStrategy.IDENTITY && strategy != ValueGenerationStrategy.INCREMENT && strategy != ValueGenerationStrategy.NATIVE && strategy != ValueGenerationStrategy.SEQUENCE && strategy != ValueGenerationStrategy.UUIDHEX && strategy != ValueGenerationStrategy.UUIDSTRING && strategy != null) { return strategy.toString(); } return null; }
/** * Method defining which value-strategy to use when the user specifies "native". * @return Should be overridden by all store managers that have other behaviour. */ public String getValueGenerationStrategyForNative(AbstractClassMetaData cmd, int absFieldNumber) { // TODO If the user has generated the schema and the column for this field is an autoincrement column then select IDENTITY if (getBooleanProperty(RDBMSPropertyNames.PROPERTY_RDBMS_LEGACY_NATIVE_VALUE_STRATEGY)) { // Use legacy process for deciding which strategy to use String sequence = null; if (absFieldNumber >= 0) { // real field sequence = cmd.getMetaDataForManagedMemberAtAbsolutePosition(absFieldNumber).getSequence(); } else { // datastore-identity surrogate field sequence = cmd.getIdentityMetaData().getSequence(); } if (dba.supportsOption(DatastoreAdapter.SEQUENCES) && sequence != null) { return ValueGenerationStrategy.SEQUENCE.toString(); } return ValueGenerationStrategy.INCREMENT.toString(); } return super.getValueGenerationStrategyForNative(cmd, absFieldNumber); }
ColumnMetaData colmd = acmd.getIdentityMetaData().getColumnMetaData(); if (colmd != null) { if ("varchar".equalsIgnoreCase(colmd.getJdbcType()) || "char".equalsIgnoreCase(colmd.getJdbcType())) {