Setting process instance variable

Hi,
I've a process with a instance variable "dossierVar" of class Dossier.
I've the following code to go through the existing processes :
Fuego.Papi.BusinessProcess bp;
bp.connectTo(url : Fuego.Server.directoryURL, user : "adminfonc", password : "agra2009",
process : processName);
Fuego.Papi.InstanceFilter instF = InstanceFilter();
instF.create(processService : bp.processService);
instF.searchScope = SearchScope(participantScope : ParticipantScope.ALL, statusScope : StatusScope.ONLY_INPROCESS);
Fuego.Instance[] instances = bp.getInstancesByFilter(filter : instF);
foreach (instance in instances) {
I'd like to know how to set the variable "dossierVar" of these instances ?
Thanks you for our help

Hi,
take a look in this post.
Obtain an instance variable of one process from another process
If your variable is not a separeted one, so this code works well in order to get the variables value.
Thanks
Marcos Chiodi Martins

Similar Messages

  • How to update the Process-Instance Variable Using Process API in OBPM 10.3?

    Hi All,
    I have a requirement to update the the process Instance variable from another process, but I am unable to find any method to update or set variable?
    I try the same using Process API also but no luck. Please provide me the code or link to implement same.
    Thanks & Regards,
    Ankur

    Hi,
    I have followed the procedure which was updated above.
    I ahve the sample to update the variable in the another instance of the another process. it's working fine. But I have followed the same procedure in our project it's giving the below exception at notification.send() method. Please help me to resolve this. thank you.
    fuego.transaction.DatabaseException: An error occurred while accesing the database.
    Detail:SQL statement: ' SELECT INSTANCEDATA, PROCESSID, INSTID, THREADID, NAME, PARENTTHREAD, PRIORITY, CREATIONTIME, AUTHOR, PARTICIPANT, NEXTPARTICIPANT, PROCESSDEADLINE, ACTIVITYDEADLINE, RECEIVETIME, ACTIVITYNAME, NTHREADS, CTHREADS, FCTHREAD, TOTALTHREADS, STATE, SOURCEACTIVITYNAME, ROLEIN, PENDINGITEMID, LASTRESULT, ITEMDEADLINE, NCHANGES , NREMARKS, NATTACHMENTS, HASPARTFORROLE,MICROACTIVITYNAME, V_REF_NO, V_TASK_ID, V_TASK_STATUS FROM PPROCINSTANCE WHERE PROCESSID = 63 AND INSTID = 1996 AND THREADID = 0 FOR UPDATE'
    at fuego.server.persistence.jdbc.JdbcProcessInstancePersMgr.load(JdbcProcessInstancePersMgr.java:1640)
    at fuego.server.persistence.Persistence.loadInstance(Persistence.java:827)
    at fuego.server.AbstractInstanceService.readInstance(AbstractInstanceService.java:764)
    at fuego.ejbengine.EJBInstanceService.getLockedROImpl(EJBInstanceService.java:218)
    at fuego.server.AbstractInstanceService.getLockedROImpl(AbstractInstanceService.java:879)
    at fuego.server.AbstractInstanceService.getLockedImpl(AbstractInstanceService.java:730)
    at fuego.server.AbstractInstanceService.getLockedWaiting(AbstractInstanceService.java:219)
    at fuego.server.AbstractInstanceService.getLockedWaiting(AbstractInstanceService.java:199)
    at fuego.server.execution.AbstractReceiveNotificationExecutionHandler.getLockedTargetInstance(AbstractReceiveNotificationExecutionHandler.java:223)
    at fuego.server.execution.AbstractReceiveNotificationExecutionHandler.receiveNotification(AbstractReceiveNotificationExecutionHandler.java:96)
    at fuego.server.AbstractProcessBean$41.execute(AbstractProcessBean.java:2776)
    at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
    at fuego.transaction.TransactionAction.startNestedTransaction(TransactionAction.java:527)
    at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:548)
    at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
    at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
    at fuego.server.execution.DefaultEngineExecution.executeWithoutComponentImmediate(DefaultEngineExecution.java:199)
    at fuego.server.execution.EngineExecution.executeWithoutComponentImmediate(EngineExecution.java:95)
    at fuego.server.AbstractProcessBean.receiveNotification(AbstractProcessBean.java:2757)
    at fuego.server.iec.LocalIPCHandler.sendNotification(LocalIPCHandler.java:79)
    at fuego.server.execution.microactivity.DefaultSendNotificationExecutionHandler.sendNotification(DefaultSendNotificationExecutionHandler.java:103)
    at fuego.server.NotificationComponent.sendNotification(NotificationComponent.java:95)
    at fuego.server.AbstractProcessBean$49.execute(AbstractProcessBean.java:3270)
    at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
    at fuego.transaction.TransactionAction.startNestedTransaction(TransactionAction.java:527)
    at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:548)
    at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
    at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
    at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
    at fuego.server.AbstractProcessBean.sendComponentNotification(AbstractProcessBean.java:3266)
    at fuego.server.AbstractProcessBean.sendComponentNotification(AbstractProcessBean.java:3252)
    at fuego.components.Notification.send(Notification.java:148)
    at xobject.EPCS.PAction.collateTask(PAction.xcdl:34)
    at oracle.TRReview.Default_2_0.Instance.CIL_poReview(Instance.xcdl:25)
    at oracle.TRReview.Default_2_0.Instance.CIL_poReview(Instance.xcdl)
    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)
    at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:1082)
    at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1277)
    at fuego.server.execution.TaskExecution.invoke(TaskExecution.java:401)
    at fuego.server.execution.InteractiveNormalCilExecution.invoke(InteractiveNormalCilExecution.java:425)
    at fuego.server.execution.TaskExecution.executeCIL(TaskExecution.java:513)
    at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:697)
    at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:657)
    at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:154)
    at fuego.server.execution.microactivity.InteractiveMicroActivity.executeNormalCil(InteractiveMicroActivity.java:501)
    at fuego.server.execution.microactivity.InteractiveMicroActivity.executeItem(InteractiveMicroActivity.java:454)
    at fuego.server.execution.microactivity.InteractiveMicroActivity.execute(InteractiveMicroActivity.java:104)
    at fuego.server.AbstractProcessBean$48.execute(AbstractProcessBean.java:3204)
    at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
    at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
    at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
    at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
    at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
    at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
    at fuego.server.AbstractProcessBean.runTask(AbstractProcessBean.java:3208)
    at fuego.ejbengine.EJBProcessControlAdapter.runTask(EJBProcessControlAdapter.java:1162)
    at fuego.ejbengine.EJBProcessControl_1zamnl_EOImpl.runTask(EJBProcessControl_1zamnl_EOImpl.java:4463)
    at fuego.ejbengine.EJBProcessControl_1zamnl_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: java.sql.SQLException: [BEA][Oracle JDBC Driver][Oracle]ORA-02049: timeout: distributed transaction waiting for lock
    at weblogic.jdbc.base.BaseExceptions.createException(Unknown Source)
    at weblogic.jdbc.base.BaseExceptions.getException(Unknown Source)
    at weblogic.jdbc.oracle.OracleImplStatement.execute(Unknown Source)
    at weblogic.jdbc.base.BaseStatement.commonExecute(Unknown Source)
    at weblogic.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
    at weblogic.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)
    at weblogic.jdbcx.base.BasePreparedStatementWrapper.executeQuery(Unknown Source)
    at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:128)
    at fuego.jdbc.FaultTolerantPreparedStatement.executeQuery(FaultTolerantPreparedStatement.java:598)
    at fuego.server.persistence.jdbc.JdbcProcessInstancePersMgr.load(JdbcProcessInstancePersMgr.java:1627)
    ... 69 more
    BatchOperationException fuego.papi.exception.CannotStoreNotificationException: An instance in Process '/Division#Default-2.0' could not be notified.
    Regards,
    Sudhakar.

  • Is it allowed to set bmp instance variables in ejbFindByPrimaryKey

    Hello together,
    one simple question to the specification gurus:
    Is it allowed to set the instance variables of a Bean Managed Persistence
    Entity Bean inside the ejbFindByPrimary Key method?
    The Problem is:
    We are using OC4J (Oracle Containers 4 J2EE) and run multi threaded clients.
    In some situations it happens, that the same instance of an Entity in "pooled state"
    is used for concurrent ejbFindByPrimaryKey calls by the container.
    Due to the implementation of the ejbFindByPrimaryKey it sometimes happens,
    that during this call the Threads are switched and the value returned by the
    method, which is stored into an instance variable, is overwritten (some typical
    unwanted side effect in a multithreaded environment).
    So this leads to the question above!
    Ciao
    Stefan

    As far as I'm aware you shouldn't attempt to change the state in an ejbFindByPrimaryKey method - this should simply look up the appropriate instance, not alter the state. ejbLoad seems a more appropriate place to be doing that sort of thing.
    I'm not too sure, though - obviously your application will have very particular requirements.

  • Setting final Instance variables in Child Classes

    Hello:
    Is it possible to declare (not initialize) a final variable in an abstract parent class and set it in a non-abstract child class.
    An example for clarification.
    I have an abstract parent class (call it P) and two child classes (call them (C1 and C2). There is common processing that goes on in P. This processing uses a variable called x. C1 will set x to equal 10 and C2 will set x to equal 20. Can I declare x final in the abstract class P and set it in C1 and C2
    This is impossible right? I know some other languages allow this behavior so I just wanted to make sure that Java does not support it.
    Thanks
    Johnny

    Why don't you just try it out? Though I'm pretty sure it won't work, as it should expect all constructors of the abstract class to set it. But you could either let there be an overridden method that returns the appropriate value for the sub-class:
    abstract class P
      abstract protected int getTheValue();
    class C1 extends P
      protected int getTheValue() { return 10; }
    class C2 extends P
      protected int getTheValue() { return 20; }
    }

  • Xcode debugger not showing my instance variables!!

    I hate asking questions like this.
    I set a breakpoint in an IBAction method 'pushed:' inside FooViewController.  At runtime I pressed a GUI button and processing stopped in pushed:.
    In the data-viewing pane of xcode, I see
    {code}
    self = (FooViewController *) 0x... etc.
    {code}
    Indented under this is
    {code}
    UIViewController = (UIViewController) { ...
    {code}
    Nowhere do I see any of my instance variables!!
    Now, they were synthesized from properties, but that doesn't matter, does it?
    The code that proceeds to set some instance variables runs fine.
    Why isn't xcode displaying self's instance vars?
    Thanks,
    Chap

    Yes, yours looks like I was expecting mine to look.
    Note that viewDidLoad (below) does work correctly, producing the expected results in the simulator!
    Hangman3ViewController.h:
    @interface Hangman3ViewController : UIViewController {
    @property (         nonatomic )           NSInteger  wordLength;
    @property ( retain, nonatomic )           NSString  *alphabet;
    @property (         nonatomic )           unichar    guess;
    @property (         nonatomic )           NSInteger  guessNo;
    @property ( retain, nonatomic )           NSMutableString *board;
    @property ( retain, nonatomic ) IBOutlet  UILabel   *boardLabel;
    @property ( retain, nonatomic ) IBOutlet  UILabel   *guessNumberLabel;
    @property ( retain, nonatomic ) IBOutlet  NSArray   *keyboardButtons;
    - (IBAction)letter:(id)sender;
    - (void)showBoard;
    @end
    and, Hangman3ViewController.m:
    #import "Hangman3ViewController.h"
    @implementation Hangman3ViewController
    @synthesize wordLength       = _wordLength;  // preprocessor command to gen getter/setter and instance variable
    @synthesize boardLabel       = _boardLabel;  // preprocessor command to gen getter/setter and instance variable
    @synthesize guessNumberLabel = _guessNumberLabel;  // Guess #n
    @synthesize keyboardButtons  = _keyboardButtons;   // array of buttons
    @synthesize alphabet         = _alphabet;    // A-Z unichars
    @synthesize guess            = _guess;       // unichar
    @synthesize guessNo          = _guessNo;     // int
    @synthesize board            = _board;
    - (IBAction)letter:(id)sender
                Get letter from sender - driven when key button is pressed.
                The button's tag is an int from 0-25, identifying what letter of the alphabet it is.
                Extract that unichar from ALPHABET as 'guess'.  Then, disable the button,
                which has been defined to have its text turn white (invisible) when disabled.
        UIButton *button = (UIButton *)sender;
        self.guess = [self.alphabet characterAtIndex: button.tag];
        NSLog(@"Received keystroke: %C", self.guess);
        [button setEnabled:NO];
    - (void)showBoard
        self.boardLabel.text = self.board;
        self.guessNumberLabel.text = [NSString stringWithFormat:@"Guess #%d", self.guessNo];
    - (void)dealloc
        [_boardLabel release];
        [_guessNumberLabel release];
        [_keyboardButtons release];
        [super dealloc];
    - (void)didReceiveMemoryWarning
        // Releases the view if it doesn't have a superview.
        [super didReceiveMemoryWarning];
        // Release any cached data, images, etc that aren't in use.
    #pragma mark - View lifecycle
    // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
    - (void)viewDidLoad
        NSLog(@"Hello from viewDidLoad");
        [super viewDidLoad];
        self.alphabet   = @"ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // unichar string
        self.wordLength = 7;  // temp - will be set from flipside later on
        self.guessNo    = 1;
        [self.board setString:@"_______"]; // actually dynamic based on wordLength
        self.board = @"_______";
        [self showBoard];
    - (void)viewDidUnload
        [super viewDidUnload];
        // Release any retained subviews of the main view.
        // e.g. self.myOutlet = nil;
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
        // Return YES for supported orientations
        return (interfaceOrientation == UIInterfaceOrientationPortrait);
    @end

  • Instance Variable size

    Hi
    I have a question regarding size of normal instance variable.
    It has been mentioned in the Studio 5.7 doc that the total size of all the instance variable for a project should not exceed 2Mb.
    Question is that if it exceeds more than 2Mb than what would be its effects. Is there any exception thrown if size exceeds above 2Mb.
    Also how can this be prevented as actual size can only be calculated at runtime.
    Thanks in advance.

    The instance size exceeding the setting you have inside your Engine will cause errors to start appearing in the log file. The effect is that your engine's performance will degrade. Once you start getting Error messages, they are usually sent via email to the admin you specify in the Engine's settings.
    A few ways to keep the size of the instance variables down is to:
    1) change the category of large instance variables to "Separated" from "Normal". This means that they are not stored as part of then instance's BLOB stored in the PPROCINSTANCE Engine database. They are then only read from the Engine's separated instance variable table when they are needed in the activity's logic or updated only when modified in the activity. Separated instance variables are not calculated as part of the overall size of the instance.. Large binary variables not marked as Separated will quickly run you over your instance size limit.
    2) Similarly, we sometimes treat the process instance variables as a database of record. Avoid this mentaility if possible. It's often better to have an external database to store information about things going on in the process. If you rely on the Engine tables for this for very large objects they are not easily retrieved by outside applicaitons because they are stored as a single BLOB. If outside applications access the Engine's database, it's another sure fire way to further degrade engine performance. Many times it' is better to store the id of a customer in the process and then to use that id to retrieve customer insformation from the cutomer's external database table. Once an instance has reached the End activity in a process, it sits there the number of days you specified in an Engine setting. Once it exceeds this number of days in the End activity, the instance data information is either purged or moved to the archive database. Don't make this number of days in the End activity too long (default is 15) as this will increase the sized of the number of rows on the table and degrade performance.
    Hope this helps,
    Dan

  • Process Instance : Update Process Variables with Java API

    Hi,
    I need to set a lot of process variables in a java service that is executed in a process but can't find the way to do that.
    Is it possible to modify the value of a variable from a process instance with the JAVA API ?
    I didn't find this type of function (for example with the ProcessManager API).
    Thanks,
    Will

    Could you place your logic in an executeScript service?
    You can use native Java there.
    I have had good luck getting values in and out of process varaibles with the get... set...
    this is a very simple example.
    import com.adobe.workflow.pat.service.*;
    String allowLogging = patExecContext.getProcessDataStringValue("/process_data/@allowLogging");
    patExecContext.setProcessDataStringValue("/process_data/@errorActivity", "Save Doc XML");
    patExecContext.setProcessDataStringValue("/process_data/@errorMessage", "SystemException");
    if (allowLogging.equalsIgnoreCase("true")) {
    System.out.println("@@@@ Save Doc XML @@@@");
    System.out.println("@@@@ SystemException @@@@");
    }; // END allowLogging

  • 11g BPM - Setting instance data of a running process instance

    Hi,
    What is the recommended pattern for interrupting a running process instance and changing an instance variable (data object) ?
    Scenario is:
    - process instance is launched with an interactive to look at the instance data
    - an event is triggered, effectively interrupting the instance and changing the instance data
    - next time the user opens the screen for the interactive the data has changed
    Any help much appreciated.
    cheers
    Tony

    Hi Dan,
    Hope all is good with you. Thanks for the response.
    I am using 11.1.1.6 and have tried a few things, one of which was using an event subprocess and correlations but it didnt change the Data Object as I expected. Maybe I got something wrong and will try again. So you expect the following to work:
    - Create a simple process with one string data object, a correlation and one interactive showing the data object.
    - Map the correlation to an input parameter
    - Set the string data object to some initial value
    - Create an event subprocess of the above in the automatic handler swimlane (starts with a message and ends with nothing)
    - have the implementation of the start message take a string and an id
    - map the id to the correlation
    - map the string to the data object in the subprocess
    - Create the simple process from Enterprise Manager passing in a correlation id
    - View the interactive in the BPM Workspace and see the initial string
    - Use EM to fire the event subprocess passing the same correlation id and a new string
    - View the interactive in the BPM Workspace and see the new string
    so, if you set the data object in the event sub process, it is the same value as the initial instance ? or have I misunderstood ?
    I will give it another go, just checking my understanding...
    cheers
    Tony

  • Multiple form field instances populating ES Process Mgr variables

    Hi ES Process Designers,
    I am building up a new process in which the user can add instances of one to many fields in a form. I'm trying to find a way to populate a variable(s) with the second or greater instance of a form field value.
    When using a List variable I can retrieve process_data/field[1]. It appears that the form isn't returning a list of all instances as process_data/field[2] remains empty. Possibly I don't understand how the form returns data to the process?
    Variable = Variable1, type List
    Location = /process_data/FormField
    Expression = /process_data/myForm.pdf/ ... /data/FSFIELDS_/FormField[2]
    Any assistance with this will be very much appreciated. Thanks,
    Rod

    Hi
    Try opening your form in Acrobat, and exporting the data.
    This will show you the format of your data, and should give you a clue about how to reference it using an xpath expression.
    It's also highly recommended that you design an XML schema for your form, which will allow the Xpath expression browser to see "inside" the fields in your form. Please see the Designer docs for more information.
    The official LiveCycle training courses also cover these techniques.
    Howard
    http://www.avoka.com

  • Get the Process Instance as a process variable

    Hi,
    is there a way on a Workflow Process to get the process instance in order to save it as a process variable (and then store it via a backend call).
    In other words: I have many processes designed via NWDS Process Composer and I'd like to get the process instance ID in order to save it for faster retrieval of the process in the NWA's Manage Process application.
    Thank you,
    Pietro.

    Does it work if the process instance is already created?
    Can you give me an example?
    I've put as the first step of every workflow a callback method that is executed that calls an RFC to confirm, backend-side, that the process has been created.

  • BPM 11.1.1.6 error creating process instance

    Hello!
    I am deploying BPM processes using JDeveloper 11.1.1.5 and SOA Server 11.1.1.6 and I am getting the following error:
    [2012-12-04T19:11:47.209+01:00] [WLS_SOA1] [NOTIFICATION] [] [oracle.integration.platform.blocks.tenant] [tid: [ACTIVE].ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: j.pla] [ecid: 004o0fC^L8nFw000jzwkno0003VU000K3D,0:1] [APP: soa-infra] [URI: /bpm/workspace/faces/jsf/worklist/worklist.jspx] NM or Event does not contain property, apps.context.header or fabric.enterpriseId
    [2012-12-04T19:11:47.614+01:00] [WLS_SOA1] [NOTIFICATION] [] [oracle.fabric.common.wsdl] [tid: [ACTIVE].ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: j.pla] [ecid: 004o0fC^L8nFw000jzwkno0003VU000K3D,0:1] [APP: soa-infra] [composite_name: Generico] [component_name: Generico] [component_instance_id: 120045] [URI: /bpm/workspace/faces/jsf/worklist/worklist.jspx] XMLSchema incremental build enabled.
    [2012-12-04T19:11:47.681+01:00] [WLS_SOA1] [ERROR] [] [oracle.soa.bpmn.engine.bpmn] [tid: [ACTIVE].ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: j.pla] [ecid: 004o0fC^L8nFw000jzwkno0003VU000K3D,0:1] [APP: soa-infra] [composite_name: Generico] [component_name: Generico] [component_instance_id: 120045] [URI: /bpm/workspace/faces/jsf/worklist/worklist.jspx] BPELFault {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure} current Operation {INSTANCE_SUSPENDED}
    [2012-12-04T19:11:47.690+01:00] [WLS_SOA1] [ERROR] [] [oracle.bpm.services.instanceManagement] [tid: [ACTIVE].ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: j.pla] [ecid: 004o0fC^L8nFw000jzwkno0003VU000K3D,0:1] [APP: soa-infra] [URI: /bpm/workspace/faces/jsf/worklist/worklist.jspx] Initiate task could not be created for unknown reason for target process 'default/Generico!1.3*/Generico'. Verify server log for error cause.
    [2012-12-04T19:11:47.690+01:00] [WLS_SOA1] [ERROR] [] [oracle.bpm.services.instanceManagement] [tid: [ACTIVE].ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: j.pla] [ecid: 004o0fC^L8nFw000jzwkno0003VU000K3D,0:1] [APP: soa-infra] [URI: /bpm/workspace/faces/jsf/worklist/worklist.jspx] Exception[[
    exception.70204.type: error
    exception.70204.severity: 2
    exception.70204.name: Error creating process instance.
    exception.70204.description: Error creating instance for target process default/Generico!1.3*/Generico.
    exception.70204.fix: Verify server log to find the problem cause.
    [2012-12-04T19:11:47.803+01:00] [WLS_SOA1] [WARNING] [] [oracle.bpm.common] [tid: [ACTIVE].ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: j.pla] [ecid: 004o0fC^L8nFw000jzwkno0003VU000K3D,0:1] [APP: OracleBPMWorkspace] [URI: /bpm/workspace/faces/jsf/worklist/worklist.jspx] Error creating instance for target process default/Generico!1.3*/Generico.[[
    oracle.bpm.web.exception.WapiOperationException: Error creating instance for target process default/Generico!1.3*/Generico.
         at oracle.bpm.workspace.model.common.ExecutionBean.handleExternalInstanceExecution(ExecutionBean.java:188)
         at oracle.bpm.workspace.model.application.ApplicationBean.execute(ApplicationBean.java:148)
         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)
         at com.sun.el.parser.AstValue.invoke(AstValue.java:187)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
         at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
         at org.apache.myfaces.trinidad.component.UIXTable.broadcast(UIXTable.java:279)
         at oracle.adf.view.rich.component.UIXTable.broadcast(UIXTable.java:145)
         at oracle.adf.view.rich.component.rich.data.RichTable.broadcast(RichTable.java:402)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1018)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:386)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         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:301)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
         at oracle.help.web.rich.OHWFilter.doFilter(Unknown Source)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
         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:60)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
         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:60)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
         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:60)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3738)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3704)
         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:2281)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2180)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: fuego.papi.exception.CannotCreateInstanceException: Cannot create instance in process 'default/Generico!1.3*/Generico'.
         at oracle.bpm.papi.ora.helper.ExceptionHelper.wrapException(ExceptionHelper.java:58)
         at oracle.bpm.papi.ora.util.ApplicationExecution11G.beginExecution(ApplicationExecution11G.java:56)
         at fuego.papi.utils.ApplicationExecution.beginExecution(ApplicationExecution.java:29)
         at oracle.bpm.workspace.model.common.ExecutionBean.handleExternalInstanceExecution(ExecutionBean.java:171)
         ... 99 more
    Caused by: BPM-70204
    Exception
    exception.70204.type: error
    exception.70204.severity: 2
    exception.70204.name: Error creating process instance.
    exception.70204.description: Error creating instance for target process default/Generico!1.3*/Generico.
    exception.70204.fix: Verify server log to find the problem cause.
         at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:205)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:345)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
         at oracle.bpm.services.instancemanagement.ejb.InstanceManagementServiceBean_sqa2w0_IInstanceManagementServiceRemoteImpl_1036_WLStub.createProcessInstanceTask(Unknown Source)
         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)
         at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
         at $Proxy501.createProcessInstanceTask(Unknown Source)
         at oracle.bpm.papi.ora.util.ApplicationExecution11G.beginExecution(ApplicationExecution11G.java:50)
         ... 101 more
    Could you please help me? I have search through the forum but I couldn't find anything that solves my problem. As I've read in this post (https://kr.forums.oracle.com/forums/thread.jspa?messageID=10596716), I've tried to set the value of the variable bpel.config.transaction to requiresNew instead of required but it isn't working.
    I suppose it has to do with the new version of the server but I can't find anything to solve it :(
    Thank you in advance!!! I hope you can help me!
    Best regards.

    Frank,
    I tried to follow the example. This is the file: http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_53/labs/restsolution.zip
    The other part of the exercise is to develop an ADF Client.
    At "Step 5: Create the Model Components" when I create the URL_Get the error appears and don't create the datacontrol.
    I check the links and RESTConn and are OK.
    I hope this helps.
    JP
    Edited by: jpvadell.oracle on Jul 2, 2012 11:54 AM

  • Instance variable to hold the element of a tag in the xml file

    Hi I have an xml file that is handled using this parser
    <attr id="MY_NAME" >
    this parser hanled the above tag but now I want to have it handle
    <attr id="MY_NAME" desc="GOOD">
    but I need to create an instance variable to handle the desc element in the attr tag .
    Can some one help me out as this is not my file and I am having trouble to do please......
    import java.util.*;
    import java.io.*;
    import javax.xml.parsers.*;
    import org.xml.sax.*;
    import org.xml.sax.helpers.*;
       The SupportMatrix class provides static variables and methods to simplify
       the determination of whether or not a given attribute is supported for a
       certain object type (queue manager, channel, etc.), depending on the version
       and platform of the queue manager to which it belongs.
       The SupportMatrix class may not be instantiated. Its constructor is private.
       An instance of the class is created internally in the static initializer so
       that the XML parsing methods are available.
       A corresponding XML document, SupportMatrix.xml, is parsed to create the various
       HashMaps which contain the version/platform dependency information. A number of
       inner classes are used to represent the various elements of the XML matrix
       definition.
       Here's a sample document:
       <!-- The supportmatrix tag opens the document -->
       <supportmatrix>
         <!-- Objects are keyed by classid. "1" is the classid of a queue manager object. -->
         <object classid="1">
           <!-- Versions group attributes according to the queue manager version where they
                were introduced. The "base" cmdlevel encompasses all versions up to 5.1. -->
           <version cmdlevel="base">
             <!-- Attributes are defined by the attr tag. -->
             <attr id="MQCA_Q_MGR_NAME">
               <!-- Support elements define the platform-specific requirements for an attribute. -->
               <support platforms="UNIX,WINDOWS,OS400,VMS,NSK" maxlen="48" type="MQCFST"/>
               <support platforms="MVS" maxlen="4" type="MQCFST"/>
             </attr>
             <attr id="MQCA_Q_MGR_DESC">
               <!-- Specific attribute characteristics, most notably maximum len for string parms,
                    are defined in the support element. As shown in the following example, it may
                    apply to all platforms. -->
               <support platforms="all" maxlen="64" type="MQCFST"/>
             </attr>
             <!-- Support elements are optional. -->
             <attr id="MQIA_PLATFORM"/>
             <attr id="MQIA_COMMAND_LEVEL"/>
           </version>
           <!-- The version element may 'include' other versions. Note that object elements
                may also refer to other objects via the 'include' parm of the object tag.
                This is to allow common attributes (especially for queues and channels) to
                be shared by multiple definitions in order to reduce some of the
                redundancy. -->
           <version cmdlevel="520" include="base">
           </version>
         </object>
       </supportmatrix>
       The inner classes, and their hierarchical relationships are as follows:
         SupportObject - corresponds to the <object> element. Stored in a static HashMap, and
                         keyed by classid.
           VersionObject - corresponds to the <version> element. Stored in a HashMap instance
                           variable of the SupportObject class, keyed by cmdlevel.
             AttributeObject - corresponds to the <attr> element. Stored in a HashMap instance
                               variable of the VersionObject class, keyed by attribute name.
               PlatformObject - corresponds to the <support> element. Stored in HashMaps belonging
                                to the AttributeObjects, keyed by platform. A single PlatformObject
                                instance is created when the support tag is encountered. The
                                "platforms" attribute of the support element is then processed. For
                                each platform in the comma-delimited list, an entry is added to the
                                collection of PlatformObjects. This is to greatly simplify later
                                lookups.
       In order to support the 'include' feature of object and version elements, certain
       functions are recursive. If the attribute to be validated is not found for the passed
       cmdlevel, the 'parent' VersionObject is consulted by means of the 'include' value. If
       the chain of VersionObjects has been exhausted and the attribute in question has still not
       been located, the next SupportObject in the chain is consulted in a similar fashion.
    public class SupportMatrix extends DefaultHandler {
        /** The objects collection holds all the SupportObjects, keyed by classid. */
        private static HashMap objects;
        /** xmlFile will name the xml document to be parsed. Note that using the
            default class loader expects the string to be the path to the file. It must
            NOT begin with the '/' character. */
        private static String xmlFile =
            ResourceManager.getApplicationProperties().getProperty("SupportMatrixFile");
        private Stack stack;
        /** This static initializer allocates the static objects collection, creates an
            instance of the SupportMatrix class for xml parsing purposes, and initiates
            the parse operation to populate the collection. */
        static {
            objects = new HashMap();
            // Create a parser and process the xml doc
            SupportMatrix handler = new SupportMatrix();
            InputSource is = null;
            try {
                is = new InputSource(ClassLoader.getSystemClassLoader().getResourceAsStream(xmlFile));
                XMLReader xmlReader =
                    SAXParserFactory.newInstance().newSAXParser().getXMLReader();
                xmlReader.setFeature("http://xml.org/sax/features/namespaces", true);
                xmlReader.setContentHandler(handler);
                if (is == null) {
                    System.err.println("No input stream, dammit");
                xmlReader.parse(is);
            } catch(Exception e) {
                e.printStackTrace();
        /** Private constuctor, used only for XML parsing. */
        private SupportMatrix() {
            stack = new Stack();
        /** Add a SupportObject instance to the objects collection. */
        private void addObject(SupportObject obj) {
            String key = obj.getClassId();
            objects.put(key, obj);
        /* DefaultHandler methods                                              */
        /** Not used. */
        public void characters(char[] ch, int start, int length) {}
        /** Not used. */
        public void endDocument() {}
        /** For the version, object, and attr elements, pop the top element of the stack. */
        public void endElement(String uri, String localName, String qName) {
            if (localName.equals("version") || localName.equals("object") || localName.equals("attr")) {
                stack.pop();
        /** Not used. */
        public void setDocumentLocator(Locator locator) {}
        /** Not used. */
        public void startDocument() {}
        /** Most of the work is done here. Create the appropriate inner class instance for
            element; for object, version, and attr, push the element onto the stack so that
            child elements may be added to their collections as needed. */
        public void startElement(String uri, String localName, String qName,
                                 Attributes attributes) {
            String include = attributes.getValue("include");
            if (localName.equals("object")) {
                SupportObject obj = new SupportObject(attributes.getValue("classid"), include);
                addObject(obj);
                stack.push(obj);
            } else if ( localName.equals("version")) {
                VersionObject ver = new VersionObject(attributes.getValue("cmdlevel"), include);
                ((SupportObject)stack.peek()).addVersion(ver);
                stack.push(ver);
            } else if ( localName.equals("attr")) {
                AttributeObject a = new AttributeObject(attributes.getValue("id"));
                //String desc = StringFactory.getString(attributes.getValue("desc"));
                //if(desc != null)
                   //     a.setAttribute();
                String readonly = attributes.getValue("readonly");
                String exclude = attributes.getValue("exclude");
                if (include != null && exclude != null) {
                    Log.log(Log.ERROR, this, "include and exclude are mutually exclusive, exclude value ignored");
                    exclude = null;
                if (include != null) {
                    a.setCondition(include, true);
                if (exclude != null) {
                    a.setCondition(exclude, false);
                if (readonly != null)
                    a.setReadonly(readonly.equals("y"));
                ((VersionObject)stack.peek()).addAttr(a);
                stack.push(a);
            } else if (localName.equals("support")) {
                String platforms = attributes.getValue("platforms");
                String readonly = attributes.getValue("readonly");
                String maxlen = attributes.getValue("maxlen");
                String type = attributes.getValue("type");
                int attrType = 0;
                if (type != null) {
                    if (type.equals("MQCFIN")) {
                        attrType = CMQCFC.MQCFT_INTEGER;
                    } else if (type.equals("MQCFIL")) {
                        attrType = CMQCFC.MQCFT_INTEGER_LIST;
                    } else if (type.equals("MQCFST")) {
                        attrType = CMQCFC.MQCFT_STRING;
                    } else if (type.equals("MQCFSL")) {
                        attrType = CMQCFC.MQCFT_STRING_LIST;
                    } else if (type.equals("EXBIN")) {
                        attrType = MqcConstants.EXCFT_BINARY;
                    } else if (type.equals("EXPCF")) {
                        attrType = MqcConstants.EXCFT_PCF;
                PlatformObject p = null;
                if (readonly == null) {
                    p = new PlatformObject(platforms);
                } else {
                    p = new PlatformObject(platforms, readonly.equals("y"));
                String exclude = attributes.getValue("exclude");
                if (include != null && exclude != null) {
                    Log.log(Log.ERROR, this, "include and exclude are mutually exclusive, exclude value ignored");
                    exclude = null;
                if (include != null)
                    p.setCondition(include, true);
                if (exclude != null)
                    p.setCondition(exclude, false);
                if (attrType != 0)
                    p.setType(attrType);
                if (maxlen != null)
                    p.setLen(Integer.parseInt(maxlen));
                ((AttributeObject)stack.peek()).addPlatform(p);
        public static boolean isExported(int attribute, TopologyModelNode node) {
            String name = ResourceManager.getAttributeName(attribute);
            return isExported(name, node);
        public static boolean isExported(String attribute, TopologyModelNode node) {
            // Find the qmgr node to fetch platform and cmdlevel
            TopologyModelNode qmgr = node.getModel().getQMgrNode(node.getAddress());
            // If there's no qmgr for this node, it must be one of 'ours'.
            if (qmgr == null)
                return false;     // None of 'our' objects can be exported to MQSC.
            String classId = node.getClassId();
            String cmdLevel = qmgr.getAttributeValue("MQIA_COMMAND_LEVEL");
            String platform = qmgr.getAttributeValue("MQIA_PLATFORM");
            return isExported(attribute, classId, cmdLevel, platform, node);
        public static boolean isExported(int attribute, String classId, String cmdLevel, String platform,
                                         TopologyModelNode node) {
            String name = ResourceManager.getAttributeName(attribute);
            return isExported(name, classId, cmdLevel, platform, node);
        /** Determine if an attribute is exportable. The attribute name, the classid of the object to
            which it belongs, plus the command level and platform of the queue manager are all needed
            to make this determination.
            Start by finding the AttributeObject for the combination of attribute, classid, and
            command level. If we can't find the AttributeObject, we assume that the attribute
            is not exported. Otherwise, find out if it is exportable for the selected platform.
        public static boolean isExported(String attribute, String classId, String cmdLevel, String platform,
                                         TopologyModelNode node) {
            AttributeObject attr = getAttributeObject(attribute, classId, cmdLevel);
            if (attr == null) {
                return false;
            } else {
                return attr.isExported(platform, node);
        public static boolean isSupported(int attribute, TopologyModelNode node) {
            String name = ResourceManager.getAttributeName(attribute);
            return isSupported(name, node);
        public static boolean isSupported(String attribute, TopologyModelNode node) {
            // Find the qmgr node to fetch platform and cmdlevel
            TopologyModelNode qmgr = node.getModel().getQMgrNode(node.getAddress());
            // If there's no qmgr for this node, it must be one of 'ours'.
            if (qmgr == null)
                return true;
            String classId = node.getClassId();
            String cmdLevel = qmgr.getAttributeValue("MQIA_COMMAND_LEVEL");
            String platform = qmgr.getAttributeValue("MQIA_PLATFORM");
            return isSupported(attribute, classId, cmdLevel, platform);
        public static boolean isSupported(int attribute, String classId, String cmdLevel, String platform) {
            String name = ResourceManager.getAttributeName(attribute);
            return isSupported(name, classId, cmdLevel, platform);
        /** Determine if an attribute is supported. The attribute name, the classid of the object to
            which it belongs, plus the command level and platform of the queue manager are all needed
            to make this determination.
            Start by finding the SupportObject for the classid. If it isn't there, we make the assumption
            (for now) that the attribute is supported. The only classids for which this can occur are
            broker, agent, and the various container objects.
            Propagate the isSupported request to the chain of SupportObjects (based on 'include' values)
            until we get a 'true' result or we run out of SupportObjects. */
        public static boolean isSupported(String attribute, String classId, String cmdLevel, String platform) {
            if (attribute == null)
                return false;
            SupportObject obj = (SupportObject)objects.get(classId);
            // If the object type isn't even in the support matrix, we interpret that to
            // mean that it's a Broker or Agent, in which case all attributes are supported
            // at present.
            if (obj == null)
                return true;
            boolean result = false;
            while (result == false && obj != null) {
                result = obj.isSupported(attribute, cmdLevel, platform);
                if (result == false && obj.getInclude() != null) {
                    obj = (SupportObject)objects.get(obj.getInclude());
                } else
                    obj = null;
            return result;
        /** Locate an AttributeObject for a given attribute name, object type, and command level.
            This is a helper function for the getMaxLen and getType methods. */
        private static AttributeObject getAttributeObject(String attr, String classID, String cmdLevel) {
            AttributeObject result = null;
            SupportObject obj = (SupportObject)objects.get(classID);
            while (result == null && obj != null) {
                result = obj.getAttr(attr, cmdLevel);
                if (result == null && obj.getInclude() != null) {
                    obj = (SupportObject)objects.get(obj.getInclude());
                } else
                    obj = null;
            return result;
        /** Determine the maximum length for a given combintation of attribute name, object type,
            command level, and platform. If the AttributeObject can't be found, or if the length
            hasn't been set, return -1. */
        public static int getMaxLen(String attr, String classId, String cmdLevel, String platform) {
            AttributeObject a = getAttributeObject(attr, classId, cmdLevel);
            if (a == null)
                return -1;
            return a.getMaxLen(platform);
        /** Determine the PCF parm type for a given combintation of attribute name, object type,
            command level, and platform. If the AttributeObject can't be found, or if the length
            hasn't been set, return -1. */
        public static int getType(String attr, String classId, String cmdLevel, String platform) {
            AttributeObject a = getAttributeObject(attr, classId, cmdLevel);
            if (a == null)
                return -1;
            return a.getType(platform);
        /** Inner class to contain platform-specific info for an attribute. */
        class PlatformObject {
            /** This instance variable will contain the comma-delimited string of all
                platforms to which this object applies. */
            private String platform;
            private int maxlen;
            private String condition = null;
            private boolean include;
            private boolean readonly;
            private boolean lenSet;
            private int attrType;
            private boolean typeSet;
            public PlatformObject(String p, boolean readonly) {
                platform = p;
                this.readonly = readonly;
                lenSet = false;
                typeSet = false;
            public PlatformObject(String p) {
                this(p, false);
            public void setCondition(String condition, boolean include) {
                this.condition = condition;
                this.include = include;
            public boolean isReadonly() {
                return readonly;
            public boolean isExported(TopologyModelNode node) {
                if (condition != null) {
                    boolean test = false;
                    try {
                        test = Utilities.evaluateCondition(node, condition);
                    } catch (Exception e) {}
                    if (include ^ test)
                        return false;
                return !readonly;
            public void setLen(int len) {
                maxlen = len;
                lenSet = true;
            public void setType(int type) {
                attrType = type;
                typeSet = true;
            public String getPlatform() {
                return platform;
            public int getMaxLen() {
                if (!lenSet)
                    return -1;
                return maxlen;
            public int getType() {
                if (!typeSet)
                    return -1;
                return attrType;
        /** This class represents a specific MQSeries attribute. It can optionally contain
            instances of the PlatformObject class as needed. When the 'platforms' collection
            is empty, the attribute is supported on all platforms. It is also possible to
            include a PlatformObject for the 'all' platform, if specific attribute characteristics
            need representation. When the 'platforms' collection is non-empty, it will include one
            entry for each platform where the attribute is supported. */
        class AttributeObject {
            private String attribute;
            private String attrValue;
            private HashMap platforms;
            private String condition = null;
            private boolean include;
            private boolean readonly = false;
            public AttributeObject(String a) {
                this(a, false);
            public AttributeObject(String a, boolean readonly) {
                attribute = a;
                platforms = new HashMap();
                this.readonly = readonly;
            public void setCondition(String condition, boolean include) {
                this.condition = condition;
                this.include = include;
            public void setReadonly(boolean readonly) {
                this.readonly = readonly;
            public boolean isReadonly() {
                return readonly;
            public void addPlatform(PlatformObject p) {
                for (StringTokenizer st = new StringTokenizer(p.getPlatform(), ","); st.hasMoreTokens() ;) {
                    platforms.put(st.nextToken(), p);
            public PlatformObject getPlatform(String platform) {
                PlatformObject p = (PlatformObject)platforms.get(platform);
                if (p == null)
                    p = (PlatformObject)platforms.get("all");
                return p;
            public String getAttribute() {
                return attribute;
            public int getMaxLen(String platform) {
                PlatformObject p = getPlatform(platform);
                if (p == null)
                    return -1;
                return p.getMaxLen();
            public int getType(String platform) {
                PlatformObject p = getPlatform(platform);
                if (p == null)
                    return -1;
                return p.getType();
            public boolean isSupported(String platform) {
                if (platforms.isEmpty()) {
                    return true;
                if (platforms.containsKey(platform)) {
                    return true;
                if (platforms.containsKey("all")) {
                    return true;
                return false;
            public boolean isExported(String platform, TopologyModelNode node) {
                if (readonly) {
                    Log.log(Log.DEBUG, this, attribute + " is readonly, returning false");
                    return false;
                if (condition != null) {
                    Log.log(Log.DEBUG, this, "Testing condition = " + condition);
                    boolean test = false;
                    try {
                        test = Utilities.evaluateCondition(node, condition);
                        Log.log(Log.DEBUG, this, "Condition result is " + test);
                    } catch (Exception e) {
                        Log.log(Log.ERROR, this, "Condition through an exception");
                    if (include ^ test)
                        return false;
                if (platforms.isEmpty()) {
                    return true;
                PlatformObject p = getPlatform(platform);
                if (p == null) {
                    Log.log(Log.DEBUG, this, platform + " not found for " + attribute + ", returning false");
                    return false;
                return p.isExported(node);
        /** This class represents a specific value of a queue manager's command level. A
            given instance of this class may 'include' a 'parent' instance through its
            include instance variable. The traversal of the parent/child hierarchy is
            delegated to the SupportObject class, since that is where the collection of
            VersionObjects lives. */
        class VersionObject {
            private String cmdLevel;
            private String include;
            private HashMap attributes;
            public VersionObject(String cmdLevel, String include) {
                this.cmdLevel = cmdLevel;
                this.include = include;
                attributes = new HashMap();
            public void addAttr(AttributeObject attr) {
                attributes.put(attr.getAttribute(), attr);
            public AttributeObject getAttr(String attr) {
                return (AttributeObject)attributes.get(attr);
            public String getCmdLevel() {
                return cmdLevel;
            public String getInclude() {
                return include;
            public boolean isSupported(String attr, String platform) {
                AttributeObject obj = (AttributeObject)attributes.get(attr);
                if (obj == null) {
                    return false;
                } else
                    return obj.isSupported(platform);
        /** This class represents an MQSeries object type, as identified by its classid, e.g.
            queue manager or local queue. This class implements an include facility similar to
            that described for the VersionObject. The traversal of that hierarchy is delegated
            to the static isSupported method, because the collection of SupportObject instances
            is a static variable of the SupportMatrix class. */
        class SupportObject {
            private String classId;
            private String include;
            private HashMap versions;
            public SupportObject(String classId, String include) {
                this.classId = classId;
                this.include = include;
                versions = new HashMap();
            public void addVersion(VersionObject obj) {
                String key = obj.getCmdLevel();
                versions.put(key, obj);
            public String getClassId() {
                return classId;
            public String getInclude() {
                return include;
            public boolean isSupported(String attr, String cmdLevel, String platform) {
                boolean result = false;
                VersionObject obj = (VersionObject)versions.get(cmdLevel);
                if (obj == null)
                    obj = (VersionObject)versions.get("base");
                // I don't actually know what it means if obj is null at this point.
                // It probably can't happen.
                if (obj == null)
                    return false;
                while (result ==  false && obj != null) {
                    result = obj.isSupported(attr, platform);
                    if (result == false && obj.getInclude() != null) {
                        obj = (VersionObject)versions.get(obj.getInclude());
                    } else
                        obj = null;
                return result;
            public AttributeObject getAttr(String attr, String cmdLevel) {
                AttributeObject result = null;
                VersionObject obj = (VersionObject)versions.get(cmdLevel);
                if (obj == null)
                    obj = (VersionObject)versions.get("base");
                // I don't actually know what it means if obj is null at this point.
                // It probably can't happen.
                if (obj == null)
                    return null;
                while (result ==  null && obj != null) {
                    result = obj.getAttr(attr);
                    if (result == null && obj.getInclude() != null)
                        obj = (VersionObject)versions.get(obj.getInclude());
                    else
                        obj = null;
                return result;
    }

    Are you the one who commented out the code you're looking for ?//String desc = StringFactory.getString(attributes.getValue("desc"));You just have to modify you AttributeObject class to hold a new field : String description. And then, it's up to you to create a new constructor or a new setter method.
    Btw, this is not a Swing related question.

  • How to get process instance id

    Hi,
    We are invoking a long lived process from a client using Java API (EJB end point).
    We are getting the JobId in return. Is there a way to get the process instance Id through API.
    Searched a lot in the documentation. Finally inclining to query the table directlyTB_PROCESS_INSTANCE  on LONG_LIVED_INVOCATION_ID.
    Appreciate a lot if any expert point us to an API way of doing the same

    We have tried to use the following approach to get process instance id right after invoking a process.
    - Define an OUT process variable to contain process id
    - A set value step right after invocation sets this out variable with process id variable value which is available by default
    - InvocationResponse.getOutputParameters() to read the output variable
    The problem is in the map returned by getOutputParameters() is not having our output variable , but just the JobId.
    Anyone tried this before? Are we missing sometiing?
    Any expert help is highly appreciated..

  • Viewing Instance Variable Information for Automatic activities

    Hi,
    I have a process which is made up of all automatic activities that each do a specific set of activities and populate a few instance variables. I want to create a view so that a user can see the state and value contained in each of the instance variable at any time during the execution of the process. A example of what i want to achive in the view is shown below.. any advice on how to design such a feature
    InstVar_1 InstVar_2 InstVar_3
    1 2 3
    4 5 6
    Thanks.

    Are you the one who commented out the code you're looking for ?//String desc = StringFactory.getString(attributes.getValue("desc"));You just have to modify you AttributeObject class to hold a new field : String description. And then, it's up to you to create a new constructor or a new setter method.
    Btw, this is not a Swing related question.

  • Process Instance query problem

    Hello, everyone.
    Here is the problem.
    There is a variable named "contractNumber" in the process. The variable is set in certain stage of the workflow.
    I need to find all the process instances whose "contractNumber" equals to a certain value.
    A maybe workaround is to store the "instanceId" value relation with "contractNumber" in a database table.
    I wonder if there is any other query method like API.
    Also, I want to know how to get all the humantasks that whose certain variable equals to a certain value.
    Thank you.

    check the FAQ in the SQL/PLSQL-forum, there are sevreal threads mentioned.
    http://forums.oracle.com/forums/ann.jspa?annID=1535

Maybe you are looking for

  • How to Convert Time Stamp to String for Filename use

    I'm writing an Labview application in which I would like to convert pull time stamp infor from Time Stamp VI and convert to string so I can use to append as part of filename. The fomat that I want may look something like basefilename081208_1300.  Thi

  • Imported text caption objects cause errors

    I imported objects only from a similar Captivate project. When I tried to edit the text captions, I would double click the text caption and nothing would happen. Then I would get a blank gray screen of death before the application would crash. This n

  • External display options?

    I have a 14" iBook G4 and I would like to get a widescreen display to connect to it for watching DVD's and Quicktime movies. I don't have a TV (and don't plan to get one) and I'm getting really tired of watching widescreen movies letterboxed on my sm

  • Resizing Problem in Dreamweaver

    I figured out my previous issue (http://forums.adobe.com/thread/845979?tstart=0) was due to the window sizing in Dreamweaver, everytime I try to size the design window to something reasonable (say 1280 X 720) Dreamweaver tells me "The chosen size won

  • How to reply in HTML

    I'm checking my email for work remotely, but when I open an HTML email and forward it or reply to it, it turns into 'text only', and will not forward in in HTML. How do I change that?