예제 #1
0
  public static Query fromOM(OMElement queryElement) {
    Query query = new Query();
    String name =
        queryElement.getAttribute(new QName(CEPConstants.CEP_CONF_ATTR_NAME)).getAttributeValue();
    query.setName(name);

    Iterator iterator = queryElement.getChildrenWithName(new QName(CEPConstants.CEP_CONF_QUERY_IP));

    while (iterator != null && iterator.hasNext()) {
      OMElement ipElement = (OMElement) iterator.next();
      String ip = ipElement.getText();
      query.addIP(ip);
    }

    OMElement expressionElement =
        queryElement.getFirstChildWithName(
            new QName(CEPConstants.CEP_CONF_NAMESPACE, CEPConstants.CEP_CONF_ELE_EXPRESSION));
    if (expressionElement != null) {
      query.setExpression(ExpressionHelper.fromOM(expressionElement));
    }

    OMElement outputOmElement =
        queryElement.getFirstChildWithName(
            new QName(CEPConstants.CEP_CONF_NAMESPACE, CEPConstants.CEP_CONF_ELE_OUTPUT));
    if (expressionElement != null && outputOmElement != null) {
      query.setOutput(OutputHelper.fromOM(outputOmElement));
    }
    return query;
  }