Create an object at runtime in oracle d2k

Hi
Can i create objects like buttons, text_items etc. at runtime in oracle form?
regards
Pradhyumn

All versions do not support the same coding. C/S and Web version can be very different, if you use client side features.
I also have to add that only Web version can integrate Java Beans and/or PJCs.
With old C/S version, you cannot create anything at runtime. You have to create the non visible items at design time, then show and move them at runtime;
With Web version, you can have Java Beans able to create real components at runtime.
Francois

Similar Messages

  • Creating View Objects at Runtime for Validation

    In Oracle® Application Development Framework
    Developer’s Guide For Forms/4GL Developers tutorial there is a topic about Creating View Objects at Runtime for Validation.
    Is there any sample code available for this topic?
    Please help
    Regards
    S Karar

    I have created a helper method . The code is given below
    protected ViewObject getValidationVO(String viewObjectDefName) {
    // Create a new name for the VO instance being used for validation
    String name = "Validation_" + viewObjectDefName.replace('.', '_');
    // Try to see if an instance of this name already exists
    ViewObject vo = getDBTransaction().getRootApplicationModule().findViewObject(name);
    // If it doesn't already exist, create it using the definition name
    if (vo == null) {
    vo = getDBTransaction().getRootApplicationModule().createViewObject(name,viewObjectDefName);
    return vo;
    // Validation_bc4j_project of type ApplicationModule not found
    and created a validation method.
    The code inside validation method is given below.
    public boolean validateAvgMr(Number data) {
    String batch_catg = getQuality();
    // Get the view object instance for validation
    ViewObject vo = getValidationVO("bc4j_project.v_sqc0150");
    if (getTestStage()=="DOLLOP" && getQuality()=="DECO")
    // Set it's bind variables (which it will typically have!)
    vo.setNamedWhereClauseParam("batch_catg","DECO");
    vo.executeQuery();
    Number dol_mr_lcl=(Number)vo.first().getAttribute("DolMrLclStd");
    setStdMrLcl(dol_mr_lcl);
    return true;
    return true;
    I have checked the validation view and it is returing value with the same bind variable value but is not returning any value when using inside this method validation.
    I have checked several times but can't find the fault in the code.
    Please help

  • How do I create multiple objects during runtime?

    I don't know how to create multiple objects during runtime, here's my problem:
    I get a String as input. Then I create an object called newobject. I put the object in a hashtable with the above string as key.
    Then comes the problem, in order to create a new object, I have to rerun the same class, which uses the same name (newobject) to create a 2nd object. Now my hashtable doesn't reference to my 1st object anymore...
    Is there anyway I can fill up the hashtable with different objects, and make each key point to each object it was supposed to?
    For those who want to see a bit of the program:
    public class PlayBalloon{
    public Hashtable ht = new Hashtable();
    for(){
    Balloon pB = newBalloon;
    newBalloon=new Balloon(pB);
    ht.put("Some input from user", newBalloon);
    for(){
    ht.get(s).draw;<= s=string, draw=own meth. in Balloon
    }

    I think i can see the problem that you are having. You have, in effect, duplicate keys in your hashtable - ie, two strings used as keys with the same name.
    The way that a hashtable works is as follows...
    When you ask for a value that is mapped to a key it will go through the table and return the first occurence it finds of the key you asked for. It does this by using the equals() method of whatever object the key is (in your case it is a String).
    If you cant use different Strings for your keys in your hashtable then i would consider writing an ObjectNameKey class which contains the String value that you are trying to put in the hashtable and an occurrence number/index or something to make it unique. Remember to override the equals method in your ObjectNameKey object or else the hash lookup will not work. For example
    class ObjectNameKey {
        private String name;
        private int occurence;
        public ObjectNameKey(String name, int occ) {
            this.name = name;
            this.occurence = occ;
        public String getName() {
            return name;
        public String getOccur() {
            return occurence;
        public boolean equals(Object o) {
            if (!(o instanceof ObjectNameKey)) {
                return false;
            ObjectNameKey onk = (ObjectNameKey)o;
            if (onk.getName().equals(name) && onk.getOccur() == occurence) return true;
            return false;

  • How to create view object for a predefined Oracle view

    Trying to create an entity object with no success,,,
    I have an Oracle view(complex query in PL/SQL) that I need to encapsulate as a View Object then represent a column from this view as a '' | | linkcolumn | | ''
    then get a reference of the requestParameter "p" in this case that I need to use as whereclause parameter on another view object that is part of the ListPage.jsp.
    The application is basically a page of organization links that when click filters their reports as a list,
    In Jdeveloper's context webBean(RowSetBrowser list [org links] to RowSetBrowser [org report list])
    Can I implement this functionallity using the wizards or possibly writing custom code using the standard webBeans.

    Jerry,
    First, you can create an entity object based on an Oracle view. If you check the "Views" checkbox in the EO wizard, you'll see a list of database views. Then you can create a view object based on your entity object, and use it like any other view object.
    As for getting the page into the format you want, I suggest you start by generating your page using the BC4J JSP wizard, then customize the generated JSP.
    Thanks
    Blaise

  • Not Able to Create database objects(Tables, etc) in Oracle 12c

    Hello Sir,
    Recently, I have installed oracle 12c in my PC. And I am able to connect with the ANONYMOUS user and connection name ORCL.
    But I am not able to create any objects in database like tables creation, it's just showing the error message like- you don't have sufficient privileges.
    Could you please help on this? How to start the work on oracle 12c database as I have worked on Oracle 11g with the SCOTT user and connection name ORCL.It was working fine. But SCOTT user is not present in 12c. Is there any other USER in 12c with the default tables like EMP table in 11g in the SCOTT USER schema?
    Please suggest, what to do?
    Thanks In Advance!!

    Hi Nishant ,
    Thanks for the reply.
        I have done all the steps as you mentioned above. I am not able to create HR user. Please check the below errors and
    please guide me on this.
    SQL*Plus: Release 12.1.0.1.0 Production on Sat Oct 5 23:46:38 2013
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    Enter user-name: anonymous
    Enter password:
    Last Successful login time: Sat Oct 05 2013 23:46:58 +05:30
    Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
    SQL> connect sys as sysdba;
    Enter password:
    Connected.
    SQL> CREATE USER  hr IDENTIFIED BY Password#123
      2  DEFAULT TABLESPACE  hr_users
      3  TEMPORARY TABLESPACE  hr_temp
      4  QUOTA  5000k ON  hr_users
      5  QUOTA unlimited ON hr_temp
      6  PROFILE  enduser  ;
    CREATE USER  hr IDENTIFIED BY Password#123
    ERROR at line 1:
    ORA-65096: invalid common user or role name
    SQL> SELECT NAME, CDB FROM V$DATABASE;
    NAME      CDB
    ORCL      YES
    SQL> SHO CON_ID CON_NAME
    CON_ID
    1
    CON_NAME
    CDB$ROOT
    SQL> SET LINE 150
    SQL> SELECT NAME, OPEN_MODE, OPEN_TIME FROM V$PDBS;
    NAME                           OPEN_MODE  OPEN_TIME
    PDB$SEED                   READ ONLY  04-OCT-13 08.57.50.461 PM
    PDBORCL                        MOUNTED
    SQL> CONN HR/HR@PDBORCL
    ERROR:
    ORA-12154: TNS:could not resolve the connect identifier specified
    SQL> SHO CON_ID CON_NAME
    SP2-0640: Not connected
    SP2-0641: "SHOW CONTAINER" requires connection to server
    Thanks in advance!!
    Regards,
    Dharmendra Verma

  • Re: Not Able to Create database objects(Tables, etc) in Oracle 12c

    In addition to what Nishant said, the PDB databases are not opened by default.
    You must open them manually or create a trigger to do it.

    Hi Nishant ,
    Thanks for the reply.
        I have done all the steps as you mentioned above. I am not able to create HR user. Please check the below errors and
    please guide me on this.
    SQL*Plus: Release 12.1.0.1.0 Production on Sat Oct 5 23:46:38 2013
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    Enter user-name: anonymous
    Enter password:
    Last Successful login time: Sat Oct 05 2013 23:46:58 +05:30
    Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
    SQL> connect sys as sysdba;
    Enter password:
    Connected.
    SQL> CREATE USER  hr IDENTIFIED BY Password#123
      2  DEFAULT TABLESPACE  hr_users
      3  TEMPORARY TABLESPACE  hr_temp
      4  QUOTA  5000k ON  hr_users
      5  QUOTA unlimited ON hr_temp
      6  PROFILE  enduser  ;
    CREATE USER  hr IDENTIFIED BY Password#123
    ERROR at line 1:
    ORA-65096: invalid common user or role name
    SQL> SELECT NAME, CDB FROM V$DATABASE;
    NAME      CDB
    ORCL      YES
    SQL> SHO CON_ID CON_NAME
    CON_ID
    1
    CON_NAME
    CDB$ROOT
    SQL> SET LINE 150
    SQL> SELECT NAME, OPEN_MODE, OPEN_TIME FROM V$PDBS;
    NAME                           OPEN_MODE  OPEN_TIME
    PDB$SEED                   READ ONLY  04-OCT-13 08.57.50.461 PM
    PDBORCL                        MOUNTED
    SQL> CONN HR/HR@PDBORCL
    ERROR:
    ORA-12154: TNS:could not resolve the connect identifier specified
    SQL> SHO CON_ID CON_NAME
    SP2-0640: Not connected
    SP2-0641: "SHOW CONTAINER" requires connection to server
    Thanks in advance!!
    Regards,
    Dharmendra Verma

  • Creating and compiling JavaFX objects at runtime

    I am interested in the possibility of creating JavaFX objects at runtime where their definition is not know until runtime and am unsure about how to do this. Clearly I will need the JavaFX Script compiler at runtime which I guess is not that much of a problem but I am looking to accomplish this within the browser context so it would mean that I need the compiler to be available as part of the standard JRE much in the same way as the JavaFX Script interpreter is to obviate the need for it to be downloaded.
    Does anyone know if the JavaFX Script compiler is available as a built-in component within the latest versions of the JRE? If not, is it planned to include it in the future (JSE 7 perhaps)?
    Thanks,
    The Gibbon

    Perhaps the thread [Dynamic Scripting, how?|http://forums.sun.com/thread.jspa?threadID=5379268] can help.

  • How to create a text object at runtime?

    Hi,
    I am using crystal reports for visual studio 2010 and using c# to programming.
    I need to create  a text object in a specific section like section 2. and also I need to control the text object's position and text.
    I tried to move a object like:
    reportDocument1.ReportDefinition.Sections[j].ReportObjects<i>.Left = 0x8760;
    but object's position doesn't change at all.
    How can I do these (create a text object and change a object postion)?
    Thanks

    Hi Don,
    Thank you.
    I have downloaded a RAS ( report application Server ) sample.
    The sample uses the Business Objects Enterprise XI release 2. I am using win 7 and crystal reports for vs2010. Can I use this version of crystal reports to create  a text object at runtime? If not, what is the lowest version I have to purchase to achieve what I want?
    Basicly I need following capabilities at runtime:
    1) craete text objects, line objects, image objects.
    2) change text object, line object and image object positions, sizes, values of text object. If can I like to be able to change font as well.
    3) supress objects, sections. 
    4) change section's height

  • Error Message: JBO-25009: Cannot create an object of type:oracle.jbo.domain

    Hi, When im giving a default value to a date column in the attribute settings i get this error when im running my jsp page (bc4j web application):
    Error Message: JBO-25009: Cannot create an object of type:oracle.jbo.domain.Date with value: 31-dic-2099
    How can i fix that? I�ve already trying all possible date formats.
    Thanku

    The default format for Date (oracle.sql.DATE which is the superclass of oracle.jbo.domain.Date) is yyyy-mm-dd.

  • How To Creating A Object Libraries In Oracle Forms 6i

    hi
    All
    I Not No How To Creating a Object Libraries In Oracle Forms 6i
    How To Add Your Pl/sql Block In a Lib
    But What Is Use it is i Know , So I Want To Creating a Object Libraries.
    So Any One Have A Idea Plz Help Me.

    Hi,
    there is a good paper:
    http://www.quovera.com/whitepapers/downloads/102_doc.zip
    http://www.quovera.com/whitepapers/downloads/102_ppt.zip
    Best,
    Friedhold

  • Gettting 0x800a139e - JavaScript runtime error: SecurityError on creating websocket object in .js page

    Hi Team,
    I am creating a websocket object in the existing webapplication I have. When creating the object with url :    var url = 'ws://localhost:4334//WebSocketServer.ashx?name=Satya'; getting error  . 0x800a139e - JavaScript runtime error: SecurityError.
    var ws;
    var message ;
    var messageVal;
    function $(id) {
        return document.getElementById(id);
    function wireEvents() {
        $('sendChat').addEventListener('click', function () {
            message = $('message');
            ws.send(message.innerText);
            messageVal=message.innerText;
            message.innerText = '';
        $('btnCancelChat').addEventListener('click', function () {
            ws.close();
    function Chat () {
        wireEvents();
        var conversation = $('conversation');
        var url = 'ws://localhost:4334//WebSocketServer.ashx?name=Satya';
        //var url = 'ws://https://127.0.0.1:444/WebSocketsServer.ashx?name=Satya';
        ws = new WebSocket(url);
        ws.onerror = function (e) {
            conversation.appendChild(createSpan('Problem with connection: ' + e.message));
        ws.onopen = function () {
            //conversation.innerHTML = 'Client connected <br/>';
        ws.onmessage = function (e) {
            conversation.appendChild(createSpan(e.data.toString()));
        ws.onclose = function () {
            conversation.innerHTML = 'Closed connection!';
    The same works fine if i create a new application i access as a HTML page on page load.
    Can any one help me on this?
    Thanks,
    Satya Chenna

    http://forums.asp.net/
    The JavaScript section is at the above forum.

  • Dynamically create objects at runtime - Collections?

    Dear Experts
    During runtime i need to create several objects. Can you help me by pointing out the best practice here? Is it possible to store Man and Dog object in the single collection?
    Thank you for the help
    The code is as follows
    abstract class Mammal {
        String name;
        Mammal(String n)
            name = n;
        void sleep()
            System.out.println( name + "! is asleep! zzzzzzz!");
        abstract void talk();
    class Man extends Mammal {
        Man(String n)
            super(n);
        void talk()
            System.out.println("H1 My Name is "+name+" How do you do?");
    class Dog extends Mammal {
        Dog(String n)
            super(n);
        void talk()
            System.out.println("Wrf!Wrf!");
    public class Main {
        public static void main(String[] args) {
           Dog d1 = new Dog("Dots");
           Man m1 = new Man("Joe");
           Dog d2 = new Dog("Dollar");
           Man m2 = new Man("Mike");
           // ideally i would like to push this into collection of objects
    }

    standman wrote:
    thank you
    i tried this. If it is wrong please let me know. If all you need is a List, it may work fine. I didn't try it. Some suggestions:
    Declare 'al' as a List:
    List al = new ArrayList();Then if you decide you need a LinkedList or other List, you only have to change the right side construction.
    Try to use generics (as YoungWinston suggested).
    Use an Iterator or an "enhanced 'for' loop" for the iteration, instead of constantly checking "size" and using "get(i)". Since you have a short random-access list (ArrayList), your loop may work okay. But, if you had a long non-random-access list (such as LinkedList), an Iterator or "enhanced 'for' loop" (which uses an Iterator behind-the-scenes) would work faster.
    If you do need thread-safety, there are other considerations, too.

  • Create object in runtime phase

    Hi all,
    i would create a data grid and pass it an array...
    for example th array looks like this:
    <mx:Array id="planets">
    <mx:Object planet="Mercury" kind="Terrestrial"
    year_duration="0.24" moons="0" cost="1250" />
    <mx:Object planet="Venus" kind="Terrestrial"
    year_duration="0.62" moons="0" cost="2400" />
    <mx:Object planet="Jupiter" kind="Gas giant"
    year_duration="11.86" moons="63" cost="500" />
    <mx:Object planet="Eris" kind="Ice dwarf"
    year_duration="557" moons="1" cost="3000" />
    </mx:Array>
    and datagrid takes dataprovider property equal to "planets".
    ok it'all ok but how can i create an object with those
    properties (planet, kind,...) and values dinamically?
    for example i would create a method that returns a value and
    inserts it in a properties in the object array
    <mx:Object planet = method1() kind = method2() />
    maybe i have to create MyClass that extends Objects...infact
    i see that the dataprovider propertiy is an OBject class...i dont't
    know...
    i appreciate any help..thanks a lot

    Thanks for the reply...
    an other question
    i'have an xml file like this:
    > <root>
    > <week id="1">
    > <production day="monday">
    > <book>23</book>
    > <cds>49</cds>
    > </production>
    > <production day="tuesday">
    > <book>56</book>
    > <cds>68</cds>
    > </production>
    > ...other weeks production...
    > </week>
    > </root>
    i would create objects for every products: book and cds
    for example for book
    <mx:Object monday="23" tuesday="56" />
    and for cds
    <mx:Object monday="56" tuesday="68" />
    can you suggest a procedure to rich this result?
    thanks in advance
    Regards
    Bilbo

  • Passing Array of java objects to and from oracle database-Complete Example

    Hi all ,
    I am posting a working example of Passing Array of java objects to and from oracle database . I have struggled a lot to get it working and since finally its working , postinmg it here so that it coudl be helpful to the rest of the folks.
    First thinsg first
    i) Create a Java Value Object which you want to pass .
    create or replace and compile java source named Person as
    import java.sql.*;
    import java.io.*;
    public class Person implements SQLData
    private String sql_type = "PERSON_T";
    public int person_id;
    public String person_name;
    public Person () {}
    public String getSQLTypeName() throws SQLException { return sql_type; }
    public void readSQL(SQLInput stream, String typeName) throws SQLException
    sql_type = typeName;
    person_id = stream.readInt();
    person_name = stream.readString();
    public void writeSQL(SQLOutput stream) throws SQLException
    stream.writeInt (person_id);
    stream.writeString (person_name);
    ii) Once you created a Java class compile this class in sql plus. Just Copy paste and run it in SQL .
    you should see a message called "Java created."
    iii) Now create your object Types
    CREATE TYPE person_t AS OBJECT
    EXTERNAL NAME 'Person' LANGUAGE JAVA
    USING SQLData (
    person_id NUMBER(9) EXTERNAL NAME 'person_id',
    person_name VARCHAR2(30) EXTERNAL NAME 'person_name'
    iv) Now create a table of Objects
    CREATE TYPE person_tab IS TABLE OF person_t;
    v) Now create your procedure . Ensure that you create dummy table called "person_test" for loggiing values.
    create or replace
    procedure give_me_an_array( p_array in person_tab,p_arrayout out person_tab)
    as
    l_person_id Number;
    l_person_name Varchar2(200);
    l_person person_t;
    l_p_arrayout person_tab;
    errm Varchar2(2000);
    begin
         l_p_arrayout := person_tab();
    for i in 1 .. p_array.count
    loop
         l_p_arrayout.extend;
         insert into person_test values(p_array(i).person_id, 'in Record '||p_array(i).person_name);
         l_person_id := p_array(i).person_id;
         l_person_name := p_array(i).person_name;
         l_person := person_t(null,null);
         l_person.person_id := l_person_id + 5;
         l_person.person_name := 'Out Record ' ||l_person_name ;
         l_p_arrayout(i) := l_person;
    end loop;
    p_arrayout := l_p_arrayout;
         l_person_id := p_arrayout.count;
    for i in 1 .. p_arrayout.count
    loop
    insert into person_test values(l_person_id, p_arrayout(i).person_name);
    end loop;
    commit;
    EXCEPTION WHEN OTHERS THEN
         errm := SQLERRM;
         insert into person_test values(-1, errm);
         commit;
    end;
    vi) Now finally create your java class which will invoke the pl/sql procedure and get the updated value array and then display it on your screen>Alternatively you can also check the "person_test" tbale
    import java.util.Date;
    import java.io.*;
    import java.sql.*;
    import oracle.sql.*;
    import oracle.jdbc.driver.*;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    public class ArrayDemo
    public static void passArray() throws SQLException
    Connection conn = getConnection();
    ArrayDemo a = new ArrayDemo();
    Person pn1 = new Person();
    pn1.person_id = 1;
    pn1.person_name = "SunilKumar";
    Person pn2 = new Person();
    pn2.person_id = 2;
    pn2.person_name = "Superb";
    Person pn3 = new Person();
    pn3.person_id = 31;
    pn3.person_name = "Outstanding";
    Person[] P_arr = {pn1, pn2, pn3};
    Person[] P_arr_out = new Person[3];
    ArrayDescriptor descriptor =
    ArrayDescriptor.createDescriptor( "PERSON_TAB", conn );
    ARRAY array_to_pass =
    new ARRAY( descriptor, conn, P_arr);
    OracleCallableStatement ps =
    (OracleCallableStatement )conn.prepareCall
    ( "begin give_me_an_array(?,?); end;" );
    ps.setARRAY( 1, array_to_pass );
         ps.registerOutParameter( 2, OracleTypes.ARRAY,"PERSON_TAB" );
         ps.execute();
         oracle.sql.ARRAY returnArray = (oracle.sql.ARRAY)ps.getArray(2);
    Object[] personDetails = (Object[]) returnArray.getArray();
    Person person_record = new Person();
    for (int i = 0; i < personDetails.length; i++) {
              person_record = (Person)personDetails;
              System.out.println( "row " + i + " = '" + person_record.person_name +"'" );
                        public static void main (String args[]){
         try
                             ArrayDemo tfc = new ArrayDemo();
                             tfc.passArray();
         catch(Exception e) {
                        e.printStackTrace();
              public static Connection getConnection() {
         try
                             Class.forName ("oracle.jdbc.OracleDriver");
                             return DriverManager.getConnection("jdbc:oracle:thin:@<<HostNanem>>:1523:VIS",
                             "username", "password");
         catch(Exception SQLe) {
                        System.out.println("IN EXCEPTION BLOCK ");
                        return null;
    and thats it. you are done.
    Hope it atleast helps people to get started. Comments are appreciated. I can be reached at ([email protected]) or [email protected]
    Thanks
    Sunil.s

    Hi Sunil,
    I've a similar situation where I'm trying to insert Java objects in db using bulk insert. My issue is with performance for which I've created a new thread.
    http://forum.java.sun.com/thread.jspa?threadID=5270260&tstart=30
    I ran into your code and looked into it. You've used the Person object array and directly passing it to the oracle.sql.ARRAY constructor. Just curios if this works, cos my understanding is that you need to create a oracle.sql.STRUCT out of ur java object collection and pass it to the ARRAY constructor. I tried ur way but got this runtime exception.
    java.sql.SQLException: Fail to convert to internal representation: JavaBulkInsertNew$Option@10bbf9e
                        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
                        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
                        at oracle.jdbc.oracore.OracleTypeADT.toDatum(OracleTypeADT.java:239)
                        at oracle.jdbc.oracore.OracleTypeADT.toDatumArray(OracleTypeADT.java:274)
                        at oracle.jdbc.oracore.OracleTypeUPT.toDatumArray(OracleTypeUPT.java:115)
                        at oracle.sql.ArrayDescriptor.toOracleArray(ArrayDescriptor.java:1314)
                        at oracle.sql.ARRAY.<init>(ARRAY.java:152)
                        at JavaBulkInsertNew.main(JavaBulkInsertNew.java:76)
    Here's a code snippet I used :
    Object optionVal[] =   {optionArr[0]};   // optionArr[0] is an Option object which has three properties
    oracle.sql.ArrayDescriptor empArrayDescriptor = oracle.sql.ArrayDescriptor.createDescriptor("TT_EMP_TEST",conn);
    ARRAY empArray = new ARRAY(empArrayDescriptor,conn,optionVal);If you visit my thread, u'll see that I'm using STRUCT and then pass it to the ARRAY constructor, which works well, except for the performance issue.
    I'll appreciate if you can provide some information.
    Regards,
    Shamik

  • Failed to create Salience object and java.lang.NoClassDefFoundError

    We are getting the below error while trying to use the text enrichment component in Endeca integrator clover server.
    2015-01-26 10:11:59,880 INFO 1343495 [pool-7-thread-1] Creating new Salience object from data paths: '/app/oracle/ofm/TextEnrichment/salience-5.1.1.7349/data'.
    2015-01-26 10:11:59,881 ERROR 1343495 [pool-7-thread-1] Failed to get Salience object from factory
    java.lang.NoClassDefFoundError: com/lexalytics/salience/Salience
      at com.endeca.clover.adapters.salience.SalienceFactory.createSalience(SalienceFactory.java:101)
      at com.endeca.clover.adapters.salience.SalienceFactory.getSalienceInstance(SalienceFactory.java:41)
      at com.endeca.clover.adapters.salience.SalienceRunnable.run(SalienceRunnable.java:92)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      at java.lang.Thread.run(Thread.java:680)
    2015-01-26 10:11:59,891 ERROR 1343495 [WatchDog_1343495] Component [Customer Background:CUSTOMER_BACKGROUND] finished with status ERROR.
    Failed to create Salience object.
    2015-01-26 10:11:59,891 ERROR 1343495 [WatchDog_1343495] Error details:
    org.jetel.exception.JetelRuntimeException: Component [Customer Background:CUSTOMER_BACKGROUND] finished with status ERROR.
      at org.jetel.graph.Node.createNodeException(Node.java:535)
      at org.jetel.graph.Node.run(Node.java:514)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      at java.lang.Thread.run(Thread.java:680)
    Caused by: java.lang.RuntimeException: Failed to create Salience object.
      at com.endeca.clover.adapters.salience.SalienceComponent.execute(SalienceComponent.java:166)
      at org.jetel.graph.Node.run(Node.java:485)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
      ... 1 more
    2015-01-26 10:11:59,930 INFO 1343495 [WatchDog_1343495] Execution of phase [0] finished with error - elapsed time(sec): 0
    2015-01-26 10:11:59,930 ERROR 1343495 [WatchDog_1343495] !!! Phase finished with error - stopping graph run !!!
    2015-01-26 10:11:59,930 INFO 1343495 [WatchDog_1343495] Post-execute finalization of connection:
    2015-01-26 10:11:59,930 INFO 1343495 [WatchDog_1343495] DBConnection driver[org.jetel.connection.jdbc.driver.JdbcDriverImpl@103cdbdc]:jndi[null]:url[jdbc:oracle:thin:@gitvm000212.us.oracle.com:1521:upslstg]:user[upsell_winref] ... OK
    2015-01-26 10:11:59,930 INFO 1343495 [WatchDog_1343495] -----------------------** Summary of Phases execution **---------------------
    2015-01-26 10:11:59,931 INFO 1343495 [WatchDog_1343495] Phase# Finished Status RunTime(sec) MemoryAllocation(KB)
    2015-01-26 10:11:59,930 INFO 1343495 [JobFinalizer_1343495] Finalisation
    2015-01-26 10:11:59,931 INFO 1343495 [WatchDog_1343495] 0 ERROR 0 139976
    2015-01-26 10:11:59,931 INFO 1343495 [WatchDog_1343495] ------------------------------** End of Summary **---------------------------
    2015-01-26 10:11:59,931 INFO 1343495 [WatchDog_1343495] WatchDog thread finished - total execution time: 0 (sec)
    2015-01-26 10:11:59,935 INFO 1343495 [JobFinalizer_1343495] RunTime: 296 ms
    2015-01-26 10:11:59,935 ERROR 1343495 [JobFinalizer_1343495]
    --------------------------------- Error details ----------------------------------
      Component [Customer Background:CUSTOMER_BACKGROUND] finished with status ERROR.
      Failed to create Salience object.
    2015-01-26 10:11:59,935 INFO 1343495 [JobFinalizer_1343495] Finished Status: ERROR
    This happens only on our stage and production instances. On our dev instance it works without problems. All 3 instances are setup the same, although our dev instance was created long time before the stage and prod instances. However, we cannot detect any differences between the machines.
    I've tried the solutions mentioned in the other similar thread: Failed to create Salience object but this doesnt solve the issue since the directory and variables were already correct.
    Anyone can help?

    Given that you are running this in Clover Server, one thing I can recommend is to shut that server down, move/truncate the logs, restart and retest, then look at the first error message you get when attempting to run the graph.  Java classloaders sometimes cache failed class clinit and report future attempts to load that class as a simple NoClassDefFoundError, masking the original/actual root cause.  With any luck you might find another, clearer error - maybe the native binary libraries are not being located.

Maybe you are looking for