public LookupTableRowType lastChangeTimestamp(XMLGregorianCalendar value) { setLastChangeTimestamp(value); return this; }
public LookupTableRowType toJAXB() { LookupTableRowType row = new LookupTableRowType(); row.setId(Long.valueOf(id)); row.setKey(key); row.setLastChangeTimestamp(lastChangeTimestamp); row.setValue(value); row.setLabel(RPolyString.copyToJAXB(label)); return row; }
LookupTableRowType row = findRow(actualObject, key, true); checkCurrentTimestamp(row); row.setLastChangeTimestamp(null); LookupTableRowType rowExp = findRow(expectedObject, key, false); if (rowExp != null) { rowExp.setLastChangeTimestamp(null);
private static RLookupTableRow toRepo(LookupTableRowType row) throws SchemaException { RLookupTableRow rRow = new RLookupTableRow(); rRow.setId(RUtil.toInteger(row.getId())); if (row.getKey() == null) { throw new SchemaException("Attempt to insert a row with no key"); } rRow.setKey(row.getKey()); rRow.setLabel(RPolyString.copyFromJAXB(row.getLabel())); rRow.setLastChangeTimestamp(row.getLastChangeTimestamp()); if (rRow.getLastChangeTimestamp() == null) { XMLGregorianCalendar cal = XMLGregorianCalendarType.asXMLGregorianCalendar(new Date()); rRow.setLastChangeTimestamp(cal); row.setLastChangeTimestamp(cal); } rRow.setValue(row.getValue()); return rRow; }
@Test public void test260ReplaceRowsExistingId() throws Exception { OperationResult result = new OperationResult("test260ReplaceRowsExistingId"); LookupTableRowType row5 = new LookupTableRowType(prismContext); row5.setId(5L); // dangerous row5.setKey("key 5 plus"); row5.setValue("value 5 plus"); row5.setLastChangeTimestamp(XmlTypeConverter.createXMLGregorianCalendar(createDate(99, 3, 10))); List<ItemDelta<?,?>> modifications = prismContext.deltaFor(LookupTableType.class) .item(F_ROW).replace(row5) .asItemDeltas(); executeAndCheckModification(modifications, result, 0, null); }
delta.applyTo(rowType.asPrismContainerValue()); if (!QNameUtil.match(name, LookupTableRowType.F_LAST_CHANGE_TIMESTAMP)) { rowType.setLastChangeTimestamp(null); // in order to get filled in via toRepo call below
@Test public void test255AddDeleteRows() throws Exception { OperationResult result = new OperationResult("test255AddDeleteRows"); LookupTableRowType rowNoId = new LookupTableRowType(prismContext); rowNoId.setKey("key new new"); rowNoId.setValue("value new new"); rowNoId.setLastChangeTimestamp(XmlTypeConverter.createXMLGregorianCalendar(createDate(99, 3, 4))); LookupTableRowType row5 = new LookupTableRowType(prismContext); row5.setKey("key 5"); row5.setValue("value 5"); LookupTableRowType row4 = new LookupTableRowType(prismContext); row4.setId(4L); List<ItemDelta<?,?>> modifications = prismContext.deltaFor(LookupTableType.class) .item(F_ROW).add(rowNoId, row5).delete(row4) .asItemDeltas(); executeAndCheckModification(modifications, result, 0, keysOf(row5)); }
@Test public void test240AddRows() throws Exception { OperationResult result = new OperationResult("test240AddRows"); LookupTableRowType rowNoId = new LookupTableRowType(prismContext); rowNoId.setKey("key new"); rowNoId.setValue("value new"); rowNoId.setLastChangeTimestamp(XmlTypeConverter.createXMLGregorianCalendar(createDate(99, 3, 4))); LookupTableRowType rowNoId2 = new LookupTableRowType(prismContext); rowNoId2.setKey("key new 2"); rowNoId2.setValue("value new 2"); LookupTableRowType row4 = new LookupTableRowType(prismContext); row4.setId(4L); row4.setKey("key 4"); row4.setValue("value 4"); List<ItemDelta<?,?>> modifications = prismContext.deltaFor(LookupTableType.class) .item(F_ROW).add(rowNoId, rowNoId2, row4) .asItemDeltas(); executeAndCheckModification(modifications, result, 0, keysOf(rowNoId2, row4)); // beware, ID for row4 was re-generated -- using client-provided IDs is not recommended anyway }