@Override public boolean equals(Object obj) { if (obj instanceof XdmVariable) { XdmVariable var = (XdmVariable)obj; return name.equals(var.getName()); } return false; }
private static String generateQName(Map<String,String> tmpQNames, XName arg) { String ns = (arg.getNamespace() == null) ? "" : arg.getNamespace(); if (ns.length() == 0) { return (arg.getLocalname()); } return ("" + tmpQNames.get(ns) + ":" + arg.getLocalname()); } }
@Override public int hashCode() { return name.hashCode(); } }
optionsVals = new XdmValue[counts.length][batchSize]; optionsMap = new HashMap<String, String>(); uriName = new XName("URI"); contentName = new XName("CONTENT"); optionsName = new XName("INSERT-OPTIONS"); query = constructQryString(moduleUri, functionNs, functionName, functionParam, effectiveVersion, hasOpt); if (hasOpt) { transOptName = new XName("TRANSFORM-OPTION"); transOpt = constructTransformOption(conf, functionParam, functionNs);
private void encodeQueryVariables(StringBuffer sb, Logger logger) { XdmVariable[] vars = getVariables(); for (int i = 0; i < vars.length; i++) { XdmVariable var = vars[i]; XName xname = var.getName(); XdmValue value = var.getValue(); sb.append("&evn").append(i).append("="); if (xname.getNamespace() != null) { sb.append(xname.getNamespace()); } sb.append("&evl").append(i).append("=").append(xname.getLocalname()); sb.append("&evt").append(i).append("="); IOHelper.urlEncodeToStringBuffer(sb, value.getValueType().toString()); sb.append("&evv").append(i).append("="); IOHelper.urlEncodeToStringBuffer(sb, value.asString()); // TODO: Test this output if (logger.isLoggable(Level.FINEST)) { logger.finest(" ev" + i + ": " + xname.toString() + "(" + value.getValueType() + ") " + value.toString()); } } }
private Map<String,String> generateQNameMap(XdmVariable[] vars) { Map<String,String> map = new LinkedHashMap<String,String>(); for (int i = 0; i < vars.length; i++) { XdmVariable var = vars[i]; XName varName = var.getName(); String ns = varName.getNamespace(); if (ns == null) { continue; } if (map.get(ns) == null) { map.put(ns, "tmpq" + i); } } return (map); }
String name = variable.getName().getLocalname(); String value = variable.getValue().asString();
public XdmVariable setNewVariable(String namespace, String localname, ValueType type, Object value) { return setNewVariable(new XName(namespace, localname), ValueFactory.newValue(type, value)); }
ValueFactory.newVariable(new XName(name), ValueFactory.newXSString(value));
public void setNewVariables(String namespace, String localname, ValueType type, Object[] values) { XName name = new XName(namespace, localname); clearVariables(name); if (values.length + getVariableCount() > VAR_LIMIT) { throw new IllegalArgumentException("Cannot exceed " + VAR_LIMIT + " external variables"); } XdmVariable[] vars = new XdmVariable[values.length]; for (int i = 0; i < vars.length; i++) { vars[i] = ValueFactory.newVariable(name, ValueFactory.newValue(type, values[i])); } if (vars.length == 0) { vars = new XdmVariable[1]; vars[0] = ValueFactory.newVariable(name, ValueFactory.newJSNull()); } variables.put(name, vars); }
public void setNewVariables(String localname, ValueType type, Object[] values) { XName name = new XName(null, localname); clearVariables(name); if (values.length + getVariableCount() > VAR_LIMIT) { throw new IllegalArgumentException("Cannot exceed " + VAR_LIMIT + " external variables"); } XdmVariable[] vars = new XdmVariable[values.length]; for (int i = 0; i < vars.length; i++) { vars[i] = ValueFactory.newVariable(name, ValueFactory.newValue(type, values[i])); } if (vars.length == 0) { vars = new XdmVariable[1]; vars[0] = ValueFactory.newVariable(name, ValueFactory.newJSNull()); } variables.put(name, vars); }
private void bindParams(Map<String, Parameter> params, Request request) { //throws RequestException { for (Map.Entry<String, Parameter> e: params.entrySet()) { XName name = new XName(e.getKey()); XdmValue value; switch (e.getValue().getType()) {
@Override public void write(KEYOUT key, VALUEOUT value) throws IOException, InterruptedException { Session session = getSession(); try { AdhocQuery request = session.newAdhocQuery(statement); if (queryLanguage != null) { RequestOptions options = new RequestOptions(); options.setQueryLanguage(queryLanguage); request.setOptions(options); } request.setNewVariable(new XName(MR_NAMESPACE, OUTPUT_KEY_VARNAME), InternalUtilities.newValue(keyType, key)); request.setNewVariable(new XName(MR_NAMESPACE, OUTPUT_VALUE_VARNAME), InternalUtilities.newValue(valueType, value)); session.submitRequest(request); commitIfNecessary(); } catch (RequestException e) { LOG.error(e); LOG.error(statement); throw new IOException(e); } } }