The error following is shown when trying to build the EAR file, below is the complete error:
com.tibco.be.parser.codegen.CompilationFailedException: warning: [options] bootstrap class path not set in conjunction with-source 8 path_to_failing_rule: error: incompatible types: Id cannot be converted to int java.lang.String ...
This error is caused by the default Lookup strategy in later 6.x releases. In BE 6.1.1 and above versions by default the lookup strategy is set to New Key base lookup, it uses an object extId
that becomes the primary key for an entity, and if extId
is not provided, an internal extId
is automatically generated for that instance. Also, the object table is not used for store or cache lookups. So, Legacy lookup (by default in BE 6.1.0 and before) is object table based which provides mappings for all entities in the cache/store, then an entity instance can be fetched or loaded into working memory by specifying its Long ID or extId with or without specifying its URI.
If we look at the piece of code throwing the error, there is an object value stored in a string variable as shown below:
String extID_ChgUserData = String.valueOfInt(ChgDetail.ChgDetail_ChgCommonUserData[k]@id);
As explained, the way lookup versions work is different, so the objects cannot be just converted to String as New Key base lookup doesn't use an object table to map the entities.