/** * INTERNAL: * Build the sequence definitions. */ protected HashSet<SequenceDefinition> buildSequenceDefinitions() { // Remember the processed - to handle each sequence just once. HashSet processedSequenceNames = new HashSet(); HashSet<SequenceDefinition> sequenceDefinitions = new HashSet<SequenceDefinition>(); for (ClassDescriptor descriptor : getSession().getDescriptors().values()) { if (descriptor.usesSequenceNumbers()) { String seqName = descriptor.getSequenceNumberName(); if (seqName == null) { seqName = getSession().getDatasourcePlatform().getDefaultSequence().getName(); } if (! processedSequenceNames.contains(seqName)) { processedSequenceNames.add(seqName); Sequence sequence = getSession().getDatasourcePlatform().getSequence(seqName); SequenceDefinition sequenceDefinition = buildSequenceDefinition(sequence); if (sequenceDefinition != null) { sequenceDefinitions.add(sequenceDefinition); } } } } return sequenceDefinitions; }
SequenceDefinition sequenceDefinition = buildSequenceDefinition(sequence);
/** * INTERNAL: * Build the sequence definitions. */ protected HashSet<SequenceDefinition> buildSequenceDefinitions() { // Remember the processed - to handle each sequence just once. HashSet processedSequenceNames = new HashSet(); HashSet<SequenceDefinition> sequenceDefinitions = new HashSet<SequenceDefinition>(); for (ClassDescriptor descriptor : getSession().getDescriptors().values()) { if (descriptor.usesSequenceNumbers()) { String seqName = descriptor.getSequenceNumberName(); if (seqName == null) { seqName = getSession().getDatasourcePlatform().getDefaultSequence().getName(); } if (! processedSequenceNames.contains(seqName)) { processedSequenceNames.add(seqName); Sequence sequence = getSession().getDatasourcePlatform().getSequence(seqName); SequenceDefinition sequenceDefinition = buildSequenceDefinition(sequence); if (sequenceDefinition != null) { sequenceDefinitions.add(sequenceDefinition); } } } } return sequenceDefinitions; }
protected SequenceDefinition buildSequenceDefinition(Sequence sequence) { if (sequence.shouldAcquireValueAfterInsert()) { return null; } if (sequence instanceof TableSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof TableSequence)) { return new TableSequenceDefinition(sequence, createDatabaseSchemas); } else if (sequence instanceof UnaryTableSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof UnaryTableSequence)) { return new UnaryTableSequenceDefinition(sequence, createDatabaseSchemas); } else if (sequence instanceof NativeSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof NativeSequence)) { NativeSequence nativeSequence = null; if (sequence instanceof NativeSequence) { nativeSequence = (NativeSequence)sequence; } else { nativeSequence = (NativeSequence)((DefaultSequence)sequence).getDefaultSequence(); } if (nativeSequence.hasDelegateSequence()) { return buildSequenceDefinition(((NativeSequence)sequence).getDelegateSequence()); } return new SequenceObjectDefinition(sequence); } else { return null; } }
protected SequenceDefinition buildSequenceDefinition(Sequence sequence) { if (sequence.shouldAcquireValueAfterInsert()) { return null; } if (sequence instanceof TableSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof TableSequence)) { return new TableSequenceDefinition(sequence, createDatabaseSchemas); } else if (sequence instanceof UnaryTableSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof UnaryTableSequence)) { return new UnaryTableSequenceDefinition(sequence, createDatabaseSchemas); } else if (sequence instanceof NativeSequence || (sequence instanceof DefaultSequence && ((DefaultSequence)sequence).getDefaultSequence() instanceof NativeSequence)) { NativeSequence nativeSequence = null; if (sequence instanceof NativeSequence) { nativeSequence = (NativeSequence)sequence; } else { nativeSequence = (NativeSequence)((DefaultSequence)sequence).getDefaultSequence(); } if (nativeSequence.hasDelegateSequence()) { return buildSequenceDefinition(((NativeSequence)sequence).getDelegateSequence()); } return new SequenceObjectDefinition(sequence); } else { return null; } }