The following code sample executes an XML script:
package com.sap.portal.testing.gc; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import java.util.List; import com.sap.portal.genericcreator.GenericCreatorParams; import com.sap.portal.genericcreator.GenericCreatorResult; import com.sap.portal.genericcreator.IGenericCreator; import com.sap.portal.genericcreator.IGenericCreatorGatewayService; import com.sap.portal.genericcreator.IGenericCreatorResults; import com.sap.portal.ivs.genericcreator.Reporter; import com.sapportals.portal.prt.component.AbstractPortalComponent; import com.sapportals.portal.prt.component.IPortalComponentRequest; import com.sapportals.portal.prt.component.IPortalComponentResponse; import com.sapportals.portal.prt.runtime.PortalRuntime; public class GCReporterThreadTest extends AbstractPortalComponent { public void doContent(IPortalComponentRequest request, IPortalComponentResponse response) { testGenericCreatorAPI(request,response); } // Main routine public void testGenericCreatorAPI(IPortalComponentRequest request, IPortalComponentResponse response) { // Get service IGenericCreatorGatewayService gwService = (IGenericCreatorGatewayService)PortalRuntime .getRuntimeResources().getService( IGenericCreatorGatewayService.KEY); IGenericCreator genericCreator = gwService.getGenericCreator(); // Set user and XML GenericCreatorParams gcParams = new GenericCreatorParams(request.getUser(),getGCString()); // Execute script IGenericCreatorResults gcResults = genericCreator.generate(gcParams); GenericCreatorResult res = gcResults.getResult(); // Print results response.write("succeeded? -> " + res.equals(GenericCreatorResult.SUCCESS) + "<br>"); printNodes(response,"Parsed",gcResults.getParsedNodes()); printNodes(response,"Validation Failed",gcResults.getValidationFailedNodes()); printNodes(response,"Executed",gcResults.getExecutedNodes()); printNodes(response,"Ignored",gcResults.getIgnoredNodes()); printNodes(response,"Succeeded",gcResults.getSucceededNodes()); printNodes(response,"Failed",gcResults.getFailedNodes()); response.write(gcResults.getReport()); } // Print routine (prints results) private static void printNodes(IPortalComponentResponse response, String type,Enumeration enum) { response.write(type + " Nodes<br>"); while (enum.hasMoreElements()) { response.write((String)enum.nextElement() + "<br>"); } response.write("<br>"); } // Creates XML script private static String getGCString() { StringBuffer sb = new StringBuffer("<GenericCreator author="SAP" version="Testing" mode="clean,execute" report.level="success" createMode="1" default.locale="en" ignore="false">"); sb.append("<Context parent="portal_content" name="test_folder" objectClass="com.sap.portal.pcd.gl.GlContext" title="Test folder">"); sb.append("</Context></GenericCreator>"); return sb.toString(); } }