Array of file variables

I wanted to have an array of variables of type Text_IO.File_Type.
So I declared:
TYPE file_array IS VARRAY(20) of Text_IO.File_Type;
f_array file_array;
begin
     f_array(1) := Text_IO.Fopen('c:\file', 'w');
This compiled but didn't work, the Fopen fails, all other Fopen's that are not with array variables worked.
Any idea why?
Thanks.
--Bassem                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Your syntax is slightly wrong you must initialise and extend the array:
declare
  TYPE file_array IS VARRAY(20) of Text_IO.File_Type;
  f_array file_array := file_array();
begin
  f_array.extend;
  f_array(1) := Text_IO.Fopen('c:\file', 'w'); It will then work.

Similar Messages

  • Read Binary File - variable binary format

    Hi Everyone,
    I'm using the "read from binary file" subvi to interpret some data from a file. I have the code running fine if the the temp file is always the same format, however I want the "read from binary file" to adapt to different file structures based on a user input. Here's a snapshot of my current VI:
    The structure of the file I'm reading can change, so I tried to make it so that user input would change the way labview interprets the binary structure. I did this using case structures. The issue I ran into is that the ouput of the different case structures merges into 1 line, and since each case structure's binary format is a different array size I get an error:
    ======>
    Does anyone know of a way to remedy this issue?
    If you take a look at my file, I was thinking about putting all of my commands that interpret the binary file and parse the data into a case structure similiar to the one above. I was trying to avoid this as I would end up with a set of the entire code in 12 different cases, and if I wanted to make a small change to the the code I would have to change all 12 cases.
    Thanks for any suggestions!
    Attachments:
    Read Copy of Binary File - Static.vi ‏105 KB
    Read Copy of Binary File - Variable.vi ‏105 KB

    One solution is to include the File Read into the case structure. But you need to find a way to return the different types of data records as you obviously can't connect them to the same indicator.
    All in all I find your design rather crude anyhow. Reading a file and letting the user decide what data type to expect is going to give lots of errors. Instead the file should contain information of what is in there and the reading routine should decide based on that how to interpret the next bunch of data.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Writing data from array to file

    May i know how to write string from a array into a file.
    I have use string tokenizer to extract every line from a file using readline and use stringtokenizer to spilt the line using tab delimiter for processing.
    But if i want to write data from array to file with tab as a delimiter and how to go to the next line. How do i do that. Below is the task and i have state a simple example on a array i have and the file output that i want.
    Pls advice.. Thanks
    eg of a array
    array[0] = Data
    array[1] = One
    array[2] = Data
    array[3] = Two
    array[4] = Final
    array[5] = Data
    From the above array, i want to write to a file so that it will appear something as below
    Eg textfile.txt
    Data One
    Data Two
    Final Data
    PLs attached a simple code as a example as i am only begining to start useing the IO feature in java. Thanks

    Really thanks for your help,
    but u are mentioning that i have already know the number of countters in advance , that is to say the 2 * counters.
    But is there a way to solve this problem which i mean if i dun know the number of predefined counters. Maybe i should say, there is more than 2 counters and in another situation, the counters will only be defined during runtime. Actually the solution u give will work nicely with 2 counters. but wat if the counter is more than 4, i wll have to concatenate the string a lot of time. so is there any solution around this problem. That why i am wandering if tere is any solution to write to the file when the counters can be only determined in runtime
    Pls advice on the above with a code samples if possible.

  • How to create an array containing shared variable values

    Hi
    I am trying to programmatically create an array containing shared variable values and their names.  I can get the variable names by supplying the process name to the get shared variable list function.  How do I then read the value of all the shared variable items returned?
    I have used a data socket open to open a connection to all variables when my program starts.  I then use datasocket read on the opened connections to write to an array.  This works fine until I try to write to one of the variables using a shared variable node.  The variables writes can take from 4secs to 2 mins.  When I remove the shared variable node again all is fine.  Also when I stop using the data sockets, all is fine.
    Is there a conflict between shared variable nodes and data socket writes to the shared variables?
    Can anyone help?  I cannot easily post example code because I am reading the variables from a Wago PFC (PLC) using OPC.

    Hi
    Sorry I forgot to mention the LabVIEW version, its 8.20.  I have tried saving the shared variable node as a sub VI and it makes no difference.
    Attached is a stripped down version of the software.  You will not be able to connect to the IO server because it requires some Wago hardware and software.  You may spot something I have done wrong with the I/O servers, variables or sub VI's.
    The main program that runs is called 'HMI Engine' in the 'Framework' folder.  There may be some other things in the project that aren't used in this example.  I have removed all but the variable connection part of the code.
    I hope someone can help!?
    Thanks
    Mark.
    Attachments:
    HMI Test.zip ‏144 KB

  • 3D string array to file

    How can I write a 3D string array to file?

    sascha:
    You could do this a lot of different ways.
    The first and most obvious thing that comes to my mind is that you can
    think about a 3D array as an array of 2D arrays. (For that matter a
    2D array is an array of 1D arrays.)
    Thus you could use a for loop to index your 3D array down to 2D and
    then perform multiple writes to write each 2D array "element" of this
    array of 2D arrays to disk. You would probably want to write some
    sort of header which defines how many dimensions there are in the
    array so that whatever reads it back later will have an easier time
    reading it back. (Otherwise you'd have to implement EOF handling for
    the read back portion.)
    To read it back you just use the same logic but build a 3D array using
    a 2D read inside a for loop.
    Dou
    glas De Clue
    LabVIEW developer (looking for a job...
    [email protected]
    [email protected] (SaschaS) wrote in message news:...
    > How can I write a 3D string array to file?

  • Create Class objects from an Array of File Objects

    Hi There,
    I'm having extreme difficulty in trying to convert an array of file objects to Class objects. My problem is as follows: I'm using Jfilechooser to select a directory and get an array of files of which are all .class files. I want to create Class objects from these .class files. Therefore, i can extract all the constructor, method and field information. I eventually want this class information to display in a JTree. Very similar to the explorer used in Netbeans. I've already created some code below, but it seems to be throwing a NoSuchMethodError exception. Can anyone please help??
    Thanks in advance,
    Vikash
    /* the following is the class im using */
    class FileClassLoader extends ClassLoader {
    private File file;
    public FileClassLoader (File ff) {
    this.file = ff;
    protected synchronized Class loadClass() throws ClassNotFoundException {
    Class c = null;
    try {
    // Get size of class file
    int size = (int)file.length();
    // Reserve space to read
    byte buff[] = new byte[size];
    // Get stream to read from
    FileInputStream fis = new FileInputStream(file);
    DataInputStream dis = new DataInputStream (fis);
    // Read in data
    dis.readFully (buff);
    // close stream
    dis.close();
    // get class name and remove ".class"
    String classname = null;
    String filename = file.getName();
    int i = filename.lastIndexOf('.');
    if(i>0 && i<filename.length()-1) {
    classname = filename.substring(0,i);
    // create class object from bytes
    c = defineClass (classname, buff, 0, buff.length);
    resolveClass (c);
    } catch (java.io.IOException e) {
    e.printStackTrace();
    return c;
    } // end of method loadClass
    } // end of class FileClassLoader
    /* The above class is used in the following button action in my gui */
    /* At the moment im trying to output the data to standard output */
    private void SelectPackage_but2ActionPerformed(java.awt.event.ActionEvent evt) {
    final JFileChooser f = new JFileChooser();
    f.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    int rVal = f.showOpenDialog(Remedy.this);
    // selects directory
    File dir = f.getSelectedFile();
    // gets a list of files within the directory
    File[] allfiles = dir.listFiles();
    // for loop to filter out all the .class files
    for (int k=0; k < allfiles.length; k++) {
    if (allfiles[k].getName().endsWith(".class")) {
    try {
    System.out.println("File name: " + allfiles[k].getName()); // used for debugging
    FileClassLoader loader = new FileClassLoader(allfiles[k]);
    Class cl = loader.loadClass();
    //Class cl = null;
    Class[] interfaces = cl.getInterfaces();
    java.lang.reflect.Method[] methods = cl.getDeclaredMethods();
    java.lang.reflect.Field[] fields = cl.getDeclaredFields();
    System.out.println("Class Name: " + cl.getName());
    //print out methods
    for (int m=0; m < methods.length; m++) {
    System.out.println("Method: " + methods[m].getName());
    // print out fields
    for (int fld=0; fld < fields.length; fld++) {
    System.out.println("Field: " + fields[fld].getName());
    } catch (Exception e) {
    e.printStackTrace();
    } // end of if loop
    } // end of for loop
    packageName2.setText(dir.getPath());
    }

    It's throwing the exeption on the line:
    FileClassLoader loader = new FileClassLoader(allfiles[k]);
    I'm sure its something to do with the extended class i've created. but i cant seem to figure it out..
    Thanks if you can figure it out

  • How to add array of file types to file dialog box

    Hi
    I just want to know how to add array of file types in file dialog box vi. I know that multiple file type can be added to filedialog vi in the pattern Input string separated by semicolon (eg *.vi;*.doc;*.jpeg;*.xls). But i want file dialog which is shown in the below picture.
    I think that file dialog vi call user32.dll but i don't have that header file to call that dll.
    Waiting for your esteemed response.
    Thanks & Regards
    Samuel J
    System Engineer
    Captronic Systems Pvt Ltd
    Bangalore, India.

    I'm not sure how (or even if) it can be achieved using the LabVIEW built-in open dialog, but a .NET call to openfiledialog (http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx) can do what you're looking for. The .NET functions are better documentented that simple user.dll calls, so it might be easier to implement.
    Shaun

  • Array of files

    Hi!
    I'm creating simple image viewer and i'd like to add 2 buttons (got biiig problems with that too so now i'm trying with keyboard:) for moving to next or previous image in directory, starting from the image which is actually loaded.
    How to do that?

    Thanks for answering.
    What do you mean by "data model"? I'm really new to java...
    All loading, saving and displaying images already works.
    I've found listFiles function and i'm using it with a image file filter like this
    File[] files = file.listFiles((FileFilter)filter);
    but how to is this list created? Is the loaded file the first one in this array or is it created alphabetically? The more complicated my application is the less my debugger works :) so i can't check it by myself. Do i have to search the array for my file, store its index and then use it to move back and forward? If yes, how to search array of files for specific file?

  • Write array to file

        Hi,
    i am trying to write an array coming out of a for loop into a file. If i plot the array in the Front panel everything works, but if i write it to a text file some aditional characters (empty space and this rectangle) appear.
    The file should look like the text file but without spaces before first number of row and rectangle.
    Attached are .txt and screenshot of blockdiagramm
    Thanks for any help
    Philipp
    Attachments:
    bd.jpg ‏98 KB
    summary.txt ‏1 KB

    First of all: Thanks.
    Your solution did exactely what i want, and i am fine with using a non-elegant version, if it works.
    About that autoindexing + indexing the path:
    I know this is stupid, and i changed it to not  autoindexing. But these things happen, when you try to quickly expand an already existing vi and want to automatize with for loops instead of doing the same things over and over.
    I am attaching the whole vi. it first was just the analysis, basically the inner loop, where i wanted to be able to vary the number and size of the parts of the waveform that go into the PSD to see how analysis time and numbers of averages effects the spectrum.
    In the next step i created a vi that writes a string of two variables in a file, and then i wanted to do this for all files in a directory.
    i am totally aware of the fact, that there are several dirty solutions. But i guess you are used to seeing these things, that could be done much more elegantely and efficiently, but if you try to get a quick solution that works for you and you learned Labview by trial and error, this is the way your vi´s look like.
    By the way, what would you suggest to learn "clean" labVIEW programming ?
    thanks again,
    Philipp
    Attachments:
    acc_analysis+summary+loop.vi ‏182 KB

  • Can't create float array with a variable name as size parameter?

    Hi,
    When trying to compile code that users a variable in the array subscript to set the size, CC gives the following error:
    Error: An integer constant expression is required within the array subscript operator.
    1 Error(s) detected.The code is as follows:
    int main()
    //blah blah
    const int arrSize = numberVariables;
        float tempArr[arrSize];
    //blah blah
    }Output from CC -V:
    unknown% CC -V
    CC: Sun C++ 5.9 SunOS_i386 Patch 124864-01 2007/07/25Output from uname -a:
    unknown% uname -a
    SunOS unknown 5.10 Generic_137138-09 i86pc i386 i86pcAny ideas on why CC is giving that error?
    ~Slow
    Edited by: SlowToady on Nov 15, 2008 8:28 PM
    Edited by: SlowToady on Nov 15, 2008 8:36 PM

    Marc_Glisse wrote:
    Last time I checked, I did not see VLAs in the draft of the next C++ standard, which I believe is now feature complete. So either I missed it (quite possible) or VLAs were considered a bad idea (for C as well many people consider alloca and VLA bad ideas). It is however a very reasonable extension to have (care to file a RFE?).The following code performs like this on an IBM x366 with 4 single-core 3.16 GHz Xeons, running OpenSolaris build 96:
    -bash-3.2$ ./thrtest
    malloc() took 440895924 ns
    alloca() took 2122522 ns
    -bash-3.2$Using alloca is two hundred times faster.
    Two hundred times faster.
    Think about that next time some pedant says alloca "sucks".
    Try for yourself. Here's the code:
    #include <stdlib.h>
    #include <pthread.h>
    #include <alloca.h>
    #include <strings.h>
    #include <stdio.h>
    #define NUM_THREADS 8
    #define ITERS 10000
    #define BYTES 1024
    typedef void ( *mem_func_t )( void );
    void alloca_iter()
        char *ptr;
        ptr = ( char * ) alloca( BYTES );
        memset( ptr, 0, BYTES );
        return;
    void malloc_iter()
        char *ptr;
        ptr = ( char * ) malloc( BYTES );
        memset( ptr, 0, BYTES );
        free( ptr );
        return;
    void *thread_proc( void *arg )
        mem_func_t mem_iter;
        mem_iter = ( mem_func_t ) arg;
        for ( int ii = 0; ii < ITERS; ii++ )
            mem_iter();
        return( NULL );
    int main( int argc, char **argv )
        pthread_t tids[ NUM_THREADS ];
        void *results[ NUM_THREADS ];
        hrtime_t start;
        hrtime_t end;
        int ii;
        start = gethrtime();
        for ( ii = 0; ii < NUM_THREADS; ii++ )
            pthread_create( &tids[ ii ], NULL, thread_proc, malloc_iter );
        for ( ii = 0; ii < NUM_THREADS; ii++ )
            pthread_join( tids[ ii ], &results[ ii ] );
        end = gethrtime();
        printf( "malloc() took %ld ns\n", end - start );
        start = gethrtime();
        for ( ii = 0; ii < NUM_THREADS; ii++ )
            pthread_create( &tids[ ii ], NULL, thread_proc, alloca_iter );
        for ( ii = 0; ii < NUM_THREADS; ii++ )
            pthread_join( tids[ ii ], &results[ ii ] );
        end = gethrtime();
        printf( "alloca() took %ld ns\n", end - start );
        return( 0 );
    }

  • Assigning java script array to a variable in struts form class

    Hi,
    I am trying to send a javascript array of string from jsp to struts action form.
    I have constructed a javascript array and assigned it to the form variable. But iam not able to access the variable in Action form. :( please let me know as to how i can send a string array in javascript to action form?.
    JavaScript
    var scriptarray = new Array();
    // code for populating the array
    document.MyForm.javaArray = scriptArray;
    document.MyForm.action="MyAction.do?dispatch=handlerMethod";
    document.MyForm.submit();

    var input = document.createElement("input");
    input.setAttribute("type", "hidden");
    input.setAttribute("name", "bla..bla");
    input.setAttribute("value", "bla..bla");And in addition to that.. Google is still alive

  • Problem in assigning script array to Js variable

    There is a huge list(20,000) of cities that has to be put into a script array for the further use in the jsp page. so this script array is created once for all when the login is made for the application and stored a session variable. The sample of the script array is like-----
    <script>
    strArrCityName[17463]= "Zoar";
    strArrCityID[17463]= "10599";
    strArrCityStateID[17463]= "3";
    strArrCityName[17464]= "Zoarville";
    strArrCityID[17464]= "10600";
    strArrCityStateID[17464]= "3";
    </script>
    the entire stuff from <script>---</script>(uncluding the script tags is stored as a string in the session (strSessionCityArr))
    Now the porblem is i need to store this array into a js variable on jsp page load.
    I order to that i need to declare a js variable in jsp page
    ex::
    <html>
    <body>
    This is a sample jsp page created by <%= strUserName%>
    <script>
    var cityarry = "<%=session.getAttribute('strSessionCityArr')%>";
    </script>
    </body>
    </html>
    when i assign the array to the js variable , the <script> tag inside the string is conflicting with the <script> tag that of the jsp page.
    This throws the js error and the futher loading of the page is stopped.
    The reason i am storing it in the js variable is i will be painting the script array dyanamically on click of a button.
    Also in need both the script tags in the array is in other jsp pages i will painting the array on page load by using the out.println(strCityArray)
    I need a way in which this script array can be stored in js variable or any method by which i can directly get it from the session on button click
    Thanx in advance
    Manu

    i had tired constructing the script array using the JS but JS logic is always slower ...my point was not to do it all with JS code. My point was that unless you know how to properly define it as JS-only code, then it makes it hard to figure out how to break that up to Java generated code. It's clear to me that you don't have a very good grasp of what you're trying to do.
    The second point is, in some JSPs i need the <script> tags to be included in the array. No they don't. You can always put the <script> tags around what your Java variable includes if you are using that content in several places...
    <script><%= session.getAttribute('strSessionCityArr') %></script>

  • Log file variables

    Hi
    I am taking the following steps to try to generate my log file from an ODI variable:
    1. Create an ODI variable say called ESSBASELOG, give it a path and file e.g. D:\ODI\Errors\Essbase\essload.err
    2. In your interface in the KM options for the log filename enter #ESSBASELOG.
    3. Create a package, drag the variable and set it to declare, drag the interface, join them up, execute.
    But for some reason, the path is not recognised, and instead the log file is generated in the ODI bin directory with the variable name as the log name ie.#ESSBASELOG.
    Can anyone suggest what I should try to resolve this?
    Cheers

    Hi,
    Qualify your variable name with your project code .
    i.e #<PROJECT_CODE>.<VARIABLE_NAME>
    Thanks,
    Sutirtha

  • Fill array with file names

    What am I missing?  I've got alerts that should pop up if it works and if it fails but instead it does nothing, I'm sure its possible to create an array that is made up of all the file names of a folder.  In the past I've had to enter all the values one a time and some of these folders have 200+ files in it.
    #target illustrator
    filltotesTempArr
    function filltotesTempArr()
    var toteTemparray = new Array(toteTemps)
    var toteTempPath = Folder ("S:/Illustrator JS Palette/Direct Template Calls/Totes");
    var allFiles = artPath.getFiles(order);
    var toteTemps
    if (allFiles.length > 0)
        for (i=0;i<allFiles.length;i++)
                toteTemps = toteTemps + app.open(allFiles[i] )
              }//end for
          alert("Your array has the current values:" + toteTemps);
        }//end if
        else
        alert("Script to fill Totes Templates Array has failed");

    I need to take all the files inside of a folder, and put their file names in an array like this;
    var totesarr1= new Array ("A165331","A165332","A165333","A165334","A165337","A165338","A165344","A165348", "A165349",
    "A165352","A165353","A203","A210","A211","A214","A222","A229","A231","A232","A234","A248","A250","A252","A268",
    "A271","A272","A278","A290","A292","A322","A323","A324","A325","A327","A330","A402","A404","A405","A407","A408",
    "A409","A410","A411","A414","A415","A417","A420","A422","A423","A424","A425","A427","A430","A436","A438","A439",
    "A440","A441","A443","A446","A448","A449","A450","A451","A452","A454","A455","A456","A460","A461","A468","A470",
    "A490","A495","A497","A500","A508","A509","A510","A512","A513","A514","A518","A524","A525","A526","A527","A530",
    "A533","A534","A536","A543","A581","A582","A587","A602","A619","A624","A705","A707","A710","A714","A715","A739",
    "A740","A741","A742","A743","A744","A745","A748","A750","A751","A752","A753","A754","A755","A756","A763","A800",
    "A801","A804","A806","A811","A815","A817","A818","A819","A824","A832","A835","A836","A838","A841","A844","A848",
    "A849","A852","A854","A856","A857","A859","A861","A863","A865","A866","A868","A871","A873","A877","A879","A881",
    "A885","A888","A890","A894","A899","A900","A902","A904","A940","A941","A943","A944","A945","A948","A97307","A97309",
    "A97313","A97314","A97315","A97316","A97321","A97326","A97340","A97342","A97708","A97715","F742","F751","V6432");
    so the closest thing that I can come up with is this;
    #target illustrator
    filltotesTempArr
    function filltotesTempArr()
    var toteTemparray = new Array(toteTemps)
    var order = new RegExp(input);
    var toteTempPath = Folder ("S:/Illustrator JS Palette/Direct Template Calls/Totes");
    var totetempnames = toteTempPath.getFiles();
    var totetemps = new Array ()
    var allFiles = toteTempPath.getFiles();
    if (allFiles.length > 0)
        for (i=0;i<allFiles.length;i++)
                toteTemps = toteTemps + "," + app.open(allFiles[i])
              }//end for
          alert("Your array has the current values:" + toteTemps);
        }//end if
        else
        alert("Script to fill Totes Templates Array has failed");
    alert ("Script is Done")
    but even this dosn't work like it should
    #target Illustrator
    GetTempNames;
    function GetTempNames ()
    var toteTempPath = Folder ("S:/Illustrator JS Palette/Direct Template Calls/Totes");
    var toteTempNames = toteTempPath.getFiles()
    var totetemparr = new Array ( toteTempNames )
    alert ("script is done get ready");
        alert ("Here " + totetemparr);
    so now I'm at a loss

  • IDOC to File, variable substitution on outbound message XML tag attributes

    My scenario is IDOC to FILE using XSL mappings.The target format is 2 XML tags (header, line) with the data stored in the attributes of each tag.
    EG. <header attr1=one attr2=two attr3=three><line attr1=one attr2=two /></header>
    The name of the file is dictated by an outbound attribute value in the header tag.
    Can I get access to it the attribute in the target message in the CC_FILE using variable substution. ?
    Currently I am not using content conversion as the XSL produces the file format needed, so I would pefer not to change the outbound message format/structure as this is going to an external party. I would prefer not to change the outbound format as this would need content conversion to strip the unwanted/information/processing node that is used for this purpose (file naming).
    The name is a calculation of fields in the IDOC and is not explicit dictated (business logic is applied in the mapping to get the file name), so I would prefer to use the attribute of the resulting XML to keep the "business logic" in the XSL..
    Things that cannot be changed.... 1. Must use XSL.for mapping. 2. Format cannot be changed of the outbound message. 3. Would prefer not to involved content conversion to keep formatting/node structure in the XSL mapping.
    I have seen some reference to this being possible on the forums but nothing solid from what Ive read.
    Something like var1 = payload:/Header/@attr1 in variable sub to get at the attribute
    Any comments ?
    Thanks in advance.
    One final piece of info. its on a PI 7.1 system.

    I think its best explained by my other thread Link:PI 7.1 Access to Dynamic Configuration through Java Class .
    Thanks for the link I have already implemented based on that link but the one crucial difference is that it is implemented using a static method with no reference to the actual object (payload) for Dynamic configuration. It seems that without the 7.0 API which isnt available in 7.1 by default XSL with java extentions is limited to static methods. If you could read the other thread it certainly is possible I'm mistaken.

Maybe you are looking for

  • How do I transfer my app to another computer?

    I bought Live Interior 3D form the apps store into my iMac, and would like to transfer it to my iMac. How do I do that?

  • Adobe Indesign, Illustrator, and Photoshop wont update

    I'm trying to use the Folio Builder in InDesign CS6 but when I access the panel it says updates are required. I went to Help>Updates and it says : "The update server is not responding.  The server might be offline temporarily, or the Internet or fire

  • HT5267 why "make" command is not working anymore with OS X 10.8?

    After the installation of Mountain Lion I am no more able to complire my c++ programs, to install packages with "make" command through the terminal. How this can be solved?

  • What app opens a .SMB file

    I created a backup of a my Dad's desktop Mac (the old one with the handle). I don't know the OS version. It was about two years ago. I have the backup file on a hard disk. the file extension says .SMB I need to know restore files from that backup but

  • Jsp 2.0 Expression Language Performance

    Hi,           We're using EL throughout our application JSPs and Tags (${x} expressions), and we've discovered that for each dynamic expression used, the weblogic implementation creates a new ExpressionEvaluator object, a new Parser object, performs