@Override public String renderSchemas(Iterable<SchemaEntry> schemaEntries) { return jsonUtil.schemasToJson(schemaEntries); }
@Override public String renderSubjects(Iterable<Subject> subjects) { return jsonUtil.subjectsToJson(subjects); }
@Override GsonJsonUtil createJsonUtil() { return new GsonJsonUtil(); } }
@Test public void testSubjectsToFromString() { Repository r = new InMemoryRepository(new ValidatorFactory.Builder().build()); Subject s1 = r.register("s1", null); Subject s2 = r.register("s2", null); ArrayList<Subject> empty = new ArrayList<Subject>(); ArrayList<Subject> vals = new ArrayList<Subject>(); vals.add(s1); vals.add(s2); Iterable<String> emptyResult = jsonUtil .subjectNamesFromJson(jsonUtil.subjectsToJson(empty)); Iterable<String> emptyResult2 = jsonUtil.subjectNamesFromJson(null); Iterable<String> emptyResult3 = jsonUtil.subjectNamesFromJson(""); validate(emptyResult, empty); Assert.assertEquals(emptyResult, emptyResult2); Assert.assertEquals(emptyResult, emptyResult3); Iterable<String> result = jsonUtil .subjectNamesFromJson(jsonUtil.subjectsToJson(vals)); validate(result, vals); }
@Test public void testSchemasToFromString() { SchemaEntry e1 = new SchemaEntry("id1", "s1"); SchemaEntry e2 = new SchemaEntry("id2", "s2"); ArrayList<SchemaEntry> empty = new ArrayList<SchemaEntry>(); ArrayList<SchemaEntry> vals = new ArrayList<SchemaEntry>(); vals.add(e1); vals.add(e2); Iterable<SchemaEntry> emptyResult = jsonUtil .schemasFromJson(jsonUtil.schemasToJson(empty)); Iterable<SchemaEntry> emptyResult2 = jsonUtil.schemasFromJson(null); Iterable<SchemaEntry> emptyResult3 = jsonUtil.schemasFromJson(""); Assert.assertEquals(empty, emptyResult); Assert.assertEquals(emptyResult, emptyResult2); Assert.assertEquals(emptyResult, emptyResult3); Iterable<SchemaEntry> result = jsonUtil .schemasFromJson(jsonUtil.schemasToJson(vals)); Assert.assertEquals(vals, result); }
@Override public Iterable<SchemaEntry> allEntries() { String path = getName() + "/all"; Iterable<SchemaEntry> entries = Collections.emptyList(); try { String entriesStr = webResource.path(path) .accept(MediaType.APPLICATION_JSON) .get(String.class); entries = jsonUtil.schemasFromJson(entriesStr); } catch (RuntimeException e) { handleException(e, format("Failed to retrieve all schema entries in subject %s", getName()), false); } return entries; }
@Override public Iterable<Subject> subjects() { ArrayList<Subject> subjectList = new ArrayList<Subject>(); try { String subjects = webResource .accept(MediaType.APPLICATION_JSON) .get(String.class); for (String subjName : jsonUtil.subjectNamesFromJson(subjects)) { subjectList.add(new RESTSubject(subjName)); } } catch (RuntimeException e) { handleException(e, "Failed to list all subjects", false); } return subjectList; }
@Override public Iterable<String> subjectNamesFromJson(String str) { ArrayList<String> stringList = new ArrayList<String>(); if (str != null && !str.equals("")) { ArrayList<SubjectRepresentation> subjectList = GSON_FOR_SUBJECTS.fromJson(str, SUBJECT_LIST_TYPE); for (SubjectRepresentation subject : subjectList) { stringList.add(subject.getName()); } } return stringList; }
@Override protected RESTRepositoryClient createClient(String repoUrl) { return new RESTRepositoryClient(repoUrl, new GsonJsonUtil(), true); }
@Override public String renderSchemas(Iterable<SchemaEntry> schemaEntries) { return jsonUtil.schemasToJson(schemaEntries); }
@Override public String renderSubjects(Iterable<Subject> subjects) { return jsonUtil.subjectsToJson(subjects); }
@Override public Iterable<SchemaEntry> allEntries() { String path = getName() + "/all"; Iterable<SchemaEntry> entries = Collections.emptyList(); try { String entriesStr = webResource.path(path) .accept(MediaType.APPLICATION_JSON) .get(String.class); entries = jsonUtil.schemasFromJson(entriesStr); } catch (RuntimeException e) { handleException(e, format("Failed to retrieve all schema entries in subject %s", getName()), false); } return entries; }
@Override public Iterable<Subject> subjects() { ArrayList<Subject> subjectList = new ArrayList<Subject>(); try { String subjects = webResource .accept(MediaType.APPLICATION_JSON) .get(String.class); for (String subjName : jsonUtil.subjectNamesFromJson(subjects)) { subjectList.add(new RESTSubject(subjName)); } } catch (RuntimeException e) { handleException(e, "Failed to list all subjects", false); } return subjectList; }
@Override public Iterable<String> subjectNamesFromJson(String str) { ArrayList<String> stringList = new ArrayList<String>(); if (str != null && !str.equals("")) { ArrayList<SubjectRepresentation> subjectList = GSON_FOR_SUBJECTS.fromJson(str, SUBJECT_LIST_TYPE); for (SubjectRepresentation subject : subjectList) { stringList.add(subject.getName()); } } return stringList; }
@Override protected RESTRepositoryClient createClient(String repoUrl) { return new RESTRepositoryClient(repoUrl, new GsonJsonUtil(), false); }
@Before public void setUp() { Properties properties = new Properties(); properties.setProperty("key", "value"); backendRepo = new InMemoryRepository(new ValidatorFactory.Builder().build()) { @Override public void close() throws IOException { closed = true; super.close(); } }; repo = new MachineOrientedRESTRepository(backendRepo, new GsonJsonUtil()); auxRepo = new AuxiliaryRESTRepository(backendRepo, properties); }