Help on java math parser

hi there,
can anyone pls tell me where i can get some help on 'java programing for math parser'? if the answer is yes then pls tell me where.

I don't know of a parser that's part of the standard java library, but surely there must be tons of stuff findable with Google. Have you tried to google this?

Similar Messages

  • Please help on Java MATH.

    Hi,
    As part of my application development i am trying to do the below operation and its giving wrong/incorrect output. Can anyone help me please.
    String a = "3";
    String b = "3";
    double rtbAmount = Double.parseDouble(a) ;
    double fiAmount = Double.parseDouble(b) ;
    double newAmount = (rtbAmount * fiAmount) / 100.00 ;
    System.out.println("newAmount "+newAmount);
    System.out.println("newAmount "+newAmount*10);
    Here the expected output is 0.09 and 0.9 but it is giving 0.09 and 0.8999999999999999.
    Can anybody tell me the reason for the same and the workaround.

    http://java.sun.com/developer/JDCTechTips/2003/tt0204.html#2
    http://docs.sun.com/source/806-3568/ncg_goldberg.html
    http://mindprod.com/jgloss/floatingpoint.html

  • Pls help. which java tool to use for math parser?

    hi there
    pls tell me which java tool and classes do i need to use to create a math parser for defferentiation functions. i googled the topic and only got confused. thanks in advance.

    sabbir736 wrote:
    hi there
    pls tell me which java tool and classes do i need to use to create a math parser for defferentiation functions. i googled the topic and only got confused. thanks in advance.You use a CAS (Computer Algebra System) for such a task: not Java. I recommend Maple or Matlab, or if you don't have any money to spend: you could try Maxima: http://maxima.sourceforge.net/ I heard some good things about it.

  • Getting Error in java mapping: Parsing empty source. Root element expected!

    Hi Experts,
       I am using java mapping for schema validation of input message. I have followed all the standard procedures and implemented the java class in the interface mapping.
    My interface mapping is like this:
    OrderData --->Java Class ---SchemaValidate
                         Mesg Map ---OrderData_to_BAP --->BAPI Msg
    So first I want to validate the schema of the input message. If the input message is invalid then XI should throw an exception. Then I use the actual message mapping to map the input order data to the BAPI input parameters.
    In the java code I am using xerces parser.
    The java code works fine when I run it as a standalone application.
    The interface mapping also works fine if I don't include the java mapping. Ofcourse schema validation does not happen.
    But when I test the interface mapping by including the java mapping then I am getting the error:
    Call method execute of the application Java mapping SchemaValidate
    Java mapping SchemaValidate completed. (execute() of SchemaValidate
    com.sap.aii.utilxi.misc.api.BaseRuntimeException: Parsing an empty source. Root element expected!
    What am I doing wrong? Why it is not getting the root element?
    My Java code is as follows:
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.StreamTransformationConstants;
    import com.sap.aii.mapping.api.StreamTransformationException;
    import java.io.*;
    import java.util.Map;
    import javax.xml.parsers.*;
    import org.xml.sax.helpers.*;
    import org.xml.sax.*;
    import org.apache.xerces.jaxp.*;
    Sample mapper for SAP-XI
    @author Gopal
    public class SchemaValidate implements StreamTransformation {
        //Constants when using XML Schema for SAX parsing.
         static final String JAXP_SCHEMA_LANGUAGE =
         "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
         static final String W3C_XML_SCHEMA =
         "http://www.w3.org/2001/XMLSchema";
         static final String JAXP_SCHEMA_SOURCE =
         "http://java.sun.com/xml/jaxp/properties/schemaSource";
    Injection of mapping parameters
    from integration engine
    @param map Map with configuration data
        public void setParameter(Map map) {
    Mapping implementation
    @param inputStream Input data from integration engine
    @param outputStream Output data to integration engine
        public void execute(InputStream inputStream,
                            OutputStream outputStream)
          throws StreamTransformationException {
            try {
                  // obtain an object of class javax.xml.parsers.SAXParser,
                  SAXParserFactory spf = SAXParserFactoryImpl.newInstance();
                  spf.setNamespaceAware(true);
                  spf.setValidating(true);
                  SAXParser sp = spf.newSAXParser();
                  // setup the schema file
                  sp.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
                  sp.setProperty(JAXP_SCHEMA_SOURCE, new File("IOReqMsgSchema.xsd"));
                  //parse the input xml using the given schema
                  sp.parse(inputStream, new ParseErrorHandler());
            catch(SAXException se) {
              se.printStackTrace();
            catch ( Exception e ) {
              throw new StreamTransformationException( e.getMessage() );
    My input message is :
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:OrderCreate_request xmlns:ns0="mynamespace">
       <ORDER>HTEST1234567</ORDER>
       <ORDER_TYPE>z001</ORDER_TYPE>
       <ORDER_NAME>Test Order</ORDER_NAME>
       <CO_AREA>INTC</CO_AREA>
       <CCTR_POSTED>1234567890888888888</CCTR_POSTED>
       <CURRENCY>USD</CURRENCY>
       <PERSON_RESP>12345679</PERSON_RESP>
    </ns0:OrderCreate_request>
    Kindly help! please this is urgent!!!!!!
    Thanks
    Gopal
    Edited by: gopalkrishna baliga on Feb 28, 2008 9:34 AM

    Hi Stefan,
       I did the code changes to return output stream and the java code works perfectly in standalone mode in my PC.
       But when I use the same in the Java mapping with XI then It throws an error "Getting Error in java mapping: Parsing empty source. Root element expected!".
    My XI J2EE server has JDK1.4.3.11.
    Is there any limitation of using SAX parser in XI? If Yes, then which parser should be used for schema validation in XI?
    I have included the XSD file for schema validation along with class files in the .jar file. This jar file is then imported in XI repository. Is the XI engine not able to read the XSD file?
    Do I have to handle reading XSD file differently? Any suggession how?
    Is this parser error due to some security access?
    Kindly help me! I have been struggling with this problem since 2 weeks. I will be greatfull to you if you can help me.
    Thanks
    Gopal

  • Help with java mapping

    PI File adapter has a processing option u2018Empty-Message Handlingu2019 to ignore or Write Empty Files. In case there is no data created after mapping on target side then this option determines whether to write an empty file or not. But there is a catch to this option when it comes to using it with File Content Conversion which is described in SAP Note u2018821267u2019. It states following:
    I configure the receiver channel with File content conversion mode and I set the 'Empty Message Handling' option to ignore. Input payload to the receiver channel is generated out of mapping and it does not have any record sets. However, this payload has a root element. Why does file receiver create empty output file with zero byte size in the target directory?  Example of such a payload generated from mapping is as follows:                                                           
    <?xml version="1.0" encoding="UTF-8"?>                          
    <ns1:test xmlns:ns1="http://abcd.com/ab"></ns1:test>
    solution :
    If the message payload is empty (i.e., zero bytes in size), then File adapter's empty message handling feature does NOT write files into the target directory. On the other hand, if the payload is a valid XML document (as shown in example) that is generated from mapping with just a root element in it, the File Adapter does not treat it as an empty message and accordingly it writes to the target directory. To achieve your objective of not writing files (that have just a single root element) into the target directory, following could be done:
    Using a Java or ABAP Mapping in order to restrict the creation of node itself during mapping. (This cannot be achieved via Message Mapping)
    Using standard adapter modules to do content conversion first and then write file. 
    can someone help with java mapping that can be used in this case?

    Hi,
        You have not mentioned the version of PI you are working in. In case you are working with PI 7.1 or above then here is the java mapping code you need to add after message mapping in the same interface mapping
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    import com.sap.aii.mapping.api.AbstractTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    import com.sap.aii.mapping.api.TransformationInput;
    import com.sap.aii.mapping.api.TransformationOutput;
    public class RemoveRootNode extends AbstractTransformation{
         public void execute(InputStream in, OutputStream out)
         throws StreamTransformationException {
    // TODO Auto-generated method stub
    try
         DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
         DocumentBuilder builderel=factory.newDocumentBuilder();
         /*input document in form of XML*/
         Document docIn=builderel.parse(in);
         /*document after parsing*/
         Document docOut=builderel.newDocument();
         TransformerFactory tf=TransformerFactory.newInstance();
         Transformer transform=tf.newTransformer();
         if(docIn.getDocumentElement().hasChildNodes())
              docOut.appendChild(docOut.importNode(docIn.getDocumentElement(),true));
              transform.transform(new DOMSource(docOut), new StreamResult(out));
         else
              out.write(null);
    catch(Exception e)
    public void setParameter(Map arg0) {
    // TODO Auto-generated method stub
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try{
         RemoveRootNode genFormat=new RemoveRootNode();
         FileInputStream in=new FileInputStream("C:\\apps\\sdn\\rootNode.xml");
         FileOutputStream out=new FileOutputStream("C:\\apps\\sdn\\rootNode1.xml");
         genFormat.execute(in,out);
         catch(Exception e)
         e.printStackTrace();
    public void transform(TransformationInput arg0, TransformationOutput arg1)
              throws StreamTransformationException {
         // TODO Auto-generated method stub
         this.execute(arg0.getInputPayload().getInputStream(), arg1.getOutputPayload().getOutputStream());
    In case you are working in PI 7.0 you can use this code
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    public class RemoveRootNode implements StreamTransformation{
         public void execute(InputStream in, OutputStream out)
         throws StreamTransformationException {
    // TODO Auto-generated method stub
    try
         DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
         DocumentBuilder builderel=factory.newDocumentBuilder();
         /*input document in form of XML*/
         Document docIn=builderel.parse(in);
         /*document after parsing*/
         Document docOut=builderel.newDocument();
         TransformerFactory tf=TransformerFactory.newInstance();
         Transformer transform=tf.newTransformer();
         if(docIn.getDocumentElement().hasChildNodes())
              docOut.appendChild(docOut.importNode(docIn.getDocumentElement(),true));
              transform.transform(new DOMSource(docOut), new StreamResult(out));
         else
              out.write(null);
    catch(Exception e)
    public void setParameter(Map arg0) {
    // TODO Auto-generated method stub
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try{
         RemoveRootNode genFormat=new RemoveRootNode();
         FileInputStream in=new FileInputStream("C:\\apps\\sdn\\rootNode.xml");
         FileOutputStream out=new FileOutputStream("C:\\apps\\sdn\\rootNode1.xml");
         genFormat.execute(in,out);
         catch(Exception e)
         e.printStackTrace();
    The code for PI 7.0 should also work for PI 7.1 provided you use the right jar files for compilation, but vice-versa is not true.
    Could you please let us know if this code was useful to you or not?
    Regards
    Anupam
    Edited by: anupamsap on Dec 15, 2011 9:43 AM

  • ADF: JBO-25009: Cannot create an object of type:java.math.Bi. Jdev 11.1.2.3

    Hi,
    I have created a tree structure on the left side of the page and a table on the right hand of the page. My requirement is that when I click on the node on the left side, the table on the right needs to be refreshed. For the time being the tree nodes on the left side is just one level. Eveytime I click on the node, I get the following error
    <RichExceptionHandler> <_logUnhandledException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5
    javax.el.ELException: oracle.jbo.domain.DataCreationException: JBO-25009: Cannot create an object of type:java.math.BigDecimal from type:java.lang.String with value:Restricted
    at com.sun.el.parser.AstValue.invoke(Unknown Source)
    at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1589)
    at org.apache.myfaces.trinidad.component.UIXTree.broadcast(UIXTree.java:237)
    at oracle.adf.view.rich.component.rich.data.RichTree.broadcast(RichTree.java:308)
    at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:157)
    at org.apache.myfaces.trinidad.component.UIXTree.broadcast(UIXTree.java:244)
    at oracle.adf.view.rich.component.rich.data.RichTree.broadcast(RichTree.java:308)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:130)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:461)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:134)
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:112)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:130)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:461)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:134)
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:106)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1137)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:361)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:202)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:180)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: oracle.jbo.domain.DataCreationException: JBO-25009: Cannot create an object of type:java.math.BigDecimal from type:java.lang.String with value:Restricted
    at oracle.jbo.common.JboTypeMapEntries$2.convert(JboTypeMapEntries.java:135)
    at oracle.jbo.domain.TypeFactory.get(TypeFactory.java:869)
    at oracle.jbo.domain.TypeFactory.getInstance(TypeFactory.java:116)
    at oracle.jbo.server.AttributeDefImpl.convertToJava(AttributeDefImpl.java:2220)
    at oracle.jbo.server.ViewRowSetImpl.prepKeyForFind(ViewRowSetImpl.java:5377)
    at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5394)
    at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5296)
    at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5290)
    at oracle.jbo.server.ViewObjectImpl.findByKey(ViewObjectImpl.java:11628)
    at oracle.jbo.uicli.binding.JUCtrlHierNodeBinding.syncTargetIter(JUCtrlHierNodeBinding.java:641)
    at oracle.jbo.uicli.binding.JUCtrlHierNodeBinding.internalSetCurrentRow(JUCtrlHierNodeBinding.java:617)
    at oracle.jbo.uicli.binding.JUCtrlHierNodeBinding.syncCurrentRow(JUCtrlHierNodeBinding.java:547)
    at oracle.jbo.uicli.binding.JUCtrlHierNodeBinding.setRowAsCurrentOnTargetIterator(JUCtrlHierNodeBinding.java:561)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierNodeBinding.setRowAsCurrentOnTargetIterator(FacesCtrlHierNodeBinding.java:147)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.makeCurrent(FacesCtrlHierBinding.java:685)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    ... 58 more
    Caused by: java.lang.NumberFormatException
    at java.math.BigDecimal.<init>(BigDecimal.java:459)
    at java.math.BigDecimal.<init>(BigDecimal.java:728)
    at oracle.jbo.common.JboTypeMapEntries$2.convert(JboTypeMapEntries.java:129)
    ... 76 more
    Please can you let me know how I can resolve this issue.
    Thanks

    Hi, I have rechecked this issue. In the bug they say that Big Integer should be changed to Big Decimal to resolve the issue. I checked my application and saw that there is no Big Interger. Please can you guide me further.

  • Java.math package does not exist!!!

    hi java experts, i really desperately need some help. ihave been trying to compile a java program i have written that imports the java.math package as i am using the BigInteger class. I am using SUN ONE STUDIO ME 4 and have j2se SDk installed. when i try to build the program in the IDE, it gives me an error message saying the java.math package does not exist. i can't understand why. i think it's an IDE problem. i tried mounting the filesystem and i mounted almost a million times in diff ways but it still can't compile. i can't find the directory of the java.math to mount into. anyway i tried to compile it at the command prompt and it can compile but with errors... so i figure that i do have the java.math class on my system just that the IDE jsut can't recognise it. i am at my wits end and gonna go mad if someone doesn't please help me.
    adeline from singapore

    Cross-posted at http://forum.java.sun.com/thread.jsp?thread=293132&forum=54&message=1155073

  • Package java.math does not exist!!!

    hi java experts, i really desperately need some help. ihave been trying to compile a java program i have written that imports the java.math package as i am using the BigInteger class. I am using SUN ONE STUDIO ME 4 and have j2se SDk installed. when i try to build the program in the IDE, it gives me an error message saying the java.math package does not exist. i can't understand why. i think it's an IDE problem. i tried mounting the filesystem and i mounted almost a million times in diff ways but it still can't compile. i can't find the directory of the java.math to mount into. anyway i tried to compile it at the command prompt and it can compile but with errors... so i figure that i do have the java.math class on my system just that the IDE jsut can't recognise it. i am at my wits end and gonna go mad if someone doesn't please help me.
    adeline from singapore

    java.math package will be there in jdk_dir\jre\lib\rt.jar. You need to set the classpath variable in your IDE for this jar file. There must be some means to edit the IDE's classpath variable.
    i mounted almost a million times in diff ways but it still can't compileIf it takes one minute for each mount then total time you have taken = 10000000 minutes = 166666 hours = 6944 days = 19 years (roughly). Java was not there 19 years ago.
    Sudha

  • Rename exported file in ODI with help of Java

    Hi.
    We have to implement new scenarios into execution repository. I marked scenarios and I exported them with help of procedure:
    OdiExportScen "-SCEN_NAME=#scen_name" "-SCEN_VERSION=-1" "-FILE_NAME=#DEP_EXPORT_DIRECTORY\SCEN_#SCEN_NAME 001.xml" "-FORCE_OVERWRITE=YES" "-RECURSIVE_EXPORT=YES" "-XML_VERSION=1.0" "-XML_CHARSET=windows-1251" "-JAVA_CHARSET=cp1251"
    But I have to put space between variable #SCEN_NAME and another part of file name. After export I want to rename file with help of Java script, but I get an error when I try to read list of files.
    import java.io.*;
    public class RenameFiles
         public static void main(String[] args)
              String dirPath = new String ("D:\\ODI");
              File dir = new File(dirPath);
              String dirList[] = dir.list(); /* I get error there*/
              for(int i=0; i<dirList.length; i++)
                   File oldFileName = new File(dirPath+"\\"+dirList);
                   File newFileName = new File(dirPath+"\\"+dirList[i].replaceAll(" ","_"));
                   oldFileName.renameTo(newFileName);
    Error in ODI Operator looks like:
    org.apache.bsf.BSFException: BeanShell script error: Parse error at line 9, column 31. Encountered: [ BSF info: Rem at line: 0 column: columnNo
         at bsh.util.BeanShellBSFEngine.eval(Unknown Source)
         at bsh.util.BeanShellBSFEngine.exec(Unknown Source)
         at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.k(e.java)
         at com.sunopsis.dwg.cmd.g.A(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Thread.java:662)

    I fixed it.
    All I need - put slashes at end of directory name. Also I removed implementation of class.
    import java.io.*;
    String dirPath = new String ("D:\\ODI");
    File dir = new File(dirPath+"\\");                // I put \\ at the end of directory name
    String[] dirList = dir.list();
    for(int i=0; i<dirList.length; i++)
         File oldFileName = new File(dirPath+"\\"+dirList);
         File newFileName = new File(dirPath+"\\"+dirList[i].replaceAll(" ","_"));
         oldFileName.renameTo(newFileName);
    Edited by: user12281180 on Apr 14, 2011 7:44 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Javax.help.HelpSetException: Could not parse

    Hi,
    I am working on JavaHelp2.0. I want to run my JavaHelp Application using the IntelliJ Idea. I created the sample files for the Application and included the javaHelp jars into the classpath. I am not getting any kind of compile time errors.
    But, when I was trying to run my javaHelp application, i am getting the following error log:
    javax.help.HelpSetException: Could not parse
    Got an IOException (null)
    Parsing failed for null
         at javax.help.HelpSet.<init>(HelpSet.java:146)
         at com.tradecapture.experiments.javahelp.FTPApp.createHelp(FTPApp.java:53)
         at com.tradecapture.experiments.javahelp.FTPApp.<init>(FTPApp.java:24)
         at com.tradecapture.experiments.javahelp.FTPApp.main(FTPApp.java:60)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
    java.lang.NullPointerException
         at com.tradecapture.experiments.javahelp.FTPApp.<init>(FTPApp.java:40)
         at com.tradecapture.experiments.javahelp.FTPApp.main(FTPApp.java:60)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
    Exception in thread "main"
    Process finished with exit code 1
    I appreciate, if anyone could provide me comments on how to overcome this kind of runtime error.
    Thanks & Regards,
    Sunil.

    Hello,
    I understood the problem. The problem is bcoz the findHelpSet() method is returning a null value. This is bcoz it is not able to find the
    HelpSet file.
    Now, i would like to reframe my problem.
    Why is the findHelpSet() method returning null value even when the
    directory which contains the file has been added to the CLASSPATH?
    Here is my code to invoke the JavaHelp from the application:
    ClassLoader cl = MDIApplication.class.getClassLoader();
    javax.help.HelpSet hs;
    javax.help.HelpBroker hb;
    javax.help.CSH csh;
    try{
    System.out.println("Helpset name : " + javax.help.HelpSet.findHelpSet(cl,helpHS));
    java.net.URL hsURL = javax.help.HelpSet.findHelpSet(cl,helpHS);
    hs = new javax.help.HelpSet(null, hsURL);
    catch(Exception ee)
    System.out.println("Helpset " + ee.getMessage());
    System.out.println("Helpset " + helpHS + " not found. ");
    return;
    hb = hs.createHelpBroker();
    new javax.help.CSH.DisplayHelpFromSource(hb);

  • Java math library?

    Hi all,
    Does anyone know a java math-library which provides analysis stuff?
    I'd like to generate a function (approximation) which describes a curve.
    What I need is an implementation of Lagrange interpolation formula or
    Newton interpolation formula.
    Google lets me down. Any help would be greatly appreciated!

    You could try looking through the list of stuff at http://math.nist.gov/javanumerics/

  • Java SAX parser. How to get raw XML code of the currently parsing event?

    Java SAX parser, please need a clue how to get the raw XML code of the currently parsing event... needed for logging, debugging purposes.
    Here's and example, letting me clarify exactly what i need: (see the comments in source)
    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
         //..Here... or maybe somewhere elsewhere I need on my disposal the raw XML code of
         //..every XML tags received from the XML stream. I need simply to write it down
         //..in a log file, for debugging purposes, while parsing. Can anyone give me a suggestion
         //..how can i implement such logging while the SAX parser only returns me the tagname and
         //..attributes. While parsing I want to log the XML code for every tag in
         //..its 'pure form', like it is comming from the server directly on the
         //..socket's input reader.
         if ("p".equals(qName)) {
              etc...
    }Than you in advance.

    YES!
    I've solved my problem using class RecordingInputStream that wraps the InputStream
    here is the class source code:
    import java.io.ByteArrayOutputStream;
    import java.io.FilterInputStream;
    import java.io.InputStream;
    import java.io.IOException;
    * @author Unknown
    class RecordingInputStream  extends  FilterInputStream {
         protected ByteArrayOutputStream sink;
        RecordingInputStream(InputStream in) {
            this(in, new ByteArrayOutputStream());
        RecordingInputStream(InputStream in, ByteArrayOutputStream sink) {
            super(in);
            this.sink = sink;
        public synchronized int read() throws IOException {
            int i = in.read();
            sink.write(i);
            return i;
        public synchronized int read(byte[] buf, int off, int len) throws IOException {
            int l = in.read(buf, off, len);
            sink.write(buf, off, l);
            return l;
        public synchronized int read(byte[] buf) throws IOException {
            return read(buf, 0, buf.length);
        public synchronized long skip(long len) throws IOException {
            long l = 0;
            int i = 0;
            byte[] buf = new byte[1024];
            while (l < len) {
                i = read(buf, 0, (int)Math.min((long)buf.length, len - l));
                if (i == -1) break;
                l += i;
            return l;
        byte[] getBytes() {
            return sink.toByteArray();
        void resetSink() {
            sink.reset();
    } Then here is the initialization before use with SAX:
    this.psock = new Socket(this.profile.httpServer, Integer.parseInt(this.profile.httpPort));
    this.out = new PrintWriter(this.psock.getOutputStream(), true);
    this.ris=new RecordingInputStream(this.psock.getInputStream());
    this.in=new BufferedReader(new InputStreamReader(this.ris));
    try {
         this.parser = SAXParserFactory.newInstance().newSAXParser();
         this.parser.parse(new InputSource(this.in),new XMLCommandsHandler());
    catch (IOException ioex) {  }
    catch (Exception ex) {  }Then the handler class looks like this (it will be an inner class, so you can access ris, from the parent class):
    class XMLCommandsHandler extends DefaultHandler {
         public void startDocument() throws SAXException {
              //...nothing
         public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
              // BEGIN - Synchronized logging of raw XML source code in parallel with SAX parsing :)
              byte[] bs=ris.getBytes();
              logger.warn(new String(bs));
              ris.resetSink();
              // End logging
              if ("expectedTagThatTriggersMeToDoSomething".equals(qName)) {
                   //...Do smth.
    }Edited by: patladj on Jul 3, 2008 12:30 PM

  • Re:  Help with Java school program

    Hi, I've been trying to figure out how to make my DoubleCanvas java program to work. What I'm supposed to do is have a left canvas and a right canvas. In the middle of the applet is a button panel that can select to either draw on the left, right, or both canvases. We have a main DoubleCanvas applet class, then each canvas is drawn from a MyCanvas class. My problem is I don't know how to switch from one canvas to the other canvas from the MyCanvas class.
    Any help would be much appreciated. Thanks. :)

    Hi, sorry. I didn't want to clutter the page with stuff that might be wrong. This is my DoubleCanvas applet class in the works. I'm not sure I did the listeners correct. And I haven't gotten to add the Checkbox event stuff in the MyCanvas class in yet, because I don't know how to make the checkboxes activate a particular canvas. If you feel I should post the MyCanvas class please let me know, it's somewhat long.
    DoubleCanvas class
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    import java.lang.*;
    import java.math.*;
    public class DoubleCanvas extends Applet
    // ---- class and instance objects ----
    private Panel button_panel;
    private MyCanvas drawing_canvas1, drawing_canvas2;
    private CheckboxGroup canvas;
    private Checkbox left, right, both;
    private Choice color_choices;
    private Button undo_but, redo_but, erase_but;
    public void init()
    color_choices = new Choice();
    color_choices.add("white");
    color_choices.add("yellow");
    color_choices.add("gray");
    color_choices.add("magenta");
    erase_but = new Button("erase");
    undo_but = new Button("undo");
    redo_but = new Button("redo");
    canvas = new CheckboxGroup();
    left = new Checkbox ( "<-", true, canvas );
    right = new Checkbox ( "->", false, canvas );
    both = new Checkbox ( "<->", false, canvas );
    button_panel = new Panel();
    drawing_canvas1 = new MyCanvas();
    drawing_canvas2 = new MyCanvas();
    drawing_canvas1.setBackground(Color.black);
    drawing_canvas2.setBackground(Color.black);
    setLayout( new GridLayout(1,3) );
    button_panel.setLayout( new GridLayout(7,1) );
    button_panel.add( left );
    button_panel.add( right );
    button_panel.add( both );
    button_panel.add( color_choices );
    button_panel.add( erase_but );
    button_panel.add( undo_but );
    button_panel.add( redo_but );
    add( drawing_canvas1 );
    add( button_panel );
    add( drawing_canvas2 );
    left.addItemListener( drawing_canvas1 );
    right.addItemListener( drawing_canvas1 );
    both.addItemListener( drawing_canvas1 );
    color_choices.addItemListener( drawing_canvas1 );
    erase_but.addActionListener( drawing_canvas1);
    undo_but.addActionListener( drawing_canvas1 );
    redo_but.addActionListener( drawing_canvas1 );
    public void paint( Graphics g ) {

  • NUMBER - java.math.BigDecimal

    Dear JDBC writer,
    When I have done a query in my Java program on a table in an Oracle database with a NUMBER or NUMBER(4) or NUMBER(4,2) column,
    and I use the generic method ResultSet.getObject(int column), the method always returns a java.math.BigDecimal instance.
    1. In case of NUMBER(4) I had suspected a java.lang.Integer instance. In case of NUMBER I had suspected a java.lang.Double instance. Why did you return a java.math.BigDecimal instance?
    2. Was it your intention to do further calculations with the BigDecimal instance or should I check the precision and scale of the column and get the int or double out of the BigDecimal instance?

    Thanks for the tip about getNUMBER, that may help with some of my other problems, but I'm trying to get data out of oracle spatial geometry types, and both integers and floats are stored in arrays of numbers. If you do a getarray on these or even process them as a result set, you get bigdecimals. How could I do the equivalent of getNUMBER for an array type? This is a huge performance problem for Oracle spatial and java.

  • Java cup parser error!!!!!!!!!!!

    I am encountering an error in my parser made using java cup. When the parser is generated it creates action tables, conflict and reduce table. The error is in the action table. It is reading -1 from the action table starting, which gives ArrayIndexOutOfBound Exception.
    I dont know how to debug this since i have checked the lexer and the grammar thouroghly.
    Can anyone suggest me how to debug this code?
    PLease help asap

    Have you worked with Java cup parser specifications
    before?
    Please Stop amusing yourself on the forum. I am not a
    novice java programmer. Everyone knows there are
    print commands for debugging.
    Can any one help genuinely?I have used Cup on two projects. One was overkill - a simple XML file would have done - but the other was quite complex. Without seeing your definition files what hope have we got of saying what is wrong. Give us a chance.

Maybe you are looking for

  • How can I sort data in view that all member are transent attributes ?

    I create a view that 's not based on query . and all member of that view are transent attributes . if I want to sort records in the view with a transent attribute . What should I do ? as I know I can set order by clause , if that view is base on quer

  • X230 Wi-Fi problems after upgrading to Windows 8 Pro

    Hi, My X230 came installed with Windows 7 Pro and was working fine for several months. I upgraded my X230 (Intel Centrino Advanced n-6205) to Windows 8 Pro a few weeks back (10/27). The Wi-Fi was working fine for the first week or so. After that I en

  • Creating playlists by dragging folders: possible?

    Hi I'm new to itunes, iphone, mac, etc etc... I'm very very sorry if this has been brought up, but I can't find any threats answering this question. Maybe I'm not searching correctly. If anyone can help, I would appreciate it. I have been I avoiding

  • Cannot connect to internet after softqare update

    I have an old powerbook G4 running Mac OS X 10.3.9 (this is one of 3 macs) I also have an airport Extreme and an airport Express to make a network in my home. Frequently, after a software update to the old computer, it has trouble getting back on to

  • Delete Mode

    Hi, I would like to delete a single mode of any user/terminal (depending on the used tcode) after 5 min inactivity. My coding works so far, but it closes the parent mode (where I run my abap-program), not the mode I what it to close (where the tcode