From: Alexey L. <lou...@us...> - 2002-08-29 16:36:48
|
User: loubyansky Date: 02/08/29 09:36:47 Modified: src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata JDBCCMPFieldMetaData.java Log: - added keyFactory attribute to represent key factory name for unknown primary key; - removed lame comments. Revision Changes Path 1.11 +70 -10 jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata/JDBCCMPFieldMetaData.java Index: JDBCCMPFieldMetaData.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata/JDBCCMPFieldMetaData.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- JDBCCMPFieldMetaData.java 28 Aug 2002 05:45:46 -0000 1.10 +++ JDBCCMPFieldMetaData.java 29 Aug 2002 16:36:46 -0000 1.11 @@ -30,12 +30,7 @@ * @author <a href="mailto:vin...@hu...">Vincent Harcq</a> * @author <a href="mailto:lou...@ho...">Alex Loubyansky</a> * - * <p><b>2002/08/27: loubyansky</b> - * <ol> - * <li>added JDBCCMPFieldMetaData( JDBCEntityMetaData entity )</li> - * </ol> - * - * @version $Revision: 1.10 $ + * @version $Revision: 1.11 $ */ public final class JDBCCMPFieldMetaData { /** @@ -101,6 +96,17 @@ */ private final List propertyOverrides = new ArrayList(); + // Unknown Primary Key Attributes ------------------------- + + /** + * indicates whether this is an unknown pk field + */ + private final boolean unknownPkField; + + /** + * JNDI name of the key factory for this field + */ + private final String keyFactory; /** * This constructor added to create an unknown primary key @@ -109,9 +115,9 @@ public JDBCCMPFieldMetaData( JDBCEntityMetaData entity ) { this.entity = entity; - fieldName = "unknownPkField"; + fieldName = entity.getName() + "_upk"; fieldType = java.lang.String.class; - columnName = "unknownPkColumn"; + columnName = entity.getName() + "_upk"; jdbcType = java.sql.Types.VARCHAR; sqlType = "VARCHAR(32)"; readOnly = false; @@ -119,6 +125,9 @@ primaryKeyMember = true; notNull = true; primaryKeyField = null; + unknownPkField = true; + // here some default factory should be setup + keyFactory = null; } /** @@ -186,6 +195,10 @@ primaryKeyField = pkField; } notNull = fieldType.isPrimitive() || primaryKeyMember; + + // Unknown primary key attributes setup + unknownPkField = false; + keyFactory = null; } /** @@ -276,6 +289,19 @@ propertyOverrides.add(new JDBCCMPFieldPropertyMetaData( this, (Element)iterator.next())); } + + // unknown primary key + this.unknownPkField = defaultValues.isUnknownPkField(); + + // key factory + // NOTE: even if it's required for unknown-pk it might be absent + // because this class represents non-pk fields too + String keyFactory = MetaData.getOptionalChildContent( + element, "key-factory" ); + if( keyFactory != null ) + this.keyFactory = keyFactory; + else + this.keyFactory = defaultValues.getKeyFactory(); } /** @@ -345,7 +371,7 @@ // primary key member? this.primaryKeyMember = primaryKeyMember; - + // not-null this.notNull = notNull; @@ -358,6 +384,19 @@ propertyOverrides.add(new JDBCCMPFieldPropertyMetaData( this, (Element)iterator.next())); } + + // unknown primary key + this.unknownPkField = defaultValues.isUnknownPkField(); + + // key factory + // NOTE: even if it's required for unknown-pk it might be absent + // because this class represents non-pk fields too + String keyFactory = MetaData.getOptionalChildContent( + element, "key-factory" ); + if( keyFactory != null ) + this.keyFactory = keyFactory; + else + this.keyFactory = defaultValues.getKeyFactory(); } /** @@ -416,7 +455,7 @@ // primary key member? this.primaryKeyMember = primaryKeyMember; - + // field object of the primary key primaryKeyField = defaultValues.getPrimaryKeyField(); @@ -428,6 +467,12 @@ propertyOverrides.add(new JDBCCMPFieldPropertyMetaData( this, (JDBCCMPFieldPropertyMetaData)i.next())); } + + // unknown primary key + this.unknownPkField = defaultValues.isUnknownPkField(); + + // key factory + this.keyFactory = defaultValues.getKeyFactory(); } /** @@ -536,6 +581,21 @@ */ public Field getPrimaryKeyField() { return primaryKeyField; + } + + /** + * Is this field an unknown primary key field? + * @return true if the field is an unknown primary key field + */ + public boolean isUnknownPkField() { + return unknownPkField; + } + + /** + * Gets key factory JNDI name + */ + public String getKeyFactory() { + return keyFactory; } /** |