private List<String> keysOf(LookupTableRowType... rows) { List<String> keys = new ArrayList<>(rows.length); for (LookupTableRowType row : rows) { keys.add(row.getKey()); } return keys; }
private void addLookupTableRows(Session session, String tableOid, Collection<PrismContainerValue> values, int currentId, boolean deleteBeforeAdd) throws SchemaException { for (PrismContainerValue value : values) { LookupTableRowType rowType = new LookupTableRowType(); rowType.setupContainerValue(value); if (deleteBeforeAdd) { deleteRowByKey(session, tableOid, rowType.getKey()); } RLookupTableRow row = RLookupTableRow.toRepo(tableOid, rowType); row.setId(currentId); currentId++; session.save(row); } }
private LookupTableRowType findRow(PrismObject<LookupTableType> table, String key, boolean mustBePresent) { for (LookupTableRowType row : table.asObjectable().getRow()) { if (key.equals(row.getKey())) { return row; } } if (mustBePresent) { throw new IllegalStateException("No row with key " + key + " in " + table); } else { return null; } }
private void checkLookupTable(PrismObject<LookupTableType> lookupTable, String name, OperationResult subresult) { checkObjectPropertyPolyString(lookupTable, LookupTableType.F_NAME, subresult, name); checkObjectProperty(lookupTable, LookupTableType.F_DESCRIPTION, subresult, SelfTestData.POLICIJA); LookupTableType lookupTableType = lookupTable.asObjectable(); assertEquals("Unexpected number of rows", 1, lookupTableType.getRow().size(), subresult); LookupTableRowType rowType = lookupTableType.getRow().get(0); assertEquals("Unexpected key value", INSANE_NATIONAL_STRING, rowType.getKey(), subresult); assertEquals("Unexpected 'value' value", INSANE_NATIONAL_STRING, rowType.getValue(), subresult); assertPolyStringType("Unexpected label value", INSANE_NATIONAL_STRING, rowType.getLabel(), subresult); }
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; }
Iterator<LookupTableRowType> iterator = expectedObject.asObjectable().getRow().iterator(); while (iterator.hasNext()) { if (replacedKeys.contains(iterator.next().getKey())) { iterator.remove();
private void assertRow(PrismContainerValue<LookupTableRowType> tableContainerValue, String key, String value, PolyStringType label, XMLGregorianCalendar lastChangeTimestamp) { LookupTableRowType row = tableContainerValue.asContainerable(); assertEquals("wrong key", key, row.getKey()); assertEquals("wrong value", value, row.getValue()); assertEquals("wrong label", label, row.getLabel()); assertEquals("wrong lastChangeTimestamp", lastChangeTimestamp, row.getLastChangeTimestamp()); }
for (LookupTableRowType row: lookup.asObjectable().getRow()) { PolyStringType polyLabel = row.getLabel(); String key = row.getKey(); String label = key; if (polyLabel != null) {
private void assertLookupRow(PrismContainer<LookupTableRowType> tableContainer, String key, String value, String label) { for (PrismContainerValue<LookupTableRowType> row: tableContainer.getValues()) { LookupTableRowType rowType = row.asContainerable(); if (key.equals(rowType.getKey())) { assertEquals("Wrong value for key "+key, value, rowType.getValue()); if (label == null) { assertNull("Unexpected label for key "+key+": "+rowType.getLabel(), rowType.getLabel()); } else { assertEquals("Wrong label for key "+key, PrismTestUtil.createPolyStringType(label), rowType.getLabel()); } return; } } AssertJUnit.fail("Row with key '"+key+"' was not found in lookup table"); }