@Test public void testJavascriptRestTransformAdapter() throws Exception{ ServerTransform transform = new ServerTransform(MLCP_TRANSFORM_ADAPTER) .addParameter("ml.module", "/ext/RestTransformAdapter.xqy") .addParameter("ml.namespace", "http://marklogic.com/mlcp/transform/RestTransformAdapter.xqy") .addParameter("ml.transform", JS_NAME) .addParameter("value", "true"); runTransform(transform); }
/** * Merges the transform and its parameters with other parameters * of the request. * * Ordinarily, and application does not need to call this method. * @param currentParams the other parameters * @return the union of the other parameters and the transform parameters */ public Map<String,List<String>> merge(Map<String,List<String>> currentParams) { Map<String,List<String>> params = (currentParams != null) ? currentParams : new RequestParameters(); params.put("transform", Arrays.asList(getName())); for (Map.Entry<String, List<String>> entry: entrySet()) { params.put("trans:"+entry.getKey(), entry.getValue()); } return params; } }
protected RequestParameters mergeTransformParameters(ServerTransform transform, RequestParameters extraParams) { if (transform == null) return extraParams; if (extraParams == null) extraParams = new RequestParameters(); transform.merge(extraParams); return extraParams; }
void addParams() { String directory = queryDef.getDirectory(); if (directory != null) { params.add("directory", directory); } params.add("collection", queryDef.getCollections()); String optionsName = queryDef.getOptionsName(); if (optionsName != null && optionsName.length() > 0) { params.add("options", optionsName); } ServerTransform transform = queryDef.getResponseTransform(); if (transform != null) { if (responseTransform != null) { if ( ! transform.getName().equals(responseTransform.getName()) ) { throw new IllegalStateException("QueryDefinition transform and DocumentManager transform have different names (" + transform.getName() + ", " + responseTransform.getName() + ")"); } logger.warn("QueryDefinition and DocumentManager both specify a ServerTransform--using params from QueryDefinition"); } transform.merge(params); } else if (responseTransform != null) { responseTransform.merge(params); } if (transaction != null) { params.add("txid", transaction.getTransactionId()); } }
@Test public void testXQueryTransform() throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException, ResourceNotResendableException { runTransform(new ServerTransform(TransformExtensionsTest.XQUERY_NAME)); }
FileHandle transformHandle = new FileHandle(transformFile); transMgr.writeXQueryTransform("add-attr-xquery-transform", transformHandle, metadata); ServerTransform transform = new ServerTransform("add-attr-xquery-transform"); transform.put("name", "Land"); transform.put("value", "USA"); int count = 1; ServerTransform transformRd = new ServerTransform("add-attr-xquery-transform"); transformRd.put("name", "Place"); transformRd.put("value", "England"); ServerTransform transformRd1 = new ServerTransform("add-attr-xquery-transform"); transformRd1.put("name", "Country"); transformRd1.put("value", "GB"); ServerTransform transformSrch = new ServerTransform("add-attr-xquery-transform"); transformSrch.put("name", "Domicile"); transformSrch.put("value", "USA"); ServerTransform transformOnQdef = new ServerTransform("add-attr-xquery-transform"); transformOnQdef.put("name", "Continent"); transformOnQdef.put("value", "North America"); FileHandle transformHandle2 = new FileHandle(transformFile2); transMgr2.writeXQueryTransform("add-element-xquery-transform", transformHandle2, metadata2); ServerTransform transform2 = new ServerTransform("add-element-xquery-transform"); transform2.put("name", "Planet"); transform2.put("value", "Earth");
private void runTransform(ServerTransform transform) throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException { transform.put("value", "true");
/** * Appends a value to the list for a parameter and returns this instance for * method chaining. * @param name the parameter * @param value the value to add to the list * @return this instance (for method chaining) */ public ServerTransform addParameter(String name, String value) { add(name, value); return this; }
@Test public void testXSLTransform() throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException, ResourceNotResendableException { runTransform(new ServerTransform(TransformExtensionsTest.XSLT_NAME)); }
FileHandle transformHandle = new FileHandle(transformFile); transMgr.writeXQueryTransform("add-attr-xquery-transform", transformHandle, metadata); ServerTransform transform = new ServerTransform("add-attr-xquery-transform"); transform.put("name", "Lang"); transform.put("value", "English"); int count = 1; XMLDocumentManager docMgr = client.newXMLDocumentManager();
@Test public void testXQueryRestTransformAdapter() throws Exception{ ServerTransform transform = new ServerTransform(MLCP_TRANSFORM_ADAPTER) .addParameter("ml.module", "/ext/RestTransformAdapter.xqy") .addParameter("ml.namespace", "http://marklogic.com/mlcp/transform/RestTransformAdapter.xqy") .addParameter("ml.transform", TransformExtensionsTest.XQUERY_NAME) .addParameter("value", "true"); runTransform(transform); }
@Test public void testJavascriptTransform() throws Exception{ runTransform(new ServerTransform(JS_NAME)); }
FileHandle transformHandle = new FileHandle(transformFile); transMgr.writeXQueryTransform("add-attr-xquery-transform", transformHandle, metadata); ServerTransform transform = new ServerTransform("add-attr-xquery-transform"); transform.put("name", "Lang"); transform.put("value", "testBulkXQYTransformWithTrans"); int count = 1; XMLDocumentManager docMgr = client.newXMLDocumentManager();
protected RequestParameters mergeTransformParameters( ServerTransform transform, RequestParameters extraParams) { if (transform == null) return extraParams; if (extraParams == null) extraParams = new RequestParameters(); transform.merge(extraParams); return extraParams; }
/** * Merges the transform and its parameters with other parameters * of the request. * * Ordinarily, and application does not need to call this method. * @param currentParams the other parameters * @return the union of the other parameters and the transform parameters */ public Map<String,List<String>> merge(Map<String,List<String>> currentParams) { Map<String,List<String>> params = (currentParams != null) ? currentParams : new RequestParameters(); params.put("transform", Arrays.asList(getName())); for (Map.Entry<String, List<String>> entry: entrySet()) { params.put("trans:"+entry.getKey(), entry.getValue()); } return params; } }
@Test public void testXQueryMlcpTransformAdapter() throws Exception{ String transformContents = Common.testFileToString("SampleMlcpTransform.xqy"); libMgr.write("/ext/SampleMlcpTransform.xqy", new StringHandle(transformContents).withFormat(Format.TEXT)); ServerTransform transform = new ServerTransform(MLCP_TRANSFORM_ADAPTER) .addParameter("ml.module", "/ext/SampleMlcpTransform.xqy") .addParameter("ml.namespace", "http://marklogic.com/example") .addParameter("attr-value", "true"); runTransform(transform); libMgr.delete("/ext/SampleMlcpTransform.xqy"); }
public ExportToZipJob() { super(); addRequiredJobProperty("exportPath", "The path of the zip file to which selected records are exported", value -> setExportFile(new File(value))); addJobProperty("flattenUri", "Whether or not record URIs are flattened before being used as zip entry names; defaults to false", value -> getWriteToZipConsumer().setFlattenUri(Boolean.parseBoolean(value))); addJobProperty("transform", "The name of a REST transform to apply to each record before it is written to the zip file", value -> getExportListener().withTransform(new ServerTransform(value))); addJobProperty("uriPrefix", "Prefix to prepend to each URI it is used as an entry name; applied after a URI is optionally flattened", value -> getWriteToZipConsumer().setUriPrefix(value)); }
FileHandle transformHandle = new FileHandle(transformFile); transMgr.writeXQueryTransform("add-attr-xquery-transform", transformHandle, metadata); ServerTransform transform = new ServerTransform("add-attr-xquery-transform"); transform.put("name", "Lang"); transform.put("value", "English"); int count = 1; XMLDocumentManager docMgr = client.newXMLDocumentManager();
transform.merge(params);
@Test public void testJavascriptMlcpTransformAdapter() throws Exception{ String transformContents = Common.testFileToString("SampleMlcpTransform.sjs"); libMgr.write("/ext/SampleMlcpTransform.sjs", new StringHandle(transformContents).withFormat(Format.TEXT)); ServerTransform transform = new ServerTransform(MLCP_TRANSFORM_ADAPTER) .addParameter("ml.module", "/ext/SampleMlcpTransform.sjs") .addParameter("attr-value", "true"); runTransform(transform); libMgr.delete("/ext/SampleMlcpTransform.sjs"); }