4545import com .marklogic .client .query .ValuesDefinition ;
4646
4747public class TransformTest {
48+ final static public String MLCP_TRANSFORM_ADAPTER = "MlcpTransformAdapter.xqy" ;
4849 final static public String TEST_NS =
4950 "http://marklogic.com/rest-api/test/transform" ;
5051
5152 static private String xqueryTransform ;
5253 static private String xslTransform ;
5354 static private String optionsName ;
55+ static private ServerConfigurationManager confMgr ;
56+ static private TransformExtensionsManager extensionMgr ;
57+
5458
5559 @ BeforeClass
5660 public static void beforeClass ()
5761 throws IOException , FailedRequestException , ForbiddenUserException , ResourceNotFoundException , ResourceNotResendableException {
5862 Common .connectAdmin ();
5963 //System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.wire", "debug");
64+ confMgr = Common .client .newServerConfigManager ();
65+
66+ extensionMgr = confMgr .newTransformExtensionsManager ();
6067 xqueryTransform = Common .testFileToString (TransformExtensionsTest .XQUERY_FILE );
6168 xslTransform = Common .testFileToString (TransformExtensionsTest .XSLT_FILE );
62- optionsName = ValuesHandleTest .makeValuesOptions ();
69+ optionsName = ValuesHandleTest .makeValuesOptions ();
70+ extensionMgr .writeXQueryTransform (
71+ TransformExtensionsTest .XQUERY_NAME ,
72+ new StringHandle ().withFormat (Format .TEXT ).with (xqueryTransform ),
73+ TransformExtensionsTest .makeXQueryMetadata ()
74+ );
75+
76+ extensionMgr .writeXQueryTransformAs (
77+ MLCP_TRANSFORM_ADAPTER ,
78+ TransformExtensionsTest .makeXQueryMetadata (),
79+ Common .testFileToString (MLCP_TRANSFORM_ADAPTER )
80+ );
6381 }
82+
6483 @ AfterClass
6584 public static void afterClass ()
6685 throws ResourceNotFoundException , ForbiddenUserException , FailedRequestException {
67- Common .client .newServerConfigManager ().newQueryOptionsManager ().deleteOptions (optionsName );
86+ confMgr .newQueryOptionsManager ().deleteOptions (optionsName );
87+ extensionMgr .deleteTransform (MLCP_TRANSFORM_ADAPTER );
88+ extensionMgr .deleteTransform (TransformExtensionsTest .XQUERY_NAME );
6889 Common .release ();
6990 xqueryTransform = null ;
7091 xslTransform = null ;
@@ -73,28 +94,12 @@ public static void afterClass()
7394 @ Test
7495 public void testXQueryTransform ()
7596 throws ResourceNotFoundException , ForbiddenUserException , FailedRequestException , ResourceNotResendableException {
76- ServerConfigurationManager confMgr =
77- Common .client .newServerConfigManager ();
78-
79- TransformExtensionsManager extensionMgr =
80- confMgr .newTransformExtensionsManager ();
81-
82- extensionMgr .writeXQueryTransform (
83- TransformExtensionsTest .XQUERY_NAME ,
84- new StringHandle ().withFormat (Format .TEXT ).with (xqueryTransform ),
85- TransformExtensionsTest .makeXQueryMetadata ()
86- );
87-
8897 runTransform (new ServerTransform (TransformExtensionsTest .XQUERY_NAME ));
89-
90- extensionMgr .deleteTransform (TransformExtensionsTest .XQUERY_NAME );
9198 }
99+
92100 @ Test
93101 public void testXSLTransform ()
94102 throws ResourceNotFoundException , ForbiddenUserException , FailedRequestException , ResourceNotResendableException {
95- TransformExtensionsManager extensionMgr =
96- Common .client .newServerConfigManager ().newTransformExtensionsManager ();
97-
98103 extensionMgr .writeXSLTransform (
99104 TransformExtensionsTest .XSLT_NAME ,
100105 new StringHandle ().with (xslTransform ),
@@ -105,32 +110,40 @@ public void testXSLTransform()
105110
106111 extensionMgr .deleteTransform (TransformExtensionsTest .XSLT_NAME );
107112 }
113+
108114 @ Test
109115 public void testXQueryMlcpTransformAdapter () throws Exception {
110- ServerConfigurationManager confMgr =
111- Common .client .newServerConfigManager ();
112-
113- TransformExtensionsManager extensionMgr =
114- confMgr .newTransformExtensionsManager ();
115-
116- extensionMgr .writeXQueryTransformAs (
117- "MlcpTransformAdapter.xqy" ,
118- TransformExtensionsTest .makeXQueryMetadata (),
119- Common .testFileToString ("MlcpTransformAdapter.xqy" )
120- );
121-
122116 ExtensionLibrariesManager libMgr = confMgr .newExtensionLibrariesManager ();
123117 String transformContents = Common .testFileToString ("MlcpTransform.xqy" );
124- libMgr .write ("/ext/MlcpTransform.xqy" , new StringHandle (transformContents ).withFormat (Format .TEXT ));
118+ libMgr .write ("/ext/MlcpTransform.xqy" ,
119+ new StringHandle (transformContents ).withFormat (Format .TEXT ));
125120
126- ServerTransform transform = new ServerTransform ("MlcpTransformAdapter.xqy" );
121+ ServerTransform transform = new ServerTransform (MLCP_TRANSFORM_ADAPTER );
127122 transform .add ("ml.module" , "/ext/MlcpTransform.xqy" );
128123 transform .add ("ml.namespace" , "http://marklogic.com/example" );
129124 transform .add ("attr-value" , "true" );
130125 runTransform (transform );
131126
132- extensionMgr .deleteTransform ("MlcpTransformAdapter.xqy" );
127+ libMgr .delete ("/ext/MlcpTransform.xqy" );
128+ }
129+
130+ @ Test
131+ public void testXQueryRestTransformAdapter () throws Exception {
132+ ExtensionLibrariesManager libMgr = confMgr .newExtensionLibrariesManager ();
133+ String transformContents = Common .testFileToString ("RestTransformAdapter.xqy" );
134+ libMgr .write ("/ext/RestTransformAdapter.xqy" ,
135+ new StringHandle (transformContents ).withFormat (Format .TEXT ));
136+
137+ ServerTransform transform = new ServerTransform (MLCP_TRANSFORM_ADAPTER );
138+ transform .add ("ml.module" , "/ext/RestTransformAdapter.xqy" );
139+ transform .add ("ml.namespace" , "http://marklogic.com/mlcp/transform/RestTransformAdapter.xqy" );
140+ transform .add ("ml.transform" , TransformExtensionsTest .XQUERY_NAME );
141+ transform .add ("value" , "true" );
142+ runTransform (transform );
143+
144+ libMgr .delete ("/ext/RestTransformAdapter.xqy" );
133145 }
146+
134147 private void runTransform (ServerTransform transform )
135148 throws ResourceNotFoundException , ForbiddenUserException , FailedRequestException {
136149 transform .put ("value" , "true" );
@@ -219,9 +232,6 @@ public void test118() {
219232 " </search:metrics>\n " +
220233 "</search:response>}\n " +
221234 "};" ;
222- TransformExtensionsManager extensionMgr =
223- Common .client .newServerConfigManager ().newTransformExtensionsManager ();
224-
225235 extensionMgr .writeXQueryTransform ( "test118" , new StringHandle ().with (naiveTransform ));
226236 QueryManager q = Common .client .newQueryManager ();
227237 StringQueryDefinition s = q .newStringDefinition ("" );
0 commit comments