/** * INTERNAL: * returns the lock fields to compare based on the passed in table. */ protected Vector getFieldsToCompare(org.eclipse.persistence.internal.helper.DatabaseTable table, AbstractRecord transRow, AbstractRecord modifyRow) { return getLockFields(table); }
/** * INTERNAL: It is responsible for initializing the policy; */ @Override public void initialize(AbstractSession session) { super.initialize(session); List<DatabaseField> lockFields = getLockFields(); int size = lockFields.size(); for (int index = 0; index < size; index++) { DatabaseField field = lockFields.get(index); field = descriptor.buildField(field); lockFields.set(index, field); List<DatabaseField> fieldsForTable = getLockFieldsByTable().get(field.getTable()); if (fieldsForTable == null) { fieldsForTable = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); getLockFieldsByTable().put(field.getTable(), fieldsForTable); } fieldsForTable.add(field); } }
/** * INTERNAL: It is responsible for initializing the policy; */ @Override public void initialize(AbstractSession session) { super.initialize(session); List<DatabaseField> lockFields = getLockFields(); int size = lockFields.size(); for (int index = 0; index < size; index++) { DatabaseField field = lockFields.get(index); field = descriptor.buildField(field); lockFields.set(index, field); List<DatabaseField> fieldsForTable = getLockFieldsByTable().get(field.getTable()); if (fieldsForTable == null) { fieldsForTable = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); getLockFieldsByTable().put(field.getTable(), fieldsForTable); } fieldsForTable.add(field); } }
/** * INTERNAL: returns the lock fields to compare based on the passed in * table. */ @Override protected List<DatabaseField> getFieldsToCompare(org.eclipse.persistence.internal.helper.DatabaseTable table, AbstractRecord transRow, AbstractRecord modifyRow) { return getLockFields(table); }
/** * INTERNAL: * It is responsible for initializing the policy; */ public void initialize(AbstractSession session) { super.initialize(session); List lockFields = getLockFields(); int size = lockFields.size(); for (int index = 0; index < size; index++) { DatabaseField field = (DatabaseField)lockFields.get(index); field = descriptor.buildField(field); lockFields.set(index, field); Vector fieldsForTable = (Vector)getLockFieldsByTable().get(field.getTable()); if (fieldsForTable == null) { fieldsForTable = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); getLockFieldsByTable().put(field.getTable(), fieldsForTable); } fieldsForTable.addElement(field); } }
/** * INTERNAL: returns the lock fields to compare based on the passed in * table. */ @Override protected List<DatabaseField> getFieldsToCompare(org.eclipse.persistence.internal.helper.DatabaseTable table, AbstractRecord transRow, AbstractRecord modifyRow) { return getLockFields(table); }
/** * PUBLIC: Add a field name to lock on. All fields in this list will be * compared when updating if the value of any of the fields does not match * the value in memory, an OptimisticLockException will be thrown. * * Note: An Automatic update will not be done on this field, only a * comparison occurs. */ public void addLockFieldName(String fieldName) { getLockFields().add(new DatabaseField(fieldName)); }
/** * PUBLIC: Add a field name to lock on. All fields in this list will be * compared when updating if the value of any of the fields does not match * the value in memory, an OptimisticLockException will be thrown. * * Note: An Automatic update will not be done on this field, only a * comparison occurs. */ public void addLockFieldName(String fieldName) { getLockFields().add(new DatabaseField(fieldName)); }
/** * PUBLIC: * Add a fieldname to lock on. All fields in this list will be compared when Updating * if the value of any of the fields does not match the value in memory, an * OptimisticLockException will be thrown. * * Note: An Automatic update will not be done on this field, only a comparison occurs. */ public void addLockFieldName(String fieldName) { getLockFields().addElement(new DatabaseField(fieldName)); }
protected void addOptimisticLockingLines(NonreflectiveMethodDefinition method, OptimisticLockingPolicy policy) { String policyClassName = policy.getClass().getName(); String packageName = policyClassName.substring(0, policyClassName.lastIndexOf('.')); if (packageName.equals("org.eclipse.persistence.descriptors")) { policyClassName = Helper.getShortClassName(policy); } method.addLine(policyClassName + " lockingPolicy = new " + policyClassName + "();"); if (policy instanceof SelectedFieldsLockingPolicy) { SelectedFieldsLockingPolicy fieldPolicy = (SelectedFieldsLockingPolicy)policy; for (Enumeration fieldsEnum = fieldPolicy.getLockFields().elements(); fieldsEnum.hasMoreElements();) { DatabaseField field = (DatabaseField)fieldsEnum.nextElement(); method.addLine("lockingPolicy.addLockFieldName(\"" + field.getQualifiedName() + "\");"); } } else if (policy instanceof VersionLockingPolicy) { VersionLockingPolicy versionPolicy = (VersionLockingPolicy)policy; method.addLine("lockingPolicy.setWriteLockFieldName(\"" + versionPolicy.getWriteLockField().getQualifiedName() + "\");"); if (versionPolicy.isStoredInObject()) { method.addLine("lockingPolicy.storeInObject();"); } if (policy instanceof TimestampLockingPolicy) { TimestampLockingPolicy timestampPolicy = (TimestampLockingPolicy)policy; if (timestampPolicy.usesLocalTime()) { method.addLine("lockingPolicy.useLocalTime();"); } } } method.addLine("descriptor.setOptimisticLockingPolicy(lockingPolicy);"); }
protected void addOptimisticLockingLines(NonreflectiveMethodDefinition method, OptimisticLockingPolicy policy) { String policyClassName = policy.getClass().getName(); String packageName = policyClassName.substring(0, policyClassName.lastIndexOf('.')); if (packageName.equals("org.eclipse.persistence.descriptors")) { policyClassName = Helper.getShortClassName(policy); } method.addLine(policyClassName + " lockingPolicy = new " + policyClassName + "();"); if (policy instanceof SelectedFieldsLockingPolicy) { SelectedFieldsLockingPolicy fieldPolicy = (SelectedFieldsLockingPolicy)policy; for ( DatabaseField field : fieldPolicy.getLockFields()) { method.addLine("lockingPolicy.addLockFieldName(\"" + field.getQualifiedName() + "\");"); } } else if (policy instanceof VersionLockingPolicy) { VersionLockingPolicy versionPolicy = (VersionLockingPolicy)policy; method.addLine("lockingPolicy.setWriteLockFieldName(\"" + versionPolicy.getWriteLockField().getQualifiedName() + "\");"); if (versionPolicy.isStoredInObject()) { method.addLine("lockingPolicy.storeInObject();"); } if (policy instanceof TimestampLockingPolicy) { TimestampLockingPolicy timestampPolicy = (TimestampLockingPolicy)policy; if (timestampPolicy.usesLocalTime()) { method.addLine("lockingPolicy.useLocalTime();"); } } } method.addLine("descriptor.setOptimisticLockingPolicy(lockingPolicy);"); }
protected void addOptimisticLockingLines(NonreflectiveMethodDefinition method, OptimisticLockingPolicy policy) { String policyClassName = policy.getClass().getName(); String packageName = policyClassName.substring(0, policyClassName.lastIndexOf('.')); if (packageName.equals("org.eclipse.persistence.descriptors")) { policyClassName = Helper.getShortClassName(policy); } method.addLine(policyClassName + " lockingPolicy = new " + policyClassName + "();"); if (policy instanceof SelectedFieldsLockingPolicy) { SelectedFieldsLockingPolicy fieldPolicy = (SelectedFieldsLockingPolicy)policy; for ( DatabaseField field : fieldPolicy.getLockFields()) { method.addLine("lockingPolicy.addLockFieldName(\"" + field.getQualifiedName() + "\");"); } } else if (policy instanceof VersionLockingPolicy) { VersionLockingPolicy versionPolicy = (VersionLockingPolicy)policy; method.addLine("lockingPolicy.setWriteLockFieldName(\"" + versionPolicy.getWriteLockField().getQualifiedName() + "\");"); if (versionPolicy.isStoredInObject()) { method.addLine("lockingPolicy.storeInObject();"); } if (policy instanceof TimestampLockingPolicy) { TimestampLockingPolicy timestampPolicy = (TimestampLockingPolicy)policy; if (timestampPolicy.usesLocalTime()) { method.addLine("lockingPolicy.useLocalTime();"); } } } method.addLine("descriptor.setOptimisticLockingPolicy(lockingPolicy);"); }