I have a java helper class that I call from a workflow that returns a coma delmited string containing a list of UDA names. My problem is that this works sometimes and others it throws a null pointer exception.
Code for the class....
/*
* getUDAS.java
*
* Created on March 15, 2005, 11:59 AM
*/
package com.masonite.worksite.workflows.javahelpers;
import com.imanage.cms.t2.workflow.exceptions.WorkflowException;
import com.imanage.cms.t2.workflow.engine.javascripthelper.JavaScriptHelperBase;
import java.util.Collection;
import java.util.Map;
import java.lang.String;
import java.io.*;
import com.imanage.cms.api.workteam.*;
import com.imanage.cms.api.workteam.WorkflowNamedUdaAccessor;
/**
*
* @author Chris Bland
*/
public class getUDAS extends JavaScriptHelperBase{
protected Object doExecute(Object input) throws WorkflowException{
System.out.println("*****************************************");
System.out.println("* Starting getUDAS v0.1, by Chris Bland *");
System.out.println("*****************************************");
WorkflowProcess wp = null;
long pID = getProcessId();
Workspace workspace = getWorkspace();
WorkflowNamedUdaAccessor objWFNUDA = null;
Collection objCollection = null;
Map objmap = null;
try {
wp = workspace.getWorkflowProcessById(pID);
objWFNUDA = wp.getUdas();
objCollection = objWFNUDA.getWorkflowUserDefinedAttributeCollection();
objmap = objWFNUDA.getWorkflowUserDefinedAttributeMap();
}
catch(Exception e) {
System.out.println("Error While retrieving UDAS: " + e );
}
System.out.println("*************************");
System.out.println("* Getting Attribute Map *");
System.out.println("*************************");
System.out.println(objmap.keySet());
String strResults = objmap.keySet().toString();
strResults = strResults.substring(1, strResults.length() -1);
strResults = strResults.replaceAll(", ", ",");
System.out.println("UDAs returned are :" + strResults);
//Cleanup
wp = null;
objWFNUDA = null;
objCollection = null;
objmap =null;
//Return UDAs in a comma delimited string
return(strResults);
}
}