Show TOC

ExampleLocate this document in the navigation structure

Use

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();
    }
}