Handle sequence of actions with callbacks

I am programming a measurement sequence involving readings from a DVM (Keithley 2002) and activating switches on the 2002 and on another instrument.
The readings are for temperature (potentiometric across a reference and a probe, so it involves several voltage readings and switch activations), as well as voltage across several channels. They use the same instrument in the same mode (DCV).
There is a specific measurment sequence I need to keep (voltage1, voltage 2, temperature, voltage 3, ...).
The DVM is set up with an integration time of about 1 s, so there is some idle time from triggering to reading ready, where processing or user events could be handled, but I need to be able to return to the point in the main sequence (or the temperature measurement sequence) from where I came.
So presently I have the reading routine just call the (hierachy) of subroutines for temperature and voltage, and when reading voltage, circle in a loop checking the STB, because I do not really know how to handle it by using a CallBack (how to "get back" to the correct place in the sequence).
In other situations I have used a global status variable and a switch statement in the main routine, and have the function getting the reading, change the status variable and then post a deferred call to the main sequence routine before it returns, but here it would require several levels and a LOT of states.
I have looked for a "standard" LabWindows way of doing this, but not really found anything.
Any help is appreciated, e.g. pointers to examples
Thanks

Hello HDJ,
I don't know how your code (especially your main function) currently looks like, but there are a few useful things you do/use.
Using a state machine like approach would indeed be a good start, but of course you would like to maintain a responsive User Interface (eg. stop/abort buttons).
What you could do is the following:
- Implement your state machine in a separate thread (for example by using the functions Anders has shown).
- Make your "state machine thread/loop” driven by thread safe queues (http://zone.ni.com/reference/en-XX/help/370051Y-01/cvi/programmerref/threadsafequeue/)
  This allows you to:
  1) receive queue elements from the UI (callbacks)
  2) receive queue elements from the state machine itself
  3) receive queue elements from any other parallel thread (including other acquisition related callbacks).
- Provide the necessary states in this state machine to handle both User Interaction (eg. stop/abort ) as well as the continuation from step 1 to step 2 and so on.
This includes but is not limited to an abort state, init state, DoStepX state, Waiting for response state(s)…
To be able to give you some more precise information I would like to ask you if you can give more information concerning the following things?
- Are you currently working on a fixed order and functionality sequence (always step A first, then step B , then step C, etc..) ?
Or is the order of the different steps (and if they should be executed or not) in your sequence dependent  on the result of each (or multiple) step(s)?
- Do you have multiple versions of the sequence that use the same steps (in a different order) or do you only have 1 possible sequence?
- How does a current (working) implementation of your sequencer look like?
  (this can be shown in pseudo code) This can give a better idea of what could be improved and which limitations are imposed upon it.
Kind Regards,
Thierry C - Applications Engineering Specialist Northern European Region - National Instruments
CLD, CTA
If someone helped you, let them know. Mark as solved and/or give a kudo.

Similar Messages

  • Dymanic action with jQuery selector not working in version 4.2.2

    Hi,
    We’re in the process upgrading to APEX version 4.2.2. We have an issue is with a report with a link that’s firing a dynamic action with a jQuery selector.
    The first sequence in the dynamic action is Confirm. When we click the link in the report it’s supposed to popup a confirm “Are you sure you want to save?"
    When we click the link nothing happens. This works in our current version 4.0.1, but not in 4.2.2. Do you have any ideas?
    Thanks,
    Joe

    change the
    in the url to
    javascript:void(0);
    The reason for your issue is that the default action of the anchor tag is not prevented and thus navigation occurs. A confirm action will return true or false, and execution of further true actions will stop when selecting cancel but this will still not prevent the default action from occuring. Similarly a cancel event true action is not adequete as this has to be run after the confirm so not accounting for the execution-stopping cancel of the confirm.
    That javascript in the url is some good ol' "hack". It'll run that javascript instead of performing a navigation and void(0) just does nothing, and the click dynamic action will be unaffected.

  • Create a sequence of actions in the toolbar button in Visual Composer

    Hi!
    I've a problem with the toolbar buttons in visual composer. On a table, I would like to have one button which launch 2 actions. For example, I want to call an event (custom action) and after that I want to select a row in another table (system action, select).
    It works fine when I create 2 buttons with the toolbar buttons but my wish is to have only one button with several actions (like a sequence of actions). Is it possible?
    Thanks for any help!

    Hi Ronan,
    I think you can achieve your requirement by creating the Wizard in SAP Visual Composer.
    The following link provides the detailed steps to Create the Wizard in SAP VC.
    http://help.sap.com/saphelp_nw04s/helpdata/en/88/fedb4269b2f340e10000000a1550b0/content.htm
    Please have a look.
    Thanks,
    Prashant
    (Please reward points for useful answer)

  • Can we perform two actions with one button with two clicks one after other?

    Sir,
    can we perform two actions with one button with two clicks one after other?
    I want that when I click an Add Button first time it add data to the database and when I click again this button it clear the form data to empty fields.
    Regards
    Tanvir

    In code it should be easy.
    The following code adds a button called butman with a text "ADD".
    It then registers a listener that will be called if the button is clicked.
    This listener then calls the runAddData method if you clicked on butman while it contained the "ADD" text and it will call the runClearData method otherwise.
    Therefore it will swap the button's functionality between ADD and CLEAR on every click.
    final Button butman = new Button("ADD");
    butman.setOnAction(new EventHandler<ActionEvent>() {
              @Override
              public void handle(ActionEvent t) {
                        if (butman.getText().equals("ADD")) {
                                  butman.setText("CLEAR");
                                  runAddData();
                        } else {
                                  butman.setText("ADD");
                                  runClearData();
                        } // END IF-THEN
              }});I hope this is what you wanted.
    Some extra food for thought.
    You might want to run the ADD and CLEAR methods in their own threads so that it can run in the back ground, without slowing down your user interface.
    I also like to rather reuse one button for multiple functionality in stead of making an application with hundreds of nodes only used rarely with masses of code to show and hide them if needed.

  • Automator: how to stop a sequence of actions?

    Hi, i have 4 sequence of actions
    find Finder Items - Move Finder Items
    find Finder Items - Move Finder Items    (in folder 1)
    find Finder Items - Move Finder Items    (in folder 2)
    find Finder Items - Move Finder Items    (in folder 3)
    There is one item that matches the first sequence of actions but the problem is that the script continues and the file is moved to "folder 3".
    How can i stop the script when the first criteria is matched?

    Hi,
    One way could be to use 2 regexp_like :SQL> with sampledata as (
      2  select 'RBA' v from dual
      3  union all select 'RBAM' v from dual
      4  union all select 'RBAMS' v from dual
      5  union all select 'RBAS' v from dual
      6  union all select 'RBASM' v from dual
      7  union all select 'RBATEST' v from dual
      8  union all select 'RB' v from dual
      9  union all select 'MSRBA' v from dual
    10  )
    11  select v
    12  from sampledata
    13  where regexp_like(v,'^RBA')
    14* and not regexp_like(v,'^RBAMS');
    V
    RBA
    RBAM
    RBAS
    RBASM
    RBATESTI'm still trying to see how to do both condition at once...
    Gotcha
    SQL> with sampledata as (
      2  select 'RBA' v from dual
      3  union all select 'RBAM' v from dual
      4  union all select 'RBAMS' v from dual
      5  union all select 'RBAS' v from dual
      6  union all select 'RBASM' v from dual
      7  union all select 'RBATEST' v from dual
      8  union all select 'RB' v from dual
      9  union all select 'MSRBA' v from dual
    10  )
    11  select v
    12  from sampledata
    13* where regexp_like(v,'^RBA([^M]|M[^S])'):
    V
    RBAS
    RBASM
    RBATESTArg !..... Not good.
    Still trying...

  • Need XSDs, API Java Docs and Java (with callback hooks) extension sample

    Would someone(Sue Harper?) please give us an ETA on when the info we developers need to develop extensions to SqlDeveloper will be made avaialble by Oracle?
    We have been waiting over a year to:
    1. Get the XSD files the poster refers to - the list of XSDs is on the page cited but all of the links take you to a generic download page and the XSDs are nowhere to be found. These must exist somewhere so it is very frustrating that no one on the development team will provide them.
    2. Get the API Javadocs so we can understand the java classes available and how to use them. As with #1, these must be available to the development team so why won't Oracle release them to us?
    3. Get a working example of a Jave extension. The lone example provided is not useful since it is really just an XML extension written in Java.l A useful Java extension would show how to create the hooks to cause SqlDeveloper to perform callbacks to the Java extension code when certain user actions take place. Same here as with #1 and #2. It's hard to beleive that someone on the dev team doesn't have the code for a simple Java extension with callbacks.
    JDeveloper has 'hook' elements in its example extension.xml files but there is no documentation for SqlDeveloper to show the equivalent.
    Please either provide the above requested items, provide an ETA on when Oracle will provide the items or at least be gracious enough to tell us Oracle won't provide the items.
    I'm sure there are many like myself that would love to start working with extensions but can't because Oracle won't share information and data that almost assuredly already exists.
    Waiting patiently. . .

    Hi,
    I'm sorry are feeling so aggrieved by the apparent lack of response from the SQL Developer team. There is a lot of information on the Oracle Wiki, where it has been available for well over a year. The detail and examples were initially created and published in 2008, while the xsds were added earlier this year. The recent OTN migration (in July) broke the links to the xsds, which I was unaware of and am glad you brought that to my attention.
    I see from your note that you have found the Oracle Wiki and the examples, so your complaint is really that the examples are not sufficient. Oracle is not hiding the detail, and we have every intention of adding more. This is just like any other feature request in the product. We are prioritizing the work that must be done and right now the team is focusing on those features most requested by the broadest audience. We do plan to add more and it was on our feature list for the next release. Like all features features proposed for future releases, we can't guarantee they will be included and we don't provide dates. The advantage of this particluar "feature" is that it is not dependent on a release date and can be updated after the next production release.
    We already have a number of customer teams writing Java extensions to the product very successfully.</p>
    <p> I will update the wiki withthe XSD link, but until that is done here they are:<br>
    Dialogs<br>
    Displays<br>
    Editors<br>
    Navigators<br>
    Query<br>
    Snippets</p>
    <p>Regards<br>
    Sue Harper<br>
    </p>

  • Sequence initialize problem with pre-mapping process

    Hi,
    I use a pre-mapping process in a mapping which executes a function which :
    a) drops a sequence
    b) re-creates the dropped sequence ( CREATE SEQUENCE xxxx START WITH 1)
    But OWB creates always the sequence beginning with 21 as value ?
    If I executes the procedure in SQL manually then it works fine and starts the sequence with 1.
    Is there an explanation for this action (bug ?) ?
    Thanks in advvance,
    Eric

    Hi,
    Its always better to create the sequence manually,import it into OWB and then use it.
    Regards
    Bharath

  • Proble with callbacks

    This is the usual case...
    I am trying to create a client - server application, where the server will be able to perform call backs using methods of an exposed object at the client.
    I saw the tutorial and what I did was this:
    I created a "register" method at the remote object of the server that has a parameter that is a handle to the client remote object. I store all the handles in a Vector with IDs and stuff so I can Look them up and use them. The look up works fine.
    The client remote object DOES NOT extend UnicastRemoteObject. Is that the correct approach?
    The problem I'm having is that once the client registers, the server can perform a callback from within the same method (the method that the client uses to register). If the server attempts to perform a callback at a later time I get a NullPointerException ...
    I triple checked my code in case I tamper with the handle values. That doesnt seem to happen though.
    I read in an older post concerning the same matter that I should extend UnicastRemoteObject at the client. Is that true? Right now its pretty much the same with the tutorial.
    Is it possible for the Garbage Collector to erase my handles?
    Cheers
    John

    OK I ve changed the code to make it a bit less messy. Still I get the same errors.
    So now I have a Remote interface at the server that accepts calls from the client :
    import java.rmi.Remote;
    import java.rmi.RemoteException;
    import java.util.Vector;
    public interface ClientRMICommandHandlerInterface extends Remote{
    public User clientGetUserData(String sUserName) throws RemoteException;
    public User clientRegisterNewUser(String sUID) throws RemoteException;
    Vector clientConnectToServer(ClientReceiverInterface cri,User user) throws RemoteException;
    boolean clientDisconnectFromServer(User user) throws RemoteException;
    boolean clientSendMessage(User user,String sMessage,String sUIDdestination, int iMessageMethod) throws RemoteException;
    boolean clientSetUserData(ClientReceiverInterface cri,User user) throws RemoteException;
    boolean clientSetState(ClientReceiverInterface cri,User user) throws RemoteException;
    boolean clientSetDefaultState (ClientReceiverInterface cri,User user) throws RemoteException;
    User clientAddFriend(ClientReceiverInterface cri,User user,String sUID) throws RemoteException;
    boolean clientRemoveFriend(ClientReceiverInterface cri,User user,String sUID) throws RemoteException;
    The method clientRegisterNewUser(String sUID) does not accept the client reference to the client remote object ... Most of the other methods have an argument named ClientReceiverInterface cri. This is the interface of the remote object at the client.
    Before I get to that I have to say that the RMI calls from the client to the server (to the interface above) work perfectly.
    I will include the part of the code I use to implement this interface:
    public class LocalClientManager extends UnicastRemoteObject implements ErrorListener,ClientRMICommandHandlerInterface{ ...
    public Vector clientConnectToServer(ClientReceiverInterface cri,User user) throws RemoteException{ ...}
    } // end class
    This is how I instansiate the class:
    try {
    localClientManager = new LocalClientManager();
    catch (RemoteException re) {...
    And this is how I bind it...
    try {
    Naming.rebind("rmi://" + SERVER_IP + ":" + RMI_REGISTRY_PORT + "/LocalClientManagerService", localClientManager);
    catch (MalformedURLException mue) {...}
    On the client side I have the ClientReceiverInterface. This looks like:
    import java.rmi.RemoteException;
    import java.util.Vector;
    public interface ClientReceiverInterface extends java.rmi.Remote{
    public void setFriendData(User uFriend) throws RemoteException;
    public void setFriendList(Vector vNewFriendList) throws RemoteException;
    public void setMessage(String sMessage,String sUIDorigin, int iMessageMethod) throws RemoteException;
    and the Implementation class is :
    import java.rmi.server.UnicastRemoteObject;
    import java.rmi.RemoteException;
    import java.util.Vector;
    public class ClientReceiver extends UnicastRemoteObject implements ClientReceiverInterface{ ...
    all the method implementations follow...
    }// end class
    This is how I instansiate the object
    try{
    clientReceiver = new ClientReceiver();
    }catch(RemoteException re){...}
    I do call super() on the class above ( I saw just now that I dont on the server side Remote object but I guess thats ok since java calls it anyway...)
    The way in which I store the references at the server is a bit complicated to post here since it involves a number of classes (4 actually) and references pasted from one to the other using "events". By the way could that be the problem? I mean I 'm 100% sure that I dont reset the reference value to null and I have a System.out.println before any changes happen to it so I know exactly when and why a change it. But could the problem be that I pass it around the server classes as an argument?
    As I said in an older post the funny thing is that if I use the reference immediately after I get it (in one of the methodes of the ClientRMICommandHandlerInterface it works great. Once I store it and try to reuse it I get the exception.
    I hope that know you can tell me where I 'm wrong.
    In any case I really appresiate your help .
    Cheers
    John
    PS: Sorry about the long listing and the funny names for the classes and the interfaces

  • Automator action with dropdown to make folders with predetermined names

    Is there an action/workflow that will allow me to create Folders using a dropdown menu of predetermined names for those folders?

    I haven't seen one, and since no one has posted about one yet, I'll throw this out.
    I modified a couple of handlers I have laying around into a Run AppleScript action that will make folders from a list of names. The list can be set in a Get Specified Text action, with the "menu" being a Choose from List action:
    Tested workflow:
    1) Get Specified Text (your folder names, separated by returns) for example:
    Testing
    Another test
    My Spiffy New Folder
    2) Filter Paragraphs (Return paragraphs that are not empty)
    3) Choose from List (Prompt: Please choose folder names:)
    4) Run AppleScript:
    <pre style="
    font-family: Monaco, 'Courier New', Courier, monospace;
    font-size: 10px;
    margin: 0px;
    padding: 5px;
    border: 1px solid #000000;
    width: 720px; height: 340px;
    color: #000000;
    background-color: #FFDDFF;
    overflow: auto;"
    title="this text can be pasted into an Automator 'Run AppleScript' action">
    on run {input, parameters}
    make folders with names from a list
    input: a list of names (text items)
    output: a list of Finder items (aliases) created
    set output to {}
    set DestinationFolder to missing value -- set the destination path here if desired
    try -- verify that the path is valid
    set DestinationFolder to DestinationFolder as alias
    on error
    set DestinationFolder to (choose folder with prompt "Choose the location to make the selected folders:")
    end try
    repeat with AnItem in the input
    GetUniqueName for AnItem from DestinationFolder -- avoid duplicates
    try
    tell application "Finder" to make new folder at DestinationFolder with properties {name:the result}
    set the end of the output to the result as alias
    end try
    end repeat
    return output
    end run
    to GetUniqueName for SomeName from SomeFolder
    check if SomeName exists in SomeFolder, creating a new unique name if needed
    parameters - SomeName [text]: a name.extension to check for
    SomeFolder [mixed]: a folder to check
    returns [text]: a unique name
    set {Counter, Divider} to {"00", "_"}
    set Here to -(offset of "." in ((reverse of text items of SomeName) as text)) - 1
    set TheName to text 1 thru Here of SomeName
    if Here is -1 then -- no extension
    set TheExtension to ""
    else
    set TheExtension to text (Here + 1) thru -1 of SomeName
    end if
    set NewName to TheName & TheExtension
    tell application "System Events" to tell (get name of items of folder (SomeFolder as text))
    repeat while it contains NewName
    set Counter to text 2 thru -1 of ((100 + Counter + 1) as text) -- leading zero
    set NewName to TheName & Divider & Counter & TheExtension
    end repeat
    end tell
    return NewName
    end GetUniqueName</pre>
    - the output from the Run AppleScript action is a list of aliases to the folders created, if you want that information to do something with.

  • Dynamic action with set value on date field

    Hi,
    I'm using APEX 4.02
    I'm trying to calculate the age based on the date of birth dynamically on a form. I'm trying to do this with a (advanced)dynamic action with set value.
    I'm able to get this kind of action working based on a number field etc, but NEVER on a date field.
    I've read all posts on this subject but so far no solution. Even if I try to simply copy the value over to another date field or typecast it to a string ( to_char function ) it does not work. So for me the problem seems to be in the source field being a date field.
    I've tried using the source value as is in a select statement :
    select :P33_GEBOORTEDATUM from dual;
    and also type casted based on the date format :
    select TO_DATE(:P33_GEBOORTEDATUM,'DD-MON-YYYY') from dual
    but still no luck.
    On the same form I don't have any issues as long as the calculation is based on number fields, but as soon as I start using dates all goes wrong.
    Any suggestions would be greatly appreciated. If you need any extra info just let me know.
    Cheers
    Bas
    b.t.w My application default date format is DD-MON-YYYY, maybe this has something to do with the issue .... ?
    Edited by: user3338841 on 3-apr-2011 7:33

    Hi,
    Create a dynamic action named "set age" with following values.
    Event: Change
    Selection Type: Item(s)
    Item(s): P1_DATE_OF_BIRTH
    Action: Set value
    Fire on page load: TRUE
    Set Type: PL/SQL Expression
    PL/SQL Expression: ROUND( (SYSDATE - :P1_DATE_OF_BIRTH)/365.24,0)
    Page items to submit: P1_DATE_OF_BIRTH
    Selection Type: Item(s)
    Item(s): P1_AGE
    Regards,
    Kartik Patel
    http://patelkartik.blogspot.com/
    http://apex.oracle.com/pls/apex/f?p=9904351712:1

  • Hiring action with reference Pernr via HR_MAINTAIN_MASTERDATA

    Ciao,
    I need some help to solve the following problem:
    I get all needed data for an hiring action via external interface and need to perform the hiring action with HR_MAINTAIN_MASTERDATA by passing a reference personel number to the function.
    my problem: theres no chance to pass the parameter RFPNR to HR_MAINTAIN_MASTERDATA and so the function does not link the new PERNR to the CP of the RFPNR
    therefore, the function creates a new employee with a new central person (CP) instead of linking the new employee to the central person of the passed RFPNR and copying the relevant infotypes
    my question: does somebody know how to make HR_MAINTAIN_MASTERDATA work with the reference Pernr (RFPNR) ?!
    alternatively I could delete the link between the new employee and it's (new) central person, insert a new link between the central person of the referenced employee and the new employee and delete the crfeated central person of the new employee.
    as result I would have correct links to the CP BUT I'm facing the problem, that the infotypedata of the CP was not taken over to the new linked employee ...
    is there any function or report, that copys relevant data (infotypes) from a central person to it's linked employees (PERNRs) ?!
    would be nice if anyboday could help me or give me a small hint
    thanks,
    Markus

    I found the solution by myself ....
    Problem: hr_maintain_masterdata crashes with shortdump while writing an hiring action.
    Cause: we implemented infotype enhancements via userexit where parameter VIEKN is queried. The parameter VIEKN is saved in infotype 3.  In LUW-mode 3 theres no existent IT0003 when hiring a person (because nothing is written to database) that causes the shortdump ...
    solution (workaround): First I have to call maintain_masterdate just with infotype 0000 (without reference pernr!) ... that triggers the creation of it0003 by the system itself ... then I have to call a second maintain_masterdata with all the other infotypes of the action and everything works fine! Now the new person is in the system and while creating the person, the system also created a new central person and a link between the new CP and the new person.
    after doing this (and did'nt get any failure!) I have to determine the central person (CP) of the referenced person, making a new link between the new person and the referenced persons CP, deleting the link between the new person an d the new CP, deleting the new cp and every thing works fine!!!! the reason for this is: infotype 31 just shows the "links" that are defined in OM
    if anybody is interested in more details, just contact me
    Edited by: Raabiat on Apr 4, 2011 11:35 AM

  • Reporting action with a parameter

    Hi,
    I am having an issue setting up a reporting action with a parameter. The report I am trying open
    is non-cube based database report. I tried a few syntax variations for
    the parameter value such as:
    UrlEscapeFragment( [Dimension].[Attribute].CurrentMember.Name)
    UrlEscapeFragment( [Dimension].[Attribute].CurrentMember)
    UrlEscapeFragment( [Dimension].[Attribute].CurrentMember.Value)
    UrlEscapeFragment( [Dimension].[Attribute].CurrentMember.UniqueName)
    But non of them seems to work.
    The action disappears ones I set the
    parameter.
    What am I doing wrong?
    Thank,
    Sasha

    see this
    Report Navigation from SSAS
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Button action with onclick in a jsp page using Jscript

    hi,
    I am facing a problem in setting an action with a button in a jsp page the error is object does'nt support this function,kindly send me reply as soon as possible.
    Santhosh

    hi,
    I am facing a problem in setting an action with a button in a jsp page the error is object does'nt support this function,kindly send me reply as soon as possible.
    Santhosh

  • Associate Action with jcombobox item

    Is it possible to associate a particular Action with a jcombobox item (for example using setAction()). When the user selects a particular item of jcombobox, the Action must be triggered.
    regards,
    Nirvan.

    Hi,
    You can associate a particular action with a JComboBox. As per my understanding u can add one action perfrom action to combobox or itemStateChanged action
    if u add action perform action, u need to add the following method to ur logic.
    JComboBox combobox=new JComboBox();
        combobox.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
             JComboBox combo = (JComboBox)evt.getSource();
                if(combo.getSelectedItem().equals("LOCATION")) {
                A a = new A();
                a.show();
            } else if(combo.getSelectedItem().equals("HOUSE")) {
                B b= new B();
                b.show();
            });if action is ItemStateChanged then add the following method.
    combobox.addItemListener(new java.awt.event.ItemListener() {
                public void itemStateChanged(java.awt.event.ItemEvent evt) {
                    and write your logic here which one needs to be triggered when this action performed.
            });Hope this will help to you....
    Thanks & Regards,
    Maadhav..

  • Custom action with XML type input and output parameter.

    Hi,
    I want to develop custom action with xml type input and/or output parameter.
    Is there sample code for java side. How is the definition of input and/or output parameter and set/get methods?
    does it need special .jar file to develop custom action like this?
    Thanks.

    Cemil - yes, you can use XML data types.  Use the class
    com.sap.lhcommon.xml.XMLDataType
    for your parameter type.  Here is a snippet from a custom action we use to log XML (instead of just returning the #text node like the default logger does):
    public class XMLLogger extends ActionReflectionBase
        private String source;
        private String eventType;
        private String textMessage;
        private XMLDataType xmlMessage;
        public XMLLogger()
            log = new Logger("UserLog");
            source = DEFAULT_SOURCE;
            eventType = TYPE_INFO;
            textMessage = "";
            xmlMessage = new XMLDataType();
        public XMLDataType getXmlMessage()
            return xmlMessage;
        public void setXmlMessage(XMLDataType xmlMessage)
            this.xmlMessage = xmlMessage;
        public void Invoke(Transaction transaction, ILog ilog)
            StringBuffer sb = new StringBuffer();
            sb.append('[');
            sb.append(source);
            sb.append("] ");
            sb.append(textMessage);
            sb.append(XMLUtils.convertXmlToString(xmlMessage));
    XMLUtils is a helper class we wrote - it's just a bunch of standard Java XML boilerplate code.  The important part you need to know is XMLDataType.getDocument() will return an org.w3c.dom.Document.
    I hope that was enough information to help.
    -tim

Maybe you are looking for

  • Adobe Creative Cloud Redemption Code Error

    Hi, I signed up 500px.com Awesome+Adobe and Adobe Creative Cloud's redemption code is not working. The error shown Oops! This code has already been redeemed. But in my application, it shows trial version only. How can I solve it. Thanks. Rgds, Chit M

  • Service pack 1 for windows vista home premium

    Recently my computer had a virus. I had to do a complete system restore. Now that I have done this I am trying to install the service pack 1 for this operating system and I get to the third step and the progress bar hardly moves. I have let it run fo

  • Filter search results and create search pages in a intranet site.

    HI i created a search service application in a intranet portal. and i configured content source as this site. and here after i need two things. 1) how to create a search box in each page of this intranet site 2) how filter search when any user search

  • Sap  R/3 JOB

    Dear Experts.. Will any expert will tell how to stop the v3 jobs for 2lis_!3_vdkon...... Thank Radha

  • Flash Builder 4.5 install logs?

    How can I find the install logs, or tell the installer to put them somewhere specific so I can find them?