Author: arminw Date: Tue May 15 15:54:40 2007 New Revision: 538356 URL: http://svn.apache.org/viewvc?view=rev&rev=538356 Log: add shortcut name support
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/SequenceDescriptor.java Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/SequenceDescriptor.java URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/SequenceDescriptor.java?view=diff&rev=538356&r1=538355&r2=538356 ============================================================================== --- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/SequenceDescriptor.java (original) +++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/SequenceDescriptor.java Tue May 15 15:54:40 2007 @@ -15,8 +15,6 @@ * limitations under the License. */ -import java.util.HashMap; -import java.util.Map; import java.util.Properties; import org.apache.commons.lang.BooleanUtils; @@ -24,15 +22,10 @@ import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; import org.apache.ojb.broker.util.ClassHelper; +import org.apache.ojb.broker.util.ShortcutMapper; import org.apache.ojb.broker.util.XmlHelper; import org.apache.ojb.broker.util.sequence.SequenceManager; -import org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl; -import org.apache.ojb.broker.util.sequence.SequenceManagerIdentityImpl; import org.apache.ojb.broker.util.sequence.SequenceManagerInMemoryImpl; -import org.apache.ojb.broker.util.sequence.SequenceManagerMSSQLGuidImpl; -import org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl; -import org.apache.ojb.broker.util.sequence.SequenceManagerSeqHiLoImpl; -import org.apache.ojb.broker.util.sequence.SequenceManagerStoredProcedureImpl; /** * Encapsulates sequence manager configuration properties managed by @@ -48,6 +41,7 @@ public class SequenceDescriptor extends DescriptorBase implements XmlCapable { private static final long serialVersionUID = -5161713731380949398L; + public static final Class DEFAULT_SEQUENCE_MANAGER = SequenceManagerInMemoryImpl.class; /** * Attribute string used to enable/disable per field @@ -55,28 +49,8 @@ */ public static final String ATTRIBUTE_PER_FIELD = "seq.perField"; - public static final String SHORTCUT_SM_IN_MEMORY = "memory"; - public static final String SHORTCUT_SM_HIGH_LOW = "hilo"; - public static final String SHORTCUT_SM_SEQ_HIGH_LOW = "seqhilo"; - public static final String SHORTCUT_SM_IDENTITY = "identity"; - public static final String SHORTCUT_SM_NEXT_VAL_2 = "sequence"; - public static final String SHORTCUT_SM_PROCEDURE = "procedure"; - public static final String SHORTCUT_SM_MS_GUID = "msguid"; - - private static Map shortcutNamesMap = new HashMap(); - static - { - shortcutNamesMap.put(SHORTCUT_SM_HIGH_LOW, SequenceManagerHighLowImpl.class); - shortcutNamesMap.put(SHORTCUT_SM_SEQ_HIGH_LOW, SequenceManagerSeqHiLoImpl.class); - shortcutNamesMap.put(SHORTCUT_SM_IN_MEMORY, SequenceManagerInMemoryImpl.class); - shortcutNamesMap.put(SHORTCUT_SM_MS_GUID, SequenceManagerMSSQLGuidImpl.class); - shortcutNamesMap.put(SHORTCUT_SM_IDENTITY, SequenceManagerIdentityImpl.class); - shortcutNamesMap.put(SHORTCUT_SM_NEXT_VAL_2, SequenceManagerNextValImpl.class); - shortcutNamesMap.put(SHORTCUT_SM_PROCEDURE, SequenceManagerStoredProcedureImpl.class); - } - private JdbcConnectionDescriptor jcd; - private Class sequenceManagerClass = SequenceManagerInMemoryImpl.class; + private Class sequenceManagerClass = DEFAULT_SEQUENCE_MANAGER; public SequenceDescriptor() { @@ -137,7 +111,7 @@ public void setSequenceManagerClass(String sequenceManagerName) { - Class sc = (Class) shortcutNamesMap.get(sequenceManagerName); + Class sc = ShortcutMapper.resolve(sequenceManagerName, SequenceManager.class); if(sc != null) { this.sequenceManagerClass = sc; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]