static ExtensionMetadata makeXQueryMetadata() { ExtensionMetadata metadata = new ExtensionMetadata(); metadata.setTitle("Document XQuery Transform"); metadata.setDescription("This plugin adds an attribute to the root element"); metadata.setProvider("MarkLogic"); metadata.setVersion("0.1"); return metadata; }
(metadata != null) ? metadata.asParameters() : new RequestParameters(); if (methodParams != null) { for (MethodParameters params : methodParams) { } else if ( metadata.getScriptLanguage() == null ) { throw new IllegalArgumentException("scriptLanguage cannot be null"); } else if ( metadata.getScriptLanguage() == ScriptLanguage.JAVASCRIPT ) { contentType = "application/vnd.marklogic-javascript"; } else if ( metadata.getScriptLanguage() == ScriptLanguage.XQUERY ) { contentType = "application/xquery";
String metadataFile = metadataPath + "metadata/" + filename + ".xml"; ExtensionMetadata m = new ExtensionMetadata(); List<MethodParameters> paramList = new ArrayList<>(); m.setScriptLanguage(ScriptLanguage.JAVASCRIPT); m.setVersion("1.0"); try { Element root = new SAXBuilder().build(metadataResource.getInputStream()).getRootElement(); m.setTitle(root.getChildText("title")); Element desc = root.getChild("description"); if (desc.getChildren() != null && desc.getChildren().size() == 1) { m.setDescription(new XMLOutputter().outputString(desc.getChildren().get(0))); } else { m.setDescription(desc.getText());
/** * * @param r * @param metadata * @param methodParams * @return */ public Resource installService(Resource r, final ExtensionMetadata metadata, final MethodParameters... methodParams) { if (!hasFileBeenModified(r) || ignoreResource(r)) { return null; } final ResourceExtensionsManager extMgr = client.newServerConfigManager().newResourceExtensionsManager(); final String resourceName = getExtensionNameFromFile(r); if (metadata.getTitle() == null) { metadata.setTitle(resourceName + " resource extension"); } logger.info(String.format("Loading %s resource extension from file %s", resourceName, r.getFilename())); StringHandle h = new StringHandle(readAndReplaceTokens(r)); executeTask(() -> extMgr.writeServices(resourceName, h, metadata, methodParams)); updateTimestamp(r); return r; }
private void setDefaults(ExtensionMetadata metadata, Resource resourceFile) { metadata.setTitle(getFilenameMinusExtension(resourceFile)); } }
private void writeTransform( String transformName, String sourceMimetype, AbstractWriteHandle sourceHandle, ExtensionMetadata metadata) throws ResourceNotFoundException, ResourceNotResendableException, ForbiddenUserException, FailedRequestException { if (transformName == null) throw new IllegalArgumentException("Writing transform with null name"); if (sourceHandle == null) throw new IllegalArgumentException("Writing transform source with null handle"); if (logger.isInfoEnabled()) logger.info("Writing transform source for {}", transformName); HandleImplementation sourceBase = HandleAccessor.checkHandle(sourceHandle, "transform"); Format sourceFormat = sourceBase.getFormat(); if ("application/xquery".equals(sourceMimetype)) { if (Format.TEXT != sourceFormat) sourceBase.setFormat(Format.TEXT); } else if ("application/xslt+xml".equals(sourceMimetype)) { if (Format.XML != sourceFormat) sourceBase.setFormat(Format.XML); } else if ("application/javascript".equals(sourceMimetype)) { if (Format.JSON != sourceFormat) sourceBase.setFormat(Format.JSON); } else { throw new MarkLogicInternalException( "Unsupported mimetype for source: "+sourceMimetype); } if (!sourceMimetype.equals(sourceBase.getMimetype())) sourceBase.setMimetype(sourceMimetype); RequestParameters extraParams = (metadata != null) ? metadata.asParameters() : null; services.putValue(requestLogger, "config/transforms", transformName, extraParams, sourceMimetype, sourceBase); }
@Before public void setUp() throws KeyManagementException, NoSuchAlgorithmException, Exception { int restPort = getRestServerPort(); String appServerHostname = getRestAppServerHostName(); client = getDatabaseClientOnDatabase(appServerHostname, restPort, dbName, "eval-user", "x", getConnType()); resourceMgr = client.newServerConfigManager().newResourceExtensionsManager(); ExtensionMetadata resextMetadata = new ExtensionMetadata(); resextMetadata.setTitle("BasicJSTest"); resextMetadata.setDescription("Testing resource extension for java script"); System.out.println(resextMetadata.getScriptLanguage()); resextMetadata.setScriptLanguage(ScriptLanguage.JAVASCRIPT); System.out.println(resextMetadata.getScriptLanguage()); resextMetadata.setVersion("1.0"); MethodParameters getParams = new MethodParameters(MethodType.GET); getParams.add("my-uri", "xs:string?"); FileInputStream myStream = new FileInputStream("src/test/java/com/marklogic/client/functionaltest/data/JSResource.js"); InputStreamHandle handle = new InputStreamHandle(myStream); handle.set(myStream); resourceMgr.writeServices("simpleJSResourceModule", handle, resextMetadata, getParams); }
sourceBase.setMimetype(sourceMimetype); RequestParameters extraParams = (metadata != null) ? metadata.asParameters() : null; if (paramTypes != null) { if (extraParams == null)
static ExtensionMetadata makeMetadata() { ExtensionMetadata metadata = new ExtensionMetadata(); metadata.setTitle("Test Resource Services"); metadata.setDescription("This library supports all methods on the test resource"); metadata.setProvider("MarkLogic"); metadata.setVersion("0.1"); return metadata; }
@Override public void writeServices( String resourceName, TextWriteHandle sourceHandle, ExtensionMetadata metadata, MethodParameters... methodParams ) { if (resourceName == null) throw new IllegalArgumentException("Writing resource services with null name"); if (logger.isInfoEnabled()) logger.info("Writing resource services source for {}", resourceName); HandleImplementation sourceBase = HandleAccessor.checkHandle(sourceHandle, "resource"); RequestParameters extraParams = (metadata != null) ? metadata.asParameters() : new RequestParameters(); if (methodParams != null) { for (MethodParameters params : methodParams) { String method = params.getMethod().toString().toLowerCase(); extraParams.add("method", method); String prefix = method+":"; for (Map.Entry<String,List<String>> entry: params.entrySet()) { extraParams.put(prefix+entry.getKey(), entry.getValue()); } } } services.putValue(requestLogger, "config/resources", resourceName, extraParams, "application/xquery", sourceBase); }
static ExtensionMetadata makeXSLTMetadata() { ExtensionMetadata metadata = new ExtensionMetadata(); metadata.setTitle("Document XSLT Transform"); metadata.setDescription("This plugin adds an attribute to the root element"); metadata.setProvider("MarkLogic"); metadata.setVersion("0.1"); return metadata; }
ExtensionMetadata metadata = new ExtensionMetadata(); metadata.setTitle("Search-Response-TO-HTML XSLT Transform"); metadata.setDescription("This plugin transforms a Search Response document to HTML"); metadata.setProvider("MarkLogic"); metadata.setVersion("0.1");
ExtensionMetadata metadata = new ExtensionMetadata(); metadata.setTitle("Search-Response-TO-HTML XSLT Transform"); metadata.setDescription("This plugin transforms a Search Response document to HTML"); metadata.setProvider("MarkLogic"); metadata.setVersion("0.1");
ExtensionMetadata metadata = new ExtensionMetadata(); metadata.setTitle("Adding attribute xquery Transform"); metadata.setDescription("This plugin transforms an XML document by adding attribute to root node"); metadata.setProvider("MarkLogic"); metadata.setVersion("0.1");
ExtensionMetadata metadata = new ExtensionMetadata(); metadata.setTitle("Adding attribute xquery Transform"); metadata.setDescription("This plugin transforms an XML document by adding attribute to root node"); metadata.setProvider("MarkLogic"); metadata.setVersion("0.1");
client.newServerConfigManager().newTransformExtensionsManager(); Transaction tRollback = client.openTransaction(); ExtensionMetadata metadata = new ExtensionMetadata(); metadata.setTitle("Adding attribute xquery Transform"); metadata.setDescription("This plugin transforms an XML document by adding attribute to root node"); metadata.setProvider("MarkLogic"); metadata.setVersion("0.1");
client.newServerConfigManager().newTransformExtensionsManager(); Transaction tRollback = client.openTransaction(); ExtensionMetadata metadata = new ExtensionMetadata(); metadata.setTitle("Adding attribute xquery Transform"); metadata.setDescription("This plugin transforms an XML document by adding attribute to root node"); metadata.setProvider("MarkLogic"); metadata.setVersion("0.1");
client.newServerConfigManager().newTransformExtensionsManager(); Transaction tRollback = client.openTransaction(); ExtensionMetadata metadata = new ExtensionMetadata(); metadata.setTitle("Adding attribute xquery Transform"); metadata.setDescription("This plugin transforms an XML document by adding attribute to root node"); metadata.setProvider("MarkLogic"); metadata.setVersion("0.1");
ExtensionMetadata metadata = new ExtensionMetadata(); metadata.setTitle("Adding attribute xquery Transform"); metadata.setDescription("This plugin transforms an XML document by adding attribute to root node"); metadata.setProvider("MarkLogic"); metadata.setVersion("0.1"); try { TransformExtensionsManager transMgr2 = client.newServerConfigManager().newTransformExtensionsManager(); ExtensionMetadata metadata2 = new ExtensionMetadata(); metadata2.setTitle("Adding new element xquery Transform"); metadata2.setDescription("This plugin transforms an XML document by adding new element to root node"); metadata2.setProvider("MarkLogic"); metadata2.setVersion("0.1");