Example usage for org.apache.commons.jxpath JXPathContext newContext

List of usage examples for org.apache.commons.jxpath JXPathContext newContext

Introduction

In this page you can find the example usage for org.apache.commons.jxpath JXPathContext newContext.

Prototype

public static JXPathContext newContext(Object contextBean) 

Source Link

Document

Creates a new JXPathContext with the specified object as the root node.

Usage

From source file:se.cambio.cds.gdl.parser.GDLParsingTest.java

private void check(Object expected, String path) throws Exception {
    JXPathContext context = JXPathContext.newContext(guide);
    assertEquals(expected, context.getValue(path));
}

From source file:se.cambio.cds.gdl.parser.ParseOldVersionTest.java

public void testParseSimpleGDL() throws Exception {
    parse("high_aciclovir_old_version.v1.gdl");
    JXPathContext context = JXPathContext.newContext(guide);

    assertEquals(new CodePhrase("ATC", "J05AB01"),
            context.getValue("/ontology/termBindings/ATC/bindings/gt0010/codes[1]"));
}

From source file:se.cambio.cds.gdl.parser.ParseTermBindingTest.java

public void testParseSimpleGDL() throws Exception {
    parse("high_aciclovir.v1.gdl");
    JXPathContext context = JXPathContext.newContext(guide);

    assertEquals(new CodePhrase("ATC", "J05AB01"),
            context.getValue("/ontology/termBindings/ATC/bindings/gt0010/codes[1]"));

    try {//www  .  j  av  a2s  . c  o  m
        context.getValue("/ontology/termBindings/ATC/bindings/gt0010/codes[2]");
        fail("Exception should be thrown at path pointing at the 2nd, duplicated element");
    } catch (Exception e) {
        assertTrue(e instanceof JXPathNotFoundException);
    }
}

From source file:se.cambio.cds.util.ExportUtils.java

@SuppressWarnings("unchecked")
public static String convertToHTML(Guide guide, String lang) throws InternalErrorException {
    TermDefinition td = GuideImporter.getTermDefinition(guide, lang);
    JXPathContext c = JXPathContext.newContext(guide.getDescription());
    StringBuffer sb = new StringBuffer();
    sb.append("<HTML>");
    sb.append("<TITLE>" + guide.getId() + "</TITLE>");

    sb.append("<b><font face='Calibri' size='6'>" + getTermText(guide.getConcept(), td) + "</font></b>");
    sb.append(getBoxWithTitleStart(CDSLanguageManager.getMessage("GuideDetails")));
    sb.append("<table><font face='Calibri'>");
    sb.append(TR_TD_FONT_OPEN + "<b>" + CDSLanguageManager.getMessage("Description") + ":</b>"
            + TD_FONT_CLOSE_TD_FONT_OPEN + getTermDescription(guide.getConcept(), td) + FONT_TD_TR_CLOSE);
    sb.append(TR_TD_FONT_OPEN + "<b>" + CDSLanguageManager.getMessage("Purpose") + ":</b>"
            + TD_FONT_CLOSE_TD_FONT_OPEN + getValue(c, "/details/" + lang + "/purpose") + FONT_TD_TR_CLOSE);
    sb.append(TR_TD_FONT_OPEN + "<b>" + CDSLanguageManager.getMessage("Use") + ":</b>"
            + TD_FONT_CLOSE_TD_FONT_OPEN + getValue(c, "/details/" + lang + "/use") + FONT_TD_TR_CLOSE);
    sb.append(TR_TD_FONT_OPEN + "<b>" + CDSLanguageManager.getMessage("Misuse") + ":</b>"
            + TD_FONT_CLOSE_TD_FONT_OPEN + getValue(c, "/details/" + lang + "/misuse") + FONT_TD_TR_CLOSE);
    sb.append(TR_TD_FONT_OPEN + "<b>" + CDSLanguageManager.getMessage("References") + ":</b>"
            + TD_FONT_CLOSE_TD_FONT_OPEN + getValue(c, "/otherDetails/references") + FONT_TD_TR_CLOSE);
    sb.append("</font></table>");
    sb.append(getBoxWithTitleStart(CDSLanguageManager.getMessage("AuthorDetails")));
    sb.append("<table><font face='Calibri'>");
    sb.append(TR_TD_FONT_OPEN + "<b>" + CDSLanguageManager.getMessage("Name") + ":</b>"
            + TD_FONT_CLOSE_TD_FONT_OPEN + getValue(c, "/originalAuthor/name") + FONT_TD_TR_CLOSE);
    sb.append(TR_TD_FONT_OPEN + "<b>" + CDSLanguageManager.getMessage("Email") + ":</b>"
            + TD_FONT_CLOSE_TD_FONT_OPEN + getValue(c, "/originalAuthor/email") + FONT_TD_TR_CLOSE);
    sb.append(TR_TD_FONT_OPEN + "<b>" + CDSLanguageManager.getMessage("Organisation") + ":</b>"
            + TD_FONT_CLOSE_TD_FONT_OPEN + getValue(c, "/originalAuthor/organisation") + FONT_TD_TR_CLOSE);
    sb.append(TR_TD_FONT_OPEN + "<b>" + CDSLanguageManager.getMessage("Date") + ":</b>"
            + TD_FONT_CLOSE_TD_FONT_OPEN + getValue(c, "/originalAuthor/date") + FONT_TD_TR_CLOSE);
    sb.append(TR_TD_FONT_OPEN + "<b>" + CDSLanguageManager.getMessage("AuthorshipLyfecycle") + ":</b>"
            + TD_FONT_CLOSE_TD_FONT_OPEN + getValue(c, "/lifecycleState") + FONT_TD_TR_CLOSE);
    sb.append(TR_TD_FONT_OPEN + "<b>" + CDSLanguageManager.getMessage("Copyright") + ":</b>"
            + TD_FONT_CLOSE_TD_FONT_OPEN + getValue(c, "/details/" + lang + "/copyright") + FONT_TD_TR_CLOSE);
    sb.append("</font></table>");

    List<String> keywords = (List<String>) c.getValue("/details/" + lang + "/keywords");
    if (keywords != null && !keywords.isEmpty()) {
        sb.append(getBoxWithTitleStart(CDSLanguageManager.getMessage("Keywords")));

        sb.append("<font face='Calibri'><i>");
        boolean first = true;
        for (String keyword : keywords) {
            keyword = keyword.replace("\\\"", "\"");
            if (!first) {
                sb.append(", ");
            }//ww w.j  av a  2  s  .c  o  m
            sb.append(keyword);
            first = false;
        }
        sb.append("</i></font><br>");
    }

    List<String> contributors = (List<String>) c.getValue("/otherContributors");
    if (!contributors.isEmpty()) {
        sb.append(getBoxWithTitleStart(CDSLanguageManager.getMessage("Contributors")));
        boolean first = true;
        sb.append("<font face='Calibri'><i>");
        for (String contributor : contributors) {
            contributor = contributor.replace("\\\"", "\"");
            if (!first) {
                sb.append(", ");
            }
            sb.append(contributor);
            first = false;
        }
        sb.append("</i></font><br>");
    }

    ReadableGuide readableGuide = GuideImporter.importGuide(guide, lang);

    if (!readableGuide.getPreconditionRuleLines().isEmpty()) {
        sb.append(getBoxWithTitleStart(CDSLanguageManager.getMessage("Preconditions")));
        sb.append("<table width=100%>");
        for (RuleLine ruleLine : readableGuide.getPreconditionRuleLines()) {
            sb.append(TR_TD_FONT_OPEN_WITH_BG);
            sb.append(ruleLine.toHTMLString());
            sb.append(FONT_TD_TR_CLOSE);
        }
        sb.append("</table><br>");
    }

    if (!readableGuide.getReadableRules().isEmpty()) {
        sb.append(getBoxWithTitleStart(CDSLanguageManager.getMessage("RuleList")));
        sb.append("<table width=100%>");
        for (ReadableRule readableRule : readableGuide.getReadableRules().values()) {
            sb.append(TR_TD_FONT_OPEN_WITH_BG);
            sb.append(readableRule);
            sb.append("</font></tr><tr><td></td></tr>");
        }
        sb.append("</table>");
    }
    sb.append("</HTML>");
    return sb.toString();
}

From source file:terrastore.store.conditions.JXPathCondition.java

@Override
public boolean isSatisfied(String key, Map<String, Object> value, String expression) {
    JXPathContext context = JXPathContext.newContext(value);
    context.setLenient(true);/*  ww w.  j a  v  a2  s.c o m*/
    List selection = context.selectNodes(expression);
    return selection != null && selection.size() > 0;
}