@Test public void testToStringListWithNullElement() { List<LayerIdentifierInfo> list = new ArrayList<LayerIdentifierInfo>(); LayerIdentifierInfo id1 = new LayerIdentifier(); id1.setAuthority("auth1"); id1.setIdentifier("IDENTIFIER_1"); list.add(id1); list.add(null); String actual = LayerIdentifierInfoListConverter.toString(list); String expected = "[{\"authority\":\"auth1\",\"identifier\":\"IDENTIFIER_1\"}]"; assertEquals(expected, actual); }
/** * @param str a JSON array representation of a list of {@link LayerIdentifierInfo} objects * @return the list of parsed layer identifiers from the argument JSON array * @throws IllegalArgumentException if {@code str} can't be parsed to a JSONArray */ public static List<LayerIdentifierInfo> fromString(String str) throws IllegalArgumentException { try { final JSONArray array; array = JSONArray.fromObject(str); final int size = array.size(); List<LayerIdentifierInfo> list = new ArrayList<LayerIdentifierInfo>(size); JSONObject jsonAuth; for (int i = 0; i < size; i++) { jsonAuth = array.getJSONObject(i); LayerIdentifier id = new LayerIdentifier(); id.setAuthority(jsonAuth.getString(AUTHORITY)); id.setIdentifier(jsonAuth.getString(IDENTIFIER)); list.add(id); } return list; } catch (JSONException e) { throw new IllegalArgumentException(e.getMessage(), e); } }
@Test public void testToString() { List<LayerIdentifierInfo> list = new ArrayList<LayerIdentifierInfo>(); LayerIdentifierInfo id1 = new LayerIdentifier(); id1.setAuthority("auth1"); id1.setIdentifier("IDENTIFIER_1"); list.add(id1); LayerIdentifierInfo id2 = new LayerIdentifier(); id2.setAuthority("auth2"); id2.setIdentifier("IDENTIFIER_2"); list.add(id2); String actual = LayerIdentifierInfoListConverter.toString(list); System.out.println(actual); String expected = "[{\"authority\":\"auth1\",\"identifier\":\"IDENTIFIER_1\"},{\"authority\":\"auth2\",\"identifier\":\"IDENTIFIER_2\"}]"; assertEquals(expected, actual); }
private void updateIdentifier(LayerInfo geogigLayer, final String newIdentifier) { List<LayerIdentifierInfo> layerIdentifiers = geogigLayer.getIdentifiers(); { LayerIdentifierInfo id = null; for (LayerIdentifierInfo identifier : layerIdentifiers) { if (AUTHORITY_URL_NAME.equals(identifier.getAuthority())) { id = identifier; break; } } if (id != null) { if (newIdentifier.equals(id.getIdentifier())) { return; } layerIdentifiers.remove(id); } } LayerIdentifier newId = new LayerIdentifier(); newId.setAuthority(AUTHORITY_URL_NAME); newId.setIdentifier(newIdentifier); layerIdentifiers.add(newId); Catalog catalog = geoserver.getCatalog(); catalog.save(geogigLayer); LOGGER.log( Level.INFO, "Updated geogig auth identifier for layer {0} as {1}", new Object[] {geogigLayer.prefixedName(), newIdentifier}); }
@Test public void testFromString() { final String serialized = "[{\"authority\":\"auth1\",\"identifier\":\"IDENTIFIER_1\"},{\"authority\":\"auth2\",\"identifier\":\"IDENTIFIER_2\"}]"; List<LayerIdentifierInfo> expected = new ArrayList<LayerIdentifierInfo>(); LayerIdentifierInfo id1 = new LayerIdentifier(); id1.setAuthority("auth1"); id1.setIdentifier("IDENTIFIER_1"); expected.add(id1); LayerIdentifierInfo id2 = new LayerIdentifier(); id2.setAuthority("auth2"); id2.setIdentifier("IDENTIFIER_2"); expected.add(id2); List<LayerIdentifierInfo> actual; actual = LayerIdentifierInfoListConverter.fromString(serialized); assertEquals(expected, actual); }
@Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { List<LayerIdentifierInfo> list = identifiers.getModelObject(); LayerIdentifierInfo newIdentifier = new LayerIdentifier(); list.add(newIdentifier); identifiers.setModelObject(list); updateLinksVisibility(); target.addComponent(LayerIdentifierListEditor.this); }
@Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { List<LayerIdentifierInfo> list = identifiers.getModelObject(); LayerIdentifierInfo newIdentifier = new LayerIdentifier(); list.add(newIdentifier); identifiers.setModelObject(list); updateLinksVisibility(); target.add(LayerIdentifierListEditor.this); } };
private void addIdentifier( final String authName, final String id, List<LayerIdentifierInfo> target) { LayerIdentifierInfo identifier = new LayerIdentifier(); identifier.setAuthority(authName); identifier.setIdentifier(id); target.add(identifier); }
private void addIdentifier( final String authName, final String id, List<LayerIdentifierInfo> target) { LayerIdentifierInfo identifier = new LayerIdentifier(); identifier.setAuthority(authName); identifier.setIdentifier(id); target.add(identifier); }
@Override public void convertInput() { LayerIdentifierInfo info = getModelObject(); String auth = authority.getConvertedInput(); String id = identifier.getConvertedInput(); if (id == null && auth == null) { setConvertedInput(null); return; } if (info == null) { info = new LayerIdentifier(); setModelObject(info); } info.setAuthority(auth); info.setIdentifier(id); setConvertedInput(info); }
@Override protected void convertInput() { LayerIdentifierInfo info = getModelObject(); String auth = authority.getConvertedInput(); String id = identifier.getConvertedInput(); if (id == null && auth == null) { setConvertedInput(null); return; } if (info == null) { info = new LayerIdentifier(); setModelObject(info); } info.setAuthority(auth); info.setIdentifier(id); setConvertedInput(info); }