use of org.mycore.datamodel.classifications2.MCRCategoryID in project mycore by MyCoRe-Org.
the class MCRXMLTransformer method buildCategory.
public static MCRCategory buildCategory(String classID, Element e, MCRCategory parent) throws URISyntaxException {
MCRCategoryImpl category = new MCRCategoryImpl();
// setId must be called before setParent (info important)
category.setId(new MCRCategoryID(classID, e.getAttributeValue("ID")));
category.setRoot(parent.getRoot());
category.setChildren(new ArrayList<>());
category.setParent(parent);
try {
category.setLabels(getLabels(e.getChildren("label")));
} catch (NullPointerException | IllegalArgumentException ex) {
throw new MCRException("Error while adding labels to category: " + category.getId(), ex);
}
category.setLevel(parent.getLevel() + 1);
setURL(e, category);
buildChildCategories(classID, e.getChildren("category"), category);
return category;
}
use of org.mycore.datamodel.classifications2.MCRCategoryID in project mycore by MyCoRe-Org.
the class MCRCategoryMapper method getMappingRule.
protected String getMappingRule(MCRCategoryID categoryID) {
MCRCategory category = DAO.getCategory(categoryID, 0);
// "x-mapper" was used in previous versions of mycore
MCRLabel label = category.getLabel("x-mapping").orElse(category.getLabel("x-mapper").orElseThrow(() -> new MCRException("Category " + category + " does not hav a label for 'x-mapping'.")));
return label.getText();
}
use of org.mycore.datamodel.classifications2.MCRCategoryID in project mycore by MyCoRe-Org.
the class MCRClassificationUtils method asDocument.
/**
* Returns the classification as a jdom document. Returns null if the
* classification does not exists.
*
* @param classId the classification root id
* @return the classification as jdom document
*/
public static Document asDocument(String classId) {
MCRCategoryID categoryId = MCRCategoryID.rootID(classId);
MCRCategory classification = MCRCategoryDAOFactory.getInstance().getRootCategory(categoryId, -1);
if (classification == null) {
return null;
}
return MCRCategoryTransformer.getMetaDataDocument(classification, true);
}
use of org.mycore.datamodel.classifications2.MCRCategoryID in project mycore by MyCoRe-Org.
the class MCRSolrCategoryDAO method setLabels.
@Override
public MCRCategory setLabels(MCRCategoryID id, Set<MCRLabel> labels) {
MCRCategory category = super.setLabels(id, labels);
MCRSolrClassificationUtil.reindex(category);
return category;
}
use of org.mycore.datamodel.classifications2.MCRCategoryID in project mycore by MyCoRe-Org.
the class MCRSolrCategoryDAO method setLabel.
@Override
public MCRCategory setLabel(MCRCategoryID id, MCRLabel label) {
MCRCategory category = super.setLabel(id, label);
MCRSolrClassificationUtil.reindex(category);
return category;
}
Aggregations