The workflow API to retrieve the parameters programmatically?

Under JDev 11.1.1.2.0 + and the controller of the ADF, we have a requirement regarding access or exit from any defined task flow (BTF), to save the user, the BTF name and BTF key/value parameter.

The most ideal, I identified for this seems to be via method calls to bean on the properties of initializer/finalizer BTF. For purposes of keeping this simple message, I look at the code of the initializer.

Within the initializer, I can easily access the username and the name of the workflow is only a little more complicated by using the following code:
  ADFContext adfContext = ADFContext.getCurrent();
  SecurityContext securityContext = adfContext.getSecurityContext();
  String userName = securityContext.getUserName();

  ControllerContext controllerContext = ControllerContext.getInstance();
  ViewPortContext currentViewPort = controllerContext.getCurrentViewPort();
  TaskFlowContext taskFlowContext = currentViewPort.getTaskFlowContext();
  TaskFlowId taskFlowId = taskFlowContext.getTaskFlowId();
  String taskFlowName = taskFlowId.getFullyQualifiedName();
However generically retrieving incoming parameters proves more difficult. A solution hard is for the initializer code just 'know' the incoming parameters and extract them 1 by 1 by making explicit reference to each incoming parameter. Yet this hardcoded solution will be a pain in the butt that I'll need to check that all of my programmers BTF correctly extract and log each parameter, which will become a double-pain-in-the-stock maintenance, if other parameters are added at a later stage.

Ideally I'm wanting an API which reveals the list of parameters in order to browse and extract the values. Searching through TaskFlowContext, TaskFlowId and other classes, I don't see anything to do.

Another solution is to extract all the objects of the BTF #{pageFlowScope}. Yet it is a red herring, the initializer is called after the BTF own controlled beans are instantiated, implying that the pageFlowScope will include additional objects beyond the BTF parameter set that we want. As such, we need a way to distinguish beans controlled pageFlowScope for this useful parameters BTF method solution.

What is someone is aware of an API or a solution to retrieve the settings that do not require I hardcod the names of parameters extracted please?

With our thanks,

CM.

Hi Chris and all,.

Sorry for not being very active lately as this pretty much fall in my area of expertise. Would the following works for you:

FacesContext context = FacesContext.getCurrentInstance();
Application application = context.getApplication();
TaskFlowDefinition definition = MetadataService.getInstance().getTaskFlowDefinition(taskFlowId);
Map parameters = definition.getInputParameters();
for (TaskFlowInputParameter parameter : parameters.values())
{
    String name = parameter.getName();
    String expression = parameter.getValueExpression();
    Object value = application.evaluateExpressionGet(context, expression, Object.class);
    // Do something with the parameter
}

I hope that's what you're looking for as I am scanning the thread very fast atm and speed of reading often missing some subtleties.

Tags: Java

Similar Questions

  • How to set the parameter for the button programmatically via the controller

    Hello

    I created a button in the advanced table (seeded page) as a column using customization called 'Submit', I pulled this button via PR in the extended controller action.

    Now I want to get the value of SuccessionPlanId (one of the column of this advanced table) when I press the button 'Submit' in the controller.

    If I can be able to get this means value of SuccessionPlanId I will then cross this value to the stored procedure, callable statement.

    So suggest me how do it in the controller.

    or tell me how to add the parameters programmatically to the button.

    Thanks in advance,

    SAN

    Hello

    package difference

    import

    oracle.apps.per.selfservice.successionmgmt.server.PerSuccPlanSearchVORowImpl . instead of

    oracle.apps.per.selfservice.successionplan.server.PerSuccPlanSearchVORowImpl;

    Thank you
    Pratap

  • There the rest APIs to retrieve the metadata for entity for eloqua objects?

    There is a list of all the objects that are accessible by the REST for CRUD in this link: REST API - Documentation for kernel objects in the objects of the core section.

    For each of the objects listed in the objects of the core section are there is a metadata field in the Properties section.

    For example, for the purpose of the e-mail message, The REST API - to access Emails , under the Properties section, there entered corresponding to the fields of the object of the emails under the
    Name, Type, Description and validation topics.

    Is there a REST API to retrieve the same information, i.e. metadata field for an object programmatically eloqua?
    Otherwise, this is a serious obstacle to building systems that are the metadata engine and support for SOAP is removed...

    The closest to what you are looking for would be endpoints of assistance for a description of the fields. Example of /api/bulk/1.0/contact/fields

    {

    "items": [{}

    'name': "E-mail address",

    "internalName": "C_EmailAddress",

    'dataType': 'emailAddress;

    'hasReadOnlyConstraint': false,

    'hasNotNullConstraint': false,

    'hasUniquenessConstraint': true,

    'Déclaration': '{{Contact.Field (C_EmailAddress)}}.

    "uri": "/ contact/field/100001",

    "converted': ' / Date (-2208970800000) /"

    'updatedAt': ' / Date (-2208970800000) / ".

    },

    {

    'name': "First name",

    "internalName": "C_FirstName",

    'dataType': "string",.

    'hasReadOnlyConstraint': false,

    'hasNotNullConstraint': false,

    'hasUniquenessConstraint': false,

    'Déclaration': '{{Contact.Field (C_FirstName)}}.

    "uri": "/ contact/field/100002."

    "converted': ' / Date (-2208970800000) /"

    "updatedBy": "MgrzzzOracleCloudSupportP01E10",

    'updatedAt': ' / Date (1408993722380) / ".

    },.....

    If so, it will also include an element "defaultValue". How many characters you can store in a field (precision) is documented here: Type of data (data and Digital Formats). The same endpoint exist in bulk 2.0, and there are variants for the account fields and Objetpersonnalise. Another exists in the REST through Api/rest/2.0/assets/contact/fields?depth=complete... It does not include the declaration of ML, but there other useful information such as the type of default update and a flag 'isAccountLinkageField '.

    Similarly, if you describe a form via SOAP or REST, it also will give you the fields and their type.

    Kind regards

    Bojan

  • Definition of the parameters of the VI in LabView Action Module with TestStand API

    I started playing with the API, TestStand, and I have questions on how to configure a TSAdp.LabViewModule.

    I use a few examples of NOR and the community of developers to get started:
    http://www.NI.com/example/30263/en/
    https://decibel.NI.com/content/docs/doc-18401

    These examples work as I expect and I understand them.  I am struggling with how to specify VI parameter values in the module when the step type is 'Action '.  In other words, how to set these parameters?

    All the examples I see use of step types that have defined fields, which are accessible through the API with 'AsPropertyObject '.  The action type, by default, has the result field.

    Set the values of the parameters of a VI with the API TestSTand?  If so, how?

    Thank you

    Jacob

    Well, I thought about it on my own so I figure I'd share the solution:

  • Where the parameters to retrieve sent from another application

    I'm launching my native application of the native application, I'll send some parameters of chain, as well as codfile name, where and how I could recover the parameters send in my application?

    ApplicationManager.getApplicationManager (.launch("yourCodFileName?param1¶m2"));

    Where can I retrieve param1 and param2 in my application?

    Concerning

    Rakesh shankar. P

    args [] in your main method

  • Is there an API to retrieve the news related to the dynamic object bound to the ExtendScript Toolkit PS CS6 Core script? for example: linked to the Original file name?

    For example, title...

    I found the info of layer in the photoshop file format data document.

    But not found any API to retrieve in the scripts.

    Thank you, in advance!

    I see that you managed to post on the forum script.

    To find a specific Adobe forum, when you're on the Welcome screen,

    https://forums.Adobe.com/welcome

    look at the menus on the top right of the screen: "see all our products and services ', click on and choose from the dropdown menu, then 'Go '.

  • How to present the user programmatically with different input parameters based on the choice of the Group of entry?

    I have an array of items that represent the inputs to an operation.  The user is allowed to choose a random order for entries to assemble in the table.  Each element, however, requires different input associated parameters that are used by the operation to define each choice.  I realize that, for an array of clusters, the individual cluster array element must all have the same format, that is, they must all have the same type and number of the cluster inputs or outputs.

    Ideally, I would like to have a picture of the clusters, where each cluster has a different set of inputs.  Does anyone have ideas for a solution of programming would be to approach or to simulate such a structure?

    Thank you

    Mike H.

    Hello

    I tried soemthing and attached the VI (LV 2010)

    develop something similar to what is in the attached VI and then package clusters for which the user enters the parameters... I prefer the tabs page, more than the cluster "all settings".

  • BlackBerry WebWorks app via a URL with the parameters of launch?

    I have an application of WebWorks I want to start with a URL to the browser and pass parameters to query URL to the application in this way. Is this possible? How? I would be happy to use HttpFilterRegistry or API call, but I don't see how to use these approaches to get my WebWorks App settings, even if I write a custom extension. Example of code would be very useful, especially to consume the parameters. Or at least an indication of which API (s) for this.

    This should be supported by the framework. What I would like to recoemmend is simply invoke the application according to the normal and placing the parameters in the URL to the standard '&' "?" rating.

    Then take advantage of the class UTIL. JS out of the parameters passed required...

    https://bdsc.webapps.BlackBerry.com/HTML5/APIs/BlackBerry.utils.URL.html

    (If you need help, citing the app, it is done as invoke any other java application on the device)

    R

  • The use of reflection to discover the parameters of the method in the first?

    Hello

    I'm trying to use the ExtendScript Toolkit to find out what APIs first supports.

    I can use reflection to discover the properties and methods.

    However, when the search for a method, I do not see how to determine what are the parameters to (at least that its used in the PProPanel example, there is no documentation).

    For example: I want to first In & Out points in the source clip window.

    I can see: qe.source.clip.setInPoint is a function, but how do you call it?

    I also want to set the current position in the source clip.

    I don't see how to do it at all?

    Clues?

    See you soon,.

    James.

    PS I'm using 'ticks' when calling app.project.activeSequence.setPlayerPosition. Any definition of digital beats per second?

    The DOM of the QE remains officially not supported.

    The "chain of timecode" and "decimal" work, for setInPoint():

    qe.source.clip.setInPoint("1.23");

    qe.source.clip.setInPoint ("00; 00; 04; 28");

    He has 254016000000 ticks per second.

    How to set the position:

    qe.source.player.startScrubbing ();

    qe.source.player.scrubTo ("00; 00; 01; 23");

    qe.source.player.endScrubbing ();

    qe.source.Player.Play ();

  • How to get the parameters of the effect in the CEAP?

    Hi all

    I have a problem when I want to export the settings of the effect.

    (I checked the sample project "ProjDumper").

    Yellow: layer

    Red: one of the effect (text)

    Green: the parameters of the effect (I want to export these values).

    export_problem.jpg

    Here is my code:

            // 1. use a loop to find the "Text" effect
         // 2. get all the params from this effect
         A_long iL = 0;
         A_long jL = 0;
         A_long num_effectsL;
         A_long num_paramsL;
         A_char effect_nameC[30] = {'\0'};
         AEGP_StreamRefH streamH = NULL;
         AEGP_EffectRefH effectH = NULL;
         PF_ParamType            param_type;
         PF_ParamDefUnion        param_union;
         // Get number of effects on this layer
         ERR(Suites.EffectSuite2()->AEGP_GetLayerNumEffects(pLayerHandle, &num_effectsL));
    
         for (iL = 0; iL < num_effectsL; iL++) 
         {
              ERR(Suites.EffectSuite2()->AEGP_GetLayerEffectByIndex(g_PluginID, pLayerHandle, iL, &effectH));
              
              if (effectH) 
              {
                   AEGP_InstalledEffectKey     key;
    
                   ERR(Suites.EffectSuite2()->AEGP_GetInstalledKeyFromLayerEffect(effectH, &key));
                   ERR(Suites.EffectSuite2()->AEGP_GetEffectName(key, effect_nameC));
    
                   if (!strcmp(effect_nameC, "Text")) 
                   {
                        // Get number of effect parameters from Text effect
                        ERR(Suites.StreamSuite2()->AEGP_GetEffectNumParamStreams(effectH, &num_paramsL));
    
                        for (jL = 1; jL < num_paramsL; ++jL) // start at 1 to skip initial layer param
                        {          
                             ERR(Suites.EffectSuite3()->AEGP_GetEffectParamUnionByIndex(g_PluginID, effectH, jL, &param_type, &param_union));
                             switch (param_type)
                             {
                             case PF_Param_POPUP:
                                  break;
                             case PF_Param_SLIDER:
                                  break;
                             case PF_Param_COLOR:
                                  break;
                             case PF_Param_CHECKBOX:
                                  break;
                             default:
                                  break;
                             }
                        }
                        ERR2(Suites.EffectSuite2()->AEGP_DisposeEffect(effectH));
    
                        break;
                   }
              }
         }
    

    In the SDK document, it indicates the value of PF_ParamDefUnion should not be used.

    So, how can I get these params in the effect, I put (the green line on the photo)?

    And, if there is any harm in my logic, please let me know.

    Thank you.

    > How do I know what setting is pop-menu, checkbox, or difficulty slider? (You can see the green line in the picture).

    I now just how to get the stream parameter type (type of AEGP_StreamVal: AEGP_OneDVal, AEGP_ColorVal etc.). Pop-up menu, checkbox or fix cursor parameter streams have the same type of workflow: AEGP_OneDVal.

    How to control parameter type you already posted in your code).

    > Shouldn't use a loop to get all the params?

    I also use this loop...

    > Could you please tell more in detail how to use it?

    I don't know what you want to do... I can't say more as written in the SDK.

  • set the password for the 'parameters' on iphone 5

    Y at - it app to set a password for the "parameters" on an iphone 5?  My son continues to change some of the parameters,

    N ° define a word password on the phone and don't let not your son play with him.

  • On a Windows 7 computer, I installed Firefox 9.0.1 and in my menu edit I have NO preferences at the bottom, so there is no way to set all the parameters

    On a Windows 7 computer, I installed Firefox 9.0.1 and in my edit menu I have NO preferences at the bottom, so there is no way to set all the parameters of the Edit menu opens and I cancel, redo, cut, copy, paste, delete, select all, find... but WITHOUT preferences below. This is a new laptop and nothing like Skype is installed. Installation of Firefox is again today 06/01/12

    Hi bruce,.

    What actually are you looking for? On Windows 7, your options will be under Tools > Options. If you have the Firefox menu, you can press Alt to temporarily activate the menu bar.

    The details of your system say Linux. Say you're on Windows 7 However, correct?

  • Pavilion 20 all in one pc: my UEFI Bios does not appear when I click on the parameters of the UEFI firmware

    I have to change some settings in my bios so that I can start my CD of restoration but whenever I click on the parameters of the UEFI firmware and select restart it never brings the Bios screen.

    When the computer begins to boot, start to type the F10 key continuously.  This should access the BIOS.

    Please click on the Thumbs up button '+' if I helped you and click on "Accept as Solution" If your problem is resolved.

  • Publication in FCPX settings... IS THERE A WAY TO MAKE EDITING THE PARAMETERS EASIER TO HAVE FCP TO PUBLISH EACH SCHOOL SETTING? IS THERE A WAY TO "PUBLISHED IN THE WORLD" A WHOLE PROJECT OR AT LEAST PARAMETERS?

    IS THERE A WAY TO MAKE EDITING THE PARAMETERS EASIER TO HAVE FCP TO PUBLISH EACH SCHOOL SETTING?

    IS THERE A WAY TO "PUBLISHED IN THE WORLD" A WHOLE PROJECT OR AT LEAST PARAMETERS?

    Is it wise to publish all THE settings of a plugin?

    I prefer to reduce the options, for example I'm rigging 'size' to distribute only one of them-in my eyes - range 'useful '; or create by rigging the drop-down menu 'plans', for example for the color selections...

    In any case...

    'Major settings' as Transform or filling or 3D can be published, just click Reset arrow, and all the "sub menu" get published too... can't imagine how to make the publication easier...

    BTW: CAPS means YELLING on the boards...

    be nice... what goes around, comes around ...

  • Is it possible to record manipulation of the parameters of the effects internally while the track is playing or should I check from one computer to another?

    I want to be able to handle the effects of garageband, such as tremolo or EQ, on a single track as it plays (rather than just a "Preset" for the duration of the track), but I don't know if there is a way to do it internally with a single computer. The only way I've tried so far is by connecting two different macs and manipulate the parameters of effects on a computer while he was recording the line to the other computer. I guess I'll lose some sound quality make this way, but more importantly it would be just practical to achieve with a single computer.

    You can change the effects by using Automation for industry show automation curves by clicking the yellow button and place it to the effect that you want to manipulate. CTRL-click on the track to create control points and draw the curve of automation for the effect.

Maybe you are looking for

  • need drivers win7 for h8-1534

    I bought a PC h8-1534. It comes with win8 installed. I can't stay win8 and want to run win7. Yet, HP offers no driver for win7. Am I totally screwed up now?

  • 23o014 HP AIO: hang the Bose outdoor speakers to HP AIO?

    I don't know about the operating system - it displays under Windows 10 Home, but does not include if it's 32-bit or 64-bit, but other areas mentioned System32, then perhaps 32-bit? Anyway, I got a HP Pavillion who accepted my Bose speakers - it allow

  • change the footprint of the resistance

    I would change the footprint of the resistance for a student laboratory where the pads need to be made larger than normal size. I can't find a good match in the footprints of existing resistance. How can I add a footprint artisanal to the resistance

  • How to change background Ctrl Alt Del

    I'm under Windows XP Professional 32 bit, I want to know how to do the ctrl alt delete button display an image instead of being blank. What are the steps to get there. __ I would like to know how to display an image in the ctrl alt del login screen b

  • AMD CCC does not Inspiron 5520

    Hello I have a Dell Inspiron 5520 and it comes with an integrated Intel HD 4000 and ATI Radeon HD 7670. ATI Radeon HD 7670 m current Version of the driver: 8.951.9.1000 Windows 7 64 bit Unfortunately when I try to play games, it seems that it uses th