Author: lresende
Date: Tue May 27 22:34:22 2008
New Revision: 660814
URL: http://svn.apache.org/viewvc?rev=660814&view=rev
Log:
Small update to add usage logging instead of System.out.println
Modified:
incubator/tuscany/java/sca/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyProcessConfImpl.java
Modified:
incubator/tuscany/java/sca/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyProcessConfImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyProcessConfImpl.java?rev=660814&r1=660813&r2=660814&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyProcessConfImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyProcessConfImpl.java
Tue May 27 22:34:22 2008
@@ -19,379 +19,404 @@
package org.apache.tuscany.sca.implementation.bpel.ode;
import java.io.File;
-import java.io.InputStream;
import java.io.FileInputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.net.URI;
import java.net.URL;
+import java.util.Arrays;
+import java.util.Collection;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
-import java.util.Collection;
import java.util.Map;
-import java.util.HashMap;
-import java.util.Arrays;
import javax.wsdl.Definition;
-import javax.wsdl.PortType;
import javax.xml.namespace.QName;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ode.bpel.compiler.BpelC;
import org.apache.ode.bpel.evt.BpelEvent.TYPE;
import org.apache.ode.bpel.iapi.Endpoint;
import org.apache.ode.bpel.iapi.ProcessConf;
import org.apache.ode.bpel.iapi.ProcessState;
-import org.apache.ode.bpel.compiler.BpelC;
-import org.w3c.dom.Node;
-
-import org.apache.tuscany.sca.implementation.bpel.BPELImplementation;
-import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition;
-import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface;
import org.apache.tuscany.sca.assembly.Reference;
import org.apache.tuscany.sca.assembly.Service;
+import org.apache.tuscany.sca.implementation.bpel.BPELImplementation;
+import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+/**
+ * Process Conf
+ *
+ * @version $Rev$ $Date$
+ */
public class TuscanyProcessConfImpl implements ProcessConf {
-
- private BPELImplementation implementation;
- private Map<String, Endpoint> invokeEndpoints = null;
- private Map<String, Endpoint> provideEndpoints = null;
- private Map<QName, Node> properties = null;
- private ProcessState processState;
- private Date deployDate;
-
- private final String TUSCANY_NAMESPACE = "http://tuscany.apache.org";
-
- /**
- * Constructor for the ProcessConf implementation
- * @param theImplementation the BPEL implementation for which this is
the ProcessConf
- */
- public TuscanyProcessConfImpl( BPELImplementation theImplementation ) {
- //System.out.println("New TuscanyProcessConfImpl...");
- this.implementation = theImplementation;
-
- processState = ProcessState.ACTIVE;
- deployDate = new Date();
-
- // Compile the process
- compile( getBPELFile() );
- } // end TuscanyProcessConfImpl constructor
-
- /**
- * Returns the URI for the directory containing the BPEL process
- */
- public URI getBaseURI() {
- //System.out.println("getBaseURI called");
- File theDir = getDirectory();
- return theDir.toURI();
- }
-
- /**
- * Returns a String containing the (local) name of the file containing
the BPEL process
- */
- public String getBpelDocument() {
- //System.out.println("getBPELDocument called");
- URL processURL =
implementation.getProcessDefinition().getLocation();
- try {
- return getRelativePath( getDirectory(), new File(
processURL.toURI() ));
- } catch (Exception e) {
- System.out.println( "Unable to resolve relative path of
BPEL process" + processURL );
- return null;
- } // end try
- } // end getBpelDocument
-
- /**
- * Returns an InputStream containing the Compiled BPEL Process (CBP)
- */
- public InputStream getCBPInputStream() {
- //System.out.println("getCBPInputStream called");
- // Find the CBP file - it has the same name as the BPEL process
and lives in the same
- // directory as the process file
- String cbpFileName =
implementation.getProcessDefinition().getName().getLocalPart() + ".cbp";
- File cbpFile = new File( getDirectory(), cbpFileName );
- if( cbpFile.exists() ) {
- // Create an InputStream from the cbp file...
- try {
- return new FileInputStream( cbpFile );
- } catch ( Exception e ) {
- System.out.println("Unable to open the cbp file
for BPEL process: " +
-
implementation.getProcessDefinition().getName());
- } // end try
- } else {
- // Cannot find the cbp file
- System.out.println("Cannot find the cbp file for
process: " +
-
implementation.getProcessDefinition().getName());
- } // end if
- // TODO - need better exception handling if we can't open the
cbp file for any reason
- return null;
- } // end getCBPInputStream
-
- /**
- * Return the WSDL Definition for a given PortType
- * @param portTypeName - the QName of the PortType
- */
- public Definition getDefinitionForPortType( QName portTypeName ) {
- //System.out.println("getDefinitionForPortType called for
portType: " + portTypeName );
- // Find the named PortType in the list of WSDL interfaces
associated with this BPEL Process
- Collection<WSDLInterface> theInterfaces =
implementation.getProcessDefinition().getInterfaces();
- for( WSDLInterface wsdlInterface : theInterfaces ) {
- if ( wsdlInterface.getPortType().getQName().equals(
portTypeName ) ) {
- // Extract and return the Definition associated
with the WSDLDefinition...
- return
wsdlInterface.getWsdlDefinition().getDefinition();
- } // end if
- } // end for
- return null;
- } // end getDefinitionforPortType
-
- /**
- * Returns a WSDL Definition for a given Service QName
- *
- * 22/05/2008 - it is very unclear what this service QName is really
meant to be.
- * From the handling of the deploy.xml file by the current ODE code, it
seems that the key link
- * is from the Service QName to the PartnerLink name (done in the
deploy.xml file).
- *
- * The curious part about this is that the QName for the service is
ONLY defined in deploy.xml file
- * and does not appear to relate to anything else, except for the QName
of the PartnerLink
- *
- * The PartnerLink name is the same as the name of the SCA service (or
reference) which in turn points
- * at the PartnerLinkType which in turn points at an (WSDL) interface
definition.
- */
- public Definition getDefinitionForService(QName serviceQName ) {
- System.out.println("getDefinitionforService called for service:
" + serviceQName );
- // TODO Auto-generated method stub
- return null;
- }
-
- /**
- * Returns the date of deployment of the process
- * - for SCA returns the date at which this object was created
- */
- public Date getDeployDate() {
- //System.out.println("getDeployDate called");
- return deployDate;
- }
-
- /**
- * Returns userid of deployer
- * - always "SCA Tuscany" for Tuscany...
- */
- public String getDeployer() {
- //System.out.println("getDeployer called");
- return "SCA Tuscany";
- } // end getDeployer
-
- /**
- * Returns a list of the files in the directory containing the BPEL
Process
- */
- public List<File> getFiles() {
- //System.out.println("getFiles called");
- File theDir = getDirectory();
- List<File> theFiles = Arrays.asList( (File[])
theDir.listFiles() );
- // TODO recurse into subdirectories
- return theFiles;
- } // end getFiles
-
- /**
- * Returns a Map containing all the "invoke endpoints" - for which read
"SCA references"
- * The map is keyed by partnerLink name and holds Endpoint objects
- *
- * TODO deal with service callbacks on bidirectional services
- */
- public Map<String, Endpoint> getInvokeEndpoints() {
- //System.out.println("getInvokeEndpoints called");
- if( invokeEndpoints == null ) {
- invokeEndpoints = new HashMap<String, Endpoint>();
- // Get a collection of the references
- List<Reference> theReferences =
implementation.getReferences();
- // Create an endpoint for each reference, using the
reference name as the "service"
- // name, combined with http://tuscany.apache.org to
make a QName
- for( Reference reference : theReferences ) {
- invokeEndpoints.put( reference.getName(),
- new Endpoint( new QName(
TUSCANY_NAMESPACE, reference.getName() ), "ReferencePort"));
- } // end for
- } // end if
- return invokeEndpoints;
- } // end getInvokeEndpoints
-
- /**
- * Returns the name of the directory containing the BPEL files
- */
- public String getPackage() {
- //System.out.println("getPackage called");
- File theDir = getDirectory();
- return theDir.getName();
- } // end getPackage
-
- /**
- * Return the BPEL Process ID - which is the Process QName appended
"-versionnumber"
- */
- public QName getProcessId() {
- //System.out.println("getProcessId called");
- QName processType = getType();
- QName processID = new QName( processType.getNamespaceURI(),
- processType.getLocalPart()
+ "-" + getVersion() );
- return processID;
- } // end getProcessID
-
- /**
- * TODO - What are properties?
- */
- public Map<QName, Node> getProperties() {
- //System.out.println("getProperties called");
- if ( properties == null ) {
- properties = new HashMap<QName, Node>();
- } // end if
- return properties;
- } // end getProperties
-
- /**
- * Returns a Map containing all the "provide endpoints" - for which
read "SCA services"
- * The map is keyed by partnerLink name and holds Endpoint objects
- *
- * TODO deal with reference callbacks on bidirectional references
- */
- public Map<String, Endpoint> getProvideEndpoints() {
- //System.out.println("getProvideEndpoints called");
- if( provideEndpoints == null ) {
- provideEndpoints = new HashMap<String, Endpoint>();
- // Get a collection of the references
- List<Service> theServices =
implementation.getServices();
- // Create an endpoint for each reference, using the
reference name as the "service"
- // name, combined with http://tuscany.apache.org to
make a QName
- for( Service service : theServices ) {
- provideEndpoints.put( service.getName(),
- new Endpoint( new QName(
TUSCANY_NAMESPACE, service.getName() ), "ServicePort"));
- } // end for
- } // end if
- return provideEndpoints;
- } // end getProvideEndpoints
-
- /**
- * Return the process state
- */
- public ProcessState getState() {
- //System.out.println("getState called");
- return processState;
- }
-
- /**
- * Returns the QName of the BPEL process
- */
- public QName getType() {
- //System.out.println("getType called");
- return implementation.getProcess();
- }
-
- /**
- * Gets the process Version number
- * - current code does not have versions for BPEL processes and always
returns "1"
- */
- public long getVersion() {
- //System.out.println("getVersion called");
- return 1;
- }
-
- /**
- * Returns true if the supplied event type is enabled for any of the
scopes in the provided
- * List. These events are "ODE Execution Events" and there is a
definition of them on this
- * page:
http://ode.apache.org/user-guide.html#UserGuide-ProcessDeployment
- *
- * For the present Tuscany does not support manipulating the event
enablement and always
- * returns that the event is not enabled
- * @param scopeNames - list of BPEL process Scope names
- * @param type - the event type
- */
- public boolean isEventEnabled(List<String> scopeNames, TYPE type) {
- //System.out.println("isEventEnabled called with scopeNames: "
+
- // scopeNames + " and type: " + type );
- return false;
- } // end isEventEnabled
-
- /**
- * Returns whether the process is persisted in the store
- *
- * Returns false for SCA configuration
- * - returning true causes problems in communicating with the BPEL
process
- */
- public boolean isTransient() {
- //System.out.println("isTransient called");
- return false;
- } // end isTransient
-
- /**
- * Compiles a BPEL process file into a compiled form CBP file in the
main directory
- * (ie same directory as the BPEL process file)
- * @param bpelFile - the BPEL process file
- */
- private void compile( File bpelFile ) {
- // Set up the compiler
- BpelC compiler = BpelC.newBpelCompiler();
- // Provide a null set of initial properties for now
- Map<QName, Node> processProps = new HashMap<QName, Node>();
- Map<String, Object> compileProps = new HashMap<String,
Object>();
+ private final Log __log = LogFactory.getLog(getClass());
+
+ private BPELImplementation implementation;
+ private Map<String, Endpoint> invokeEndpoints = null;
+ private Map<String, Endpoint> provideEndpoints = null;
+ private Map<QName, Node> properties = null;
+ private ProcessState processState;
+ private Date deployDate;
+
+ private final String TUSCANY_NAMESPACE = "http://tuscany.apache.org";
+
+ /**
+ * Constructor for the ProcessConf implementation
+ * @param theImplementation the BPEL implementation for which this is the
ProcessConf
+ */
+ public TuscanyProcessConfImpl( BPELImplementation theImplementation ) {
+ //System.out.println("New TuscanyProcessConfImpl...");
+ this.implementation = theImplementation;
+
+ processState = ProcessState.ACTIVE;
+ deployDate = new Date();
+
+ // Compile the process
+ compile( getBPELFile() );
+ } // end TuscanyProcessConfImpl constructor
+
+ /**
+ * Returns the URI for the directory containing the BPEL process
+ */
+ public URI getBaseURI() {
+ //System.out.println("getBaseURI called");
+ File theDir = getDirectory();
+ return theDir.toURI();
+ }
+
+ /**
+ * Returns a String containing the (local) name of the file containing the
BPEL process
+ */
+ public String getBpelDocument() {
+ //System.out.println("getBPELDocument called");
+ URL processURL = implementation.getProcessDefinition().getLocation();
+ try {
+ return getRelativePath( getDirectory(), new File(
processURL.toURI() ));
+ } catch (Exception e) {
+ if(__log.isWarnEnabled()) {
+ __log.warn("Unable to resolve relative path of BPEL process" +
processURL, e );
+ }
+ return null;
+ } // end try
+ } // end getBpelDocument
+
+ /**
+ * Returns an InputStream containing the Compiled BPEL Process (CBP)
+ */
+ public InputStream getCBPInputStream() {
+ //System.out.println("getCBPInputStream called");
+ // Find the CBP file - it has the same name as the BPEL process and
lives in the same
+ // directory as the process file
+ String cbpFileName =
implementation.getProcessDefinition().getName().getLocalPart() + ".cbp";
+ File cbpFile = new File( getDirectory(), cbpFileName );
+ if( cbpFile.exists() ) {
+ // Create an InputStream from the cbp file...
+ try {
+ return new FileInputStream( cbpFile );
+ } catch ( Exception e ) {
+ if(__log.isDebugEnabled()) {
+ __log.debug("Unable to open the cbp file for BPEL process:
" +
+
implementation.getProcessDefinition().getName(), e);
+ }
+ } // end try
+ } else {
+ // Cannot find the cbp file
+ if(__log.isWarnEnabled()){
+ __log.warn("Cannot find the cbp file for process: " +
+
implementation.getProcessDefinition().getName());
+ }
+ } // end if
+ // TODO - need better exception handling if we can't open the cbp file
for any reason
+ return null;
+ } // end getCBPInputStream
+
+ /**
+ * Return the WSDL Definition for a given PortType
+ * @param portTypeName - the QName of the PortType
+ */
+ public Definition getDefinitionForPortType( QName portTypeName ) {
+ //System.out.println("getDefinitionForPortType called for portType: "
+ portTypeName );
+ // Find the named PortType in the list of WSDL interfaces associated
with this BPEL Process
+ Collection<WSDLInterface> theInterfaces =
implementation.getProcessDefinition().getInterfaces();
+ for( WSDLInterface wsdlInterface : theInterfaces ) {
+ if ( wsdlInterface.getPortType().getQName().equals( portTypeName )
) {
+ // Extract and return the Definition associated with the
WSDLDefinition...
+ return wsdlInterface.getWsdlDefinition().getDefinition();
+ } // end if
+ } // end for
+ return null;
+ } // end getDefinitionforPortType
+
+ /**
+ * Returns a WSDL Definition for a given Service QName
+ *
+ * 22/05/2008 - it is very unclear what this service QName is really meant
to be.
+ * From the handling of the deploy.xml file by the current ODE code, it
seems that the key link
+ * is from the Service QName to the PartnerLink name (done in the
deploy.xml file).
+ *
+ * The curious part about this is that the QName for the service is ONLY
defined in deploy.xml file
+ * and does not appear to relate to anything else, except for the QName of
the PartnerLink
+ *
+ * The PartnerLink name is the same as the name of the SCA service (or
reference) which in turn points
+ * at the PartnerLinkType which in turn points at an (WSDL) interface
definition.
+ */
+ public Definition getDefinitionForService(QName serviceQName ) {
+ if(__log.isDebugEnabled()){
+ __log.debug("getDefinitionforService called for service: " +
serviceQName );
+ }
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Returns the date of deployment of the process
+ * - for SCA returns the date at which this object was created
+ */
+ public Date getDeployDate() {
+ //System.out.println("getDeployDate called");
+ return deployDate;
+ }
+
+ /**
+ * Returns userid of deployer
+ * - always "SCA Tuscany" for Tuscany...
+ */
+ public String getDeployer() {
+ //System.out.println("getDeployer called");
+ return "SCA Tuscany";
+ } // end getDeployer
+
+ /**
+ * Returns a list of the files in the directory containing the BPEL Process
+ */
+ public List<File> getFiles() {
+ //System.out.println("getFiles called");
+ File theDir = getDirectory();
+ List<File> theFiles = Arrays.asList( (File[]) theDir.listFiles() );
+ // TODO recurse into subdirectories
+ return theFiles;
+ } // end getFiles
+
+ /**
+ * Returns a Map containing all the "invoke endpoints" - for which read
"SCA references"
+ * The map is keyed by partnerLink name and holds Endpoint objects
+ *
+ * TODO deal with service callbacks on bidirectional services
+ */
+ public Map<String, Endpoint> getInvokeEndpoints() {
+ //System.out.println("getInvokeEndpoints called");
+ if( invokeEndpoints == null ) {
+ invokeEndpoints = new HashMap<String, Endpoint>();
+ // Get a collection of the references
+ List<Reference> theReferences = implementation.getReferences();
+ // Create an endpoint for each reference, using the reference name
as the "service"
+ // name, combined with http://tuscany.apache.org to make a QName
+ for( Reference reference : theReferences ) {
+ invokeEndpoints.put( reference.getName(),
+ new Endpoint( new QName(
TUSCANY_NAMESPACE, reference.getName() ), "ReferencePort"));
+ } // end for
+ } // end if
+ return invokeEndpoints;
+ } // end getInvokeEndpoints
+
+ /**
+ * Returns the name of the directory containing the BPEL files
+ */
+ public String getPackage() {
+ //System.out.println("getPackage called");
+ File theDir = getDirectory();
+ return theDir.getName();
+ } // end getPackage
+
+ /**
+ * Return the BPEL Process ID - which is the Process QName appended
"-versionnumber"
+ */
+ public QName getProcessId() {
+ //System.out.println("getProcessId called");
+ QName processType = getType();
+ QName processID = new QName( processType.getNamespaceURI(),
+ processType.getLocalPart() + "-" +
getVersion() );
+ return processID;
+ } // end getProcessID
+
+ /**
+ * TODO - What are properties?
+ */
+ public Map<QName, Node> getProperties() {
+ //System.out.println("getProperties called");
+ if ( properties == null ) {
+ properties = new HashMap<QName, Node>();
+ } // end if
+ return properties;
+ } // end getProperties
+
+ /**
+ * Returns a Map containing all the "provide endpoints" - for which read
"SCA services"
+ * The map is keyed by partnerLink name and holds Endpoint objects
+ *
+ * TODO deal with reference callbacks on bidirectional references
+ */
+ public Map<String, Endpoint> getProvideEndpoints() {
+ //System.out.println("getProvideEndpoints called");
+ if( provideEndpoints == null ) {
+ provideEndpoints = new HashMap<String, Endpoint>();
+ // Get a collection of the references
+ List<Service> theServices = implementation.getServices();
+ // Create an endpoint for each reference, using the reference name
as the "service"
+ // name, combined with http://tuscany.apache.org to make a QName
+ for( Service service : theServices ) {
+ provideEndpoints.put( service.getName(),
+ new Endpoint( new QName(
TUSCANY_NAMESPACE, service.getName() ), "ServicePort"));
+ } // end for
+ } // end if
+ return provideEndpoints;
+ } // end getProvideEndpoints
+
+ /**
+ * Return the process state
+ */
+ public ProcessState getState() {
+ //System.out.println("getState called");
+ return processState;
+ }
+
+ /**
+ * Returns the QName of the BPEL process
+ */
+ public QName getType() {
+ //System.out.println("getType called");
+ return implementation.getProcess();
+ }
+
+ /**
+ * Gets the process Version number
+ * - current code does not have versions for BPEL processes and always
returns "1"
+ */
+ public long getVersion() {
+ //System.out.println("getVersion called");
+ return 1;
+ }
+
+ /**
+ * Returns true if the supplied event type is enabled for any of the
scopes in the provided
+ * List. These events are "ODE Execution Events" and there is a
definition of them on this
+ * page: http://ode.apache.org/user-guide.html#UserGuide-ProcessDeployment
+ *
+ * For the present Tuscany does not support manipulating the event
enablement and always
+ * returns that the event is not enabled
+ * @param scopeNames - list of BPEL process Scope names
+ * @param type - the event type
+ */
+ public boolean isEventEnabled(List<String> scopeNames, TYPE type) {
+ //System.out.println("isEventEnabled called with scopeNames: " +
+ // scopeNames + " and type: " + type );
+ return false;
+ } // end isEventEnabled
+
+ /**
+ * Returns whether the process is persisted in the store
+ *
+ * Returns false for SCA configuration
+ * - returning true causes problems in communicating with the BPEL process
+ */
+ public boolean isTransient() {
+ //System.out.println("isTransient called");
+ return false;
+ } // end isTransient
+
+ /**
+ * Compiles a BPEL process file into a compiled form CBP file in the main
directory
+ * (ie same directory as the BPEL process file)
+ * @param bpelFile - the BPEL process file
+ */
+ private void compile( File bpelFile ) {
+ // Set up the compiler
+ BpelC compiler = BpelC.newBpelCompiler();
+ // Provide a null set of initial properties for now
+ Map<QName, Node> processProps = new HashMap<QName, Node>();
+ Map<String, Object> compileProps = new HashMap<String, Object>();
compileProps.put( BpelC.PROCESS_CUSTOM_PROPERTIES, processProps );
- compiler.setCompileProperties( compileProps );
+ compiler.setCompileProperties( compileProps );
compiler.setBaseDirectory( getDirectory() );
-
+
// Run the compiler and generate the CBP file into the given directory
try {
compiler.compile( bpelFile );
} catch (IOException e) {
- System.out.println("Compile error in " + bpelFile + e);
+ if(__log.isDebugEnabled()) {
+ __log.debug("Compile error in " + bpelFile, e);
+ }
// TODO - need better exception handling here
} // end try
} // end compile
-
- /**
- * Gets the directory containing the BPEL process
- * @return
- */
- private File getDirectory() {
- File theDir = getBPELFile().getParentFile();
- return theDir;
- } // end getDirectory
-
- /**
- * Gets the File containing the BPEL process definition
- * @return - the File object containing the BPEL process
- */
- private File getBPELFile() {
- URL fileURL =
implementation.getProcessDefinition().getLocation();
- try {
- File theProcess = new File( fileURL.toURI());
- return theProcess;
- } catch( Exception e ) {
- System.out.println("Exception converting BPEL file URL
to an URI: " + e );
- } // end try
- return null;
- } // end getBPELFile
-
- /**
- * Gets the relative path of a file against a directory in its hierarchy
- * @param base - the base directory
- * @param path - the file
- * @return
- * @throws IOException
- */
+
+ /**
+ * Gets the directory containing the BPEL process
+ * @return
+ */
+ private File getDirectory() {
+ File theDir = getBPELFile().getParentFile();
+ return theDir;
+ } // end getDirectory
+
+ /**
+ * Gets the File containing the BPEL process definition
+ * @return - the File object containing the BPEL process
+ */
+ private File getBPELFile() {
+ URL fileURL = implementation.getProcessDefinition().getLocation();
+ try {
+ File theProcess = new File( fileURL.toURI());
+ return theProcess;
+ } catch( Exception e ) {
+ if(__log.isDebugEnabled()) {
+ __log.debug("Exception converting BPEL file URL to an URI: " +
e );
+ }
+ } // end try
+ return null;
+ } // end getBPELFile
+
+ /**
+ * Gets the relative path of a file against a directory in its hierarchy
+ * @param base - the base directory
+ * @param path - the file
+ * @return
+ * @throws IOException
+ */
private String getRelativePath(File base, File path) throws IOException {
String basePath = base.getCanonicalPath();
String filePath = path.getCanonicalPath();
- if (!filePath.startsWith(basePath)) throw new IOException("Invalid
relative path: base="+base+" path="+path);
+ if (!filePath.startsWith(basePath)) {
+ throw new IOException("Invalid relative path: base=" + base + "
path=" + path);
+ }
String relative = filePath.substring(basePath.length());
- if (relative.startsWith(File.separator)) relative =
relative.substring(1);
+ if (relative.startsWith(File.separator)) {
+ relative = relative.substring(1);
+ }
return relative;
} // end getRelativePath
-
+
//-----------------------------------------------------------------------------
// other public APIs which ProcessConfImpl displays which are not in
ProcessConf interface
-
+
public List<String> getMexInterceptors(QName processId) {
- System.out.println("getMexInterceptors for processID: " + processId );
+ System.out.println("getMexInterceptors for processID: " + processId );
return null;
}
-
+
public void setTransient(boolean t) {
- System.out.println("setTransient called with boolean: " + t );
+ System.out.println("setTransient called with boolean: " + t );
}
-
+ /*public List<Element> getExtensionElement(QName arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }*/
// end of other public APIs
//-----------------------------------------------------------------------------