public boolean contains(String term, String scheme) { List<Category> categories = getCategories(); IRI catscheme = getScheme(); IRI uri = (scheme != null) ? new IRI(scheme) : catscheme; for (Category category : categories) { String t = category.getTerm(); IRI s = (category.getScheme() != null) ? category.getScheme() : catscheme; if (t.equals(term) && ((uri != null) ? uri.equals(s) : s == null)) return true; } return false; }
private List<Category> copyCategoriesWithScheme(List<Category> cats) { List<Category> newcats = new ArrayList<Category>(); IRI scheme = getScheme(); for (Category cat : cats) { Category newcat = (Category)cat.clone(); if (newcat.getScheme() == null && scheme != null) newcat.setScheme(scheme.toString()); newcats.add(newcat); } return newcats; }
@Override protected void runTest() throws Throwable { Document<Categories> document = abdera.getParser().parse( TestAddCategoryFromCategories.class.getResourceAsStream("categories.xml")); Categories categories = document.getRoot(); Entry entry = abdera.getFactory().newEntry(); Category orgCategory = categories.getCategories().get(0); entry.addCategory(orgCategory); Category category = entry.getCategories().get(0); assertThat(category).isNotSameAs(orgCategory); // Assert that the original Category has not been removed from the Categories instance assertThat(categories.getCategories().get(0)).isSameAs(orgCategory); assertThat(category.getTerm()).isEqualTo(orgCategory.getTerm()); // The scheme is inherited from the app:categories element assertThat(category.getScheme()).isEqualTo(categories.getScheme()); } }
public <T extends Source> T addCategory(Category category) { complete(); Element el = category.getParentElement(); if (el != null && el instanceof Categories) { Categories cats = category.getParentElement(); category = (Category)category.clone(); try { if (category.getScheme() == null && cats.getScheme() != null) category.setScheme(cats.getScheme().toString()); } catch (Exception e) { // Do nothing, shouldn't happen } } addChild((OMElement)category); return (T)this; }
public Entry addCategory(Category category) { complete(); Element el = category.getParentElement(); if (el != null && el instanceof Categories) { Categories cats = category.getParentElement(); category = (Category)category.clone(); try { if (category.getScheme() == null && cats.getScheme() != null) category.setScheme(cats.getScheme().toString()); } catch (Exception e) { // Do nothing, shouldn't happen } } addChild((OMElement)category); return this; }
Category category = (Category)element; jstream.writeField("term", category.getTerm()); jstream.writeField("scheme", category.getScheme()); jstream.writeField("label", category.getLabel()); writeExtensions((ExtensibleElement)element, jstream);