/** * Two mergers are equal if they wrap elements that are deep equals. */ @Override public boolean equals(Object obj) { if (obj instanceof MCRMerger) { return MCRXMLHelper.deepEqual(this.element, ((MCRMerger) obj).element); } else { return super.equals(obj); } }
static Element buildElement(String xPath, String content, Element parent) { try { return new MCRNodeBuilder().buildElement(xPath, content, parent); } catch (JaxenException ex) { throw new MCRException("Unable to build field " + xPath, ex); } } }
/** Retrieves the MyCoRe object, transforms it to ORCID work xml and validates */ private Document buildWorkXMLFrom(MCRObjectID objectID) throws IOException, SAXParseException { MCRContent mcrObject = MCRXMLMetadataManager.instance().retrieveContent(objectID); MCRContent workXML = T_MCR2WORK.transform(mcrObject); return MCRXMLParserFactory.getValidatingParser().parseXML(workXML); }
private void setSubmittedValues(MCRBinding binding, String[] values) throws JDOMException, JaxenException { List<Object> boundNodes = binding.getBoundNodes(); while (boundNodes.size() < values.length) { binding.cloneBoundElement(boundNodes.size() - 1); } for (int i = 0; i < values.length; i++) { String value = values[i] == null ? "" : values[i].trim(); value = MCRXMLFunctions.normalizeUnicode(value); value = MCRXMLHelper.removeIllegalChars(value); binding.setValue(i, value); } removeXPaths2CheckResubmission(binding); binding.detach(); }
public String getAbsoluteXPath() { return MCRXPathBuilder.buildXPath(getBoundNode()); }
public String replaceXPaths(String text) { return getXPathEvaluator().replaceXPaths(text, false); }
public MCRXPathEvaluator getXPathEvaluator() { return new MCRXPathEvaluator(buildXPathVariables(), getBoundNodes()); }
public String evaluateXPath(String xPathExpression) { return getXPathEvaluator().evaluateXPath(xPathExpression); }
public String replaceXPathOrI18n(String expression) { return getXPathEvaluator().replaceXPathOrI18n(expression); }
public boolean test(String xPathExpression) { return getXPathEvaluator().test(xPathExpression); }
public static MCRObject getMcrObjectForDerivateID(String requestDerivateID) { final MCRObjectID objectID = MCRObjectID.getInstance(MCRXMLFunctions.getMCRObjectID(requestDerivateID)); return (MCRObject) MCRMetadataManager.retrieve(objectID); }
private void removeXPaths2CheckResubmission(MCRBinding binding) { for (Object node : binding.getBoundNodes()) { xPaths2CheckResubmission.remove(MCRXPathBuilder.buildXPath(node)); } }
public String replaceParameters(String uri) { return getXPathEvaluator().replaceXPaths(uri, false); }
public MCRXPathEvaluator getXPathEvaluator() { if (currentBinding != null) { return currentBinding.getXPathEvaluator(); } else { return new MCRXPathEvaluator(editorSession.getVariables(), (Parent) null); } }
public void mark2checkResubmission(MCRBinding binding) { for (Object node : binding.getBoundNodes()) { xPaths2CheckResubmission.add(MCRXPathBuilder.buildXPath(node)); } }
protected static String buildParameter(MCRRepeatBinding repeatBinding, int pos) throws JaxenException { String parentXPath = MCRXPathBuilder.buildXPath(repeatBinding.getParentElement()); String nameWithPredicates = repeatBinding.getElementNameWithPredicates(); String method = repeatBinding.getMethod(); return parentXPath + "|" + pos + "|" + method + "|" + nameWithPredicates; } }