/** * INTERNAL: * filter the fields based on the passed in table. Only return fields of this table. */ protected Vector getAllNonPrimaryKeyFields(DatabaseTable table) { Vector filteredFields = new Vector(); for (Enumeration enumtr = getAllNonPrimaryKeyFields().elements(); enumtr.hasMoreElements();) { DatabaseField dbField = (DatabaseField)enumtr.nextElement(); if (dbField.getTableName().equals(table.getName())) { filteredFields.addElement(dbField); } } return filteredFields; }
/** * INTERNAL: * filter the fields based on the passed in table. Only return fields of this table. */ protected List<DatabaseField> getAllNonPrimaryKeyFields(DatabaseTable table) { List<DatabaseField> filteredFields = new ArrayList<DatabaseField>(); for (DatabaseField dbField : getAllNonPrimaryKeyFields()) { if (dbField.getTableName().equals(table.getName())) { filteredFields.add(dbField); } } return filteredFields; }
/** * INTERNAL: * filter the fields based on the passed in table. Only return fields of this table. */ protected List<DatabaseField> getAllNonPrimaryKeyFields(DatabaseTable table) { List<DatabaseField> filteredFields = new ArrayList<DatabaseField>(); for (DatabaseField dbField : getAllNonPrimaryKeyFields()) { if (dbField.getTableName().equals(table.getName())) { filteredFields.add(dbField); } } return filteredFields; }
/** * PUBLIC: * @see #addStartFieldName */ public void addEndFieldName(String endFieldName) { DatabaseField endField = new DatabaseField(endFieldName); endField.setType(ClassConstants.TIMESTAMP); if (endFields == null) { endFields = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); endFields.addElement(endField); return; } for (Enumeration enumtr = endFields.elements(); enumtr.hasMoreElements();) { DatabaseField existing = (DatabaseField)enumtr.nextElement(); if (endField.getTableName().equals(existing.getTableName())) { existing.setName(endField.getName()); return; } } endFields.addElement(endField); }
/** * PUBLIC: * @see #addStartFieldName */ public void addEndFieldName(String endFieldName) { DatabaseField endField = new DatabaseField(endFieldName); endField.setType(ClassConstants.TIMESTAMP); // #440278 endField.setLength(6); if (endFields == null) { endFields = new ArrayList(); endFields.add(endField); return; } for (DatabaseField existing : endFields) { if (endField.getTableName().equals(existing.getTableName())) { existing.setName(endField.getName()); return; } } endFields.add(endField); }
/** * INTERNAL: * When given an expression, this method will return a new expression * with the optimistic locking values included. The values are taken * from the passed in database row. This expression will be used in * an update call. */ public Expression buildUpdateExpression(DatabaseTable table, Expression mainExpression, AbstractRecord row, AbstractRecord row2) { if (cachedExpression == null) { cachedExpression = buildExpression(); } if (getWriteLockField().getTableName().equals(table.getName())) { return mainExpression.and(cachedExpression); } return mainExpression; }
/** * INTERNAL: * When given an expression, this method will return a new expression * with the optimistic locking values included. The values are taken * from the passed in database row. This expression will be used in * an update call. */ public Expression buildUpdateExpression(DatabaseTable table, Expression mainExpression, AbstractRecord row, AbstractRecord row2) { if (cachedExpression == null) { cachedExpression = buildExpression(); } if (getWriteLockField().getTableName().equals(table.getName())) { return mainExpression.and(cachedExpression); } return mainExpression; }
/** * INTERNAL: * When given an expression, this method will return a new expression * with the optimistic locking values included. The values are taken * from the passed in database row. This expression will be used in * an update call. */ public Expression buildUpdateExpression(DatabaseTable table, Expression mainExpression, AbstractRecord row, AbstractRecord row2) { if (cachedExpression == null) { cachedExpression = buildExpression(); } if (getWriteLockField().getTableName().equals(table.getName())) { return mainExpression.and(cachedExpression); } return mainExpression; }
/** * INTERNAL: * All the source relation key field names are converted to DatabaseField and stored. */ protected void initializeSourceRelationKeys(AbstractSession session, ForeignReferenceMapping mapping) throws DescriptorException { if (getSourceRelationKeyFields().size() == 0) { throw DescriptorException.noSourceRelationKeysSpecified(mapping); } for (Enumeration entry = getSourceRelationKeyFields().elements(); entry.hasMoreElements();) { DatabaseField field = (DatabaseField)entry.nextElement(); if (field.hasTableName() && (!(field.getTableName().equals(getRelationTable().getName())))) { throw DescriptorException.relationKeyFieldNotProperlySpecified(field, mapping); } field.setTable(getRelationTable()); } }
/** * INTERNAL: * All the target relation key field names are converted to DatabaseField and stored. */ protected void initializeTargetRelationKeys(AbstractSession session, ForeignReferenceMapping mapping) { if (getTargetRelationKeyFields().size() == 0) { throw DescriptorException.noTargetRelationKeysSpecified(mapping); } for (Enumeration targetEnum = getTargetRelationKeyFields().elements(); targetEnum.hasMoreElements();) { DatabaseField field = (DatabaseField)targetEnum.nextElement(); if (field.hasTableName() && (!(field.getTableName().equals(getRelationTable().getName())))) { throw DescriptorException.relationKeyFieldNotProperlySpecified(field, mapping); } field.setTable(getRelationTable()); } }
/** * The reference keys on the reference table are initialized */ protected void initializeReferenceKeys(AbstractSession session) throws DescriptorException { if (getReferenceKeyFields().size() == 0) { throw DescriptorException.noReferenceKeyIsSpecified(this); } for (Enumeration referenceEnum = getReferenceKeyFields().elements(); referenceEnum.hasMoreElements();) { DatabaseField field = (DatabaseField)referenceEnum.nextElement(); if (field.hasTableName() && (!(field.getTableName().equals(getReferenceTable().getName())))) { throw DescriptorException.referenceKeyFieldNotProperlySpecified(field, this); } field.setTable(getReferenceTable()); } }
public DatabaseField buildField(DatabaseField field, DatabaseTable relationTable) { DatabaseField builtField = getObjectBuilder().getFieldsMap().get(field); if (builtField == null) { builtField = field; DatabaseTable table; if (relationTable != null && field.hasTableName() && field.getTableName().equals(relationTable.getName())){ table = relationTable; } else if (field.hasTableName()) { table = getTable(field.getTableName()); } else { table = getDefaultTable(); } field.setTable(table); getObjectBuilder().getFieldsMap().put(builtField, builtField); } return builtField; }
public DatabaseField buildField(DatabaseField field, DatabaseTable relationTable) { DatabaseField builtField = getObjectBuilder().getFieldsMap().get(field); if (builtField == null) { builtField = field; DatabaseTable table; if (relationTable != null && field.hasTableName() && field.getTableName().equals(relationTable.getName())){ table = relationTable; } else if (relationTable != null && !field.hasTableName()) { table = relationTable; } else if (field.hasTableName()) { table = getTable(field.getTableName()); } else { table = getDefaultTable(); } field.setTable(table); getObjectBuilder().getFieldsMap().put(builtField, builtField); } return builtField; }
public DatabaseField buildField(DatabaseField field, DatabaseTable relationTable) { DatabaseField builtField = getObjectBuilder().getFieldsMap().get(field); if (builtField == null) { builtField = field; DatabaseTable table; if (relationTable != null && field.hasTableName() && field.getTableName().equals(relationTable.getName())){ table = relationTable; } else if (relationTable != null && !field.hasTableName()) { table = relationTable; } else if (field.hasTableName()) { table = getTable(field.getTableName()); } else { table = getDefaultTable(); } field.setTable(table); getObjectBuilder().getFieldsMap().put(builtField, builtField); } return builtField; }
/** * The reference keys on the reference table are initialized */ protected void initializeReferenceKeys(AbstractSession session) throws DescriptorException { if (getReferenceKeyFields().size() == 0) { throw DescriptorException.noReferenceKeyIsSpecified(this); } for (Enumeration referenceEnum = getReferenceKeyFields().elements(); referenceEnum.hasMoreElements();) { DatabaseField field = (DatabaseField)referenceEnum.nextElement(); // Update the field first if the mapping is on a table per tenant entity. if (getDescriptor().hasTablePerMultitenantPolicy()) { field.setTable(((TablePerMultitenantPolicy) getDescriptor().getMultitenantPolicy()).getTable(field.getTable())); } if (field.hasTableName() && (!(field.getTableName().equals(getReferenceTable().getName())))) { throw DescriptorException.referenceKeyFieldNotProperlySpecified(field, this); } field.setTable(getReferenceTable()); } }
/** * INTERNAL: * A DatabaseField is built from the given field name. */ // * added 9/7/00 by Les Davis // * bug fix for null pointer in initialization of mappings in remote session public DatabaseField buildField(String fieldName) { DatabaseField field = new DatabaseField(fieldName); DatabaseTable table; if (field.hasTableName()) { table = getTable(field.getTableName()); } else if (getDefaultTable() != null) { table = getDefaultTable(); } else { table = getTable(getTableName()); } field.setTable(table); return field; }
/** * INTERNAL: * A DatabaseField is built from the given field name. */ // * added 9/7/00 by Les Davis // * bug fix for null pointer in initialization of mappings in remote session public DatabaseField buildField(String fieldName) { DatabaseField field = new DatabaseField(fieldName); DatabaseTable table; if (field.hasTableName()) { table = getTable(field.getTableName()); } else if (getDefaultTable() != null) { table = getDefaultTable(); } else { table = getTable(getTableName()); } field.setTable(table); return field; }
/** * INTERNAL: * A DatabaseField is built from the given field name. */ // * added 9/7/00 by Les Davis // * bug fix for null pointer in initialization of mappings in remote session public DatabaseField buildField(String fieldName) { DatabaseField field = new DatabaseField(fieldName); DatabaseTable table; if (field.hasTableName()) { table = getTable(field.getTableName()); } else if (getDefaultTable() != null) { table = getDefaultTable(); } else { table = getTable(getTableName()); } field.setTable(table); return field; }
/** * entityDescからdataSetのカラム定義を生成します。 */ protected void setupAttributeColumns() { ServerSession serverSession = getEntityDesc().getServerSession(); ClassDescriptor cd = serverSession.getClassDescriptor(getEntityDesc().getEntityClass()); DatabasePlatform platform = serverSession.getPlatform(); for (DatabaseField field : cd.getFields()) { DataTable table = dataSet.getTable(field.getTableName()); int sqlType = platform.getJDBCType(field); String columnName = field.getName(); if (!table.hasColumn(columnName)) { table.addColumn(columnName, ColumnTypes.getColumnType(sqlType)); } } }
/** * entityDescからInheritancePolicyを取得し、継承関連のカラムをdataSetに定義します。 */ protected void setupDiscriminatorColumn() { if (!getEntityDesc().hasDiscriminatorColumn()) { return; } InheritancePolicy inheritancePolicy = getEntityDesc().getInheritancePolicy(); DatabaseField field = inheritancePolicy.getClassIndicatorField(); DataTable table = dataSet.getTable(field.getTableName()); ServerSession serverSession = getEntityDesc().getServerSession(); DatabasePlatform platform = serverSession.getPlatform(); int sqlType = platform.getJDBCType(field); String columnName = field.getName(); if (!table.hasColumn(columnName)) { table.addColumn(columnName, ColumnTypes.getColumnType(sqlType)); } }