XQSequenceType xqType = null; if (value instanceof Long) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_LONG); } else if (value instanceof String) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_STRING); } else if (value instanceof Boolean) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_BOOLEAN); } else if (value instanceof Date) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_DATETIME); } else if (value instanceof BigDecimal) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_DECIMAL); } else if (value instanceof Float) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_FLOAT); } else if (value instanceof URI) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_ANYURI); } else if (value instanceof QName) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_QNAME); } else if (value instanceof BigInteger) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_INT); } else if (value instanceof Integer) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_INTEGER); } else if (value instanceof Double) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_DOUBLE); } else if (value instanceof Byte) { xqType = xqconn.createAtomicType(XQItemType.XQBASETYPE_BYTE); } else if (value instanceof Node) { xqType = xqconn.createNodeType();
/** * Removes any parameter bindings from the transformer, replacing them with empty strings * * @param transformer the transformer to remove properties from */ protected void unbindParameters(XQPreparedExpression transformer) throws XQException { // Replace transformation parameters with null values if (contextProperties != null) { for (Map.Entry<String, Object> parameter: contextProperties.entrySet()) { String key = parameter.getKey(); transformer.bindAtomicValue(new QName(key), "", connection.createAtomicType(XQItemType.XQBASETYPE_STRING)); } } }
public void removeSecCommand(long docId) throws XQException { XQExpression xqe = xqc.createExpression(); xqe.bindLong(new QName("docId"), docId, xqc.createAtomicType(XQItemType.XQBASETYPE_LONG)); xqe.executeCommand("removeDocument($docId)"); xqe.close(); } /*
transformer.bindAtomicValue(paramKey, o.toString(), connection.createAtomicType(XQItemType.XQBASETYPE_STRING)); transformer.bindBoolean(paramKey, ((Boolean) o).booleanValue(), connection.createAtomicType(XQItemType.XQBASETYPE_BOOLEAN)); transformer.bindByte(paramKey, ((Byte) o).byteValue(), connection.createAtomicType(XQItemType.XQBASETYPE_BYTE)); transformer.bindShort(paramKey, ((Short) o).shortValue(), connection.createAtomicType(XQItemType.XQBASETYPE_SHORT)); transformer.bindInt(paramKey, ((Integer) o).intValue(), connection.createAtomicType(XQItemType.XQBASETYPE_INT)); transformer.bindLong(paramKey, ((Long) o).longValue(), connection.createAtomicType(XQItemType.XQBASETYPE_LONG)); transformer.bindFloat(paramKey, ((Float) o).floatValue(), connection.createAtomicType(XQItemType.XQBASETYPE_FLOAT)); transformer.bindDouble(paramKey, ((Double) o).doubleValue(), connection.createAtomicType(XQItemType.XQBASETYPE_DOUBLE));
public void removeSecCommand(long docId) throws XQException { XQExpression xqe = xqc.createExpression(); xqe.bindLong(new QName("docId"), docId, xqc.createAtomicType(XQItemType.XQBASETYPE_LONG)); xqe.executeCommand("removeDocument($docId)"); xqe.close(); } /*
QName typeName = new QName(xs_ns, "decimal", xs_prefix); int baseType = getBaseTypeForTypeName(typeName); XQItemType type = xqc.createAtomicType(baseType, typeName, null);
public void storeSecCommand() throws XQException { String dName = "..\\..\\etc\\samples\\tpox\\"; String xml; try { xml = readTextFile(dName + "security5621.xml"); } catch (IOException ex) { throw new XQException(ex.getMessage()); } XQExpression xqe = xqc.createExpression(); xqe.bindString(new QName("doc"), xml, xqc.createAtomicType(XQItemType.XQBASETYPE_STRING)); xqe.executeCommand("storeDocument($doc)"); // todo: get XDMDocument back somehow.. // XDMDocument doc = (XDMDocument) ... xqe.close(); }
private void bindParams(Map<String, Parameter> params, XQDynamicContext xqe) throws XQException { for (Map.Entry<String, Parameter> e: params.entrySet()) { Parameter param = e.getValue(); //if ("properties".equals(param.getType())) { // create and bind sequence with properties // Properties props; // try { // props = propsFromString(param.getName()); // } catch (IOException ex) { // logger.warn("bindParams.error; " + ex, ex); // continue; // } //XQItemType type = getConnection().createAtomicType(baseType, typeName, null); //XQSequence seq = getConnection().createSequence((java.util.Iterator) null); //xqe.bindSequence(new QName(e.getKey()), seq); // XQSequenceType type = getConnection().createSequenceType(getConnection().createItemType(), XQSequenceType.OCC_ZERO_OR_MORE); //getConnection().createSequenceType( // getConnection().createAtomicType(XQItemType.XQBASETYPE_STRING), XQSequenceType.OCC_ZERO_OR_MORE), XQSequenceType.OCC_ZERO_OR_MORE); //xqe.bindObject(new QName(e.getKey()), props, type); //} else { QName typeName = new QName(xs_ns, param.getType(), xs_prefix); int baseType = getBaseTypeForTypeName(typeName); XQItemType type = getConnection().createAtomicType(baseType, typeName, null); //xqe.bindAtomicValue(new QName(e.getKey()), param.getName(), type); xqe.bindObject(new QName(e.getKey()), getAtomicValue(baseType, param.getName()), type); //} } }
@Override public String readDocument(String uri) throws XQException { String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" + "declare variable $uri external;\n" + "let $doc := bgdb:get-document-content($uri)\n" + "return $doc\n"; XQPreparedExpression xqpe = xqConn.prepareExpression(query); xqpe.bindString(new QName("uri"), uri, xqConn.createAtomicType(XQItemType.XQBASETYPE_ANYURI)); XQResultSequence xqs = xqpe.executeQuery(); String result = null; if (xqs.next()) { result = xqs.getItemAsString(null); } return result; }
public void storeSecCommand() throws XQException { String dName = "..\\..\\etc\\samples\\tpox\\"; String xml; try { xml = readTextFile(dName + "security5621.xml"); } catch (IOException ex) { throw new XQException(ex.getMessage()); } XQExpression xqe = xqc.createExpression(); xqe.bindString(new QName("doc"), xml, xqc.createAtomicType(XQItemType.XQBASETYPE_STRING)); xqe.executeCommand("storeDocument($doc)"); // todo: get XDMDocument back somehow.. // XDMDocument doc = (XDMDocument) ... xqe.close(); }
xqpe.bindString(new QName("uri"), uri, xqConn.createAtomicType(XQItemType.XQBASETYPE_ANYURI)); xqpe.bindString(new QName("xml"), content, xqConn.createAtomicType(XQItemType.XQBASETYPE_STRING));
xqpe.bindString(new QName("uri"), "65538.xml", xqc.createAtomicType(XQItemType.XQBASETYPE_ANYURI)); xqpe.bindString(new QName("xml"), xml, xqc.createAtomicType(XQItemType.XQBASETYPE_STRING)); List<String> props = new ArrayList<>(4); props.add(pn_document_data_format + "=xml");
@Override public void deleteDocument(String uri) throws XQException { String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" + "declare variable $uri external;\n" + "let $uri := bgdb:remove-document($uri)\n" + "return $uri\n"; XQPreparedExpression xqpe = xqConn.prepareExpression(query); xqpe.bindString(new QName("uri"), uri, xqConn.createAtomicType(XQItemType.XQBASETYPE_ANYURI)); XQSequence xqs = xqpe.executeQuery(); String result = null; try { if (xqs.next()) { result = xqs.getAtomicValue(); } if (!uri.equals(result)) { throw new XQException("got no result from bgdb:remove-document function"); } } finally { xqpe.close(); xqs.close(); } }
private long storeXmlDocument(String fileName) throws XQException { String dName = "..\\..\\etc\\samples\\tpox\\"; String xml; try { xml = readTextFile(dName + fileName); } catch (IOException ex) { throw new XQException(ex.getMessage()); } String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" + "declare variable $sec external;\n\n" + //"return bgdb:store-document($sec)\n"; "for $id in bgdb:store-document($sec)\n" + "return $id\n"; XQPreparedExpression xqpe = xqc.prepareExpression(query); xqpe.bindString(new QName("sec"), xml, xqc.createAtomicType(XQItemType.XQBASETYPE_STRING)); XQSequence xqs = xqpe.executeQuery(); if (xqs.next()) { long result = xqs.getLong(); xqpe.close(); return result; } else { xqpe.close(); throw new XQException("no response from store-document function"); } }
if (value.getClass().getName().startsWith("java.lang")) { exp.bindAtomicValue(variable, value.toString(), xqconn.createAtomicType(XQItemType.XQBASETYPE_ANYATOMICTYPE)); } else if (value instanceof Node) { exp.bindNode(variable, (Node) value, xqconn.createNodeType());