Persistence By reachability issue Application Identity

When I Persist the base object it tries to create the related objects
ParamRuleCondition has Collection of ParamRuleConditionExp and
ParamRuleConditionExp has Collection of ParametricExpValue
ParamRuleConditionExp has composite Primary Key with two keys
(ParamRuleCondition , ParametricFeature)
ParametricExpValue has composite Primary Key with three keys one of them
(ExpValue) is a String (ParamRuleCondition , ParametricFeature , ExpValue)
On saving ParamRuleCondition,
it create ParamRuleCondition and ParamRuelConditionExp properly
but tries to insert null in ParametricExpValue
The error is listed at the end
To define composite primary key for ParamRuleConditionExp
I have two extra attribute 'Id' and 'paramFeatureId'
Is this the right way of doing it?
The Pk were generated using the
com.solarmetric.kodo.enhance.ApplicationIdTool class
Thanks for your Help
-Paresh
I have the following object hirearchy
Class RuleCondition {
private Long Id
Class ParamRuleCondition extends RuleCondition {
private Collection paramRuleConditionExps;
class ParamRuleConditionExp {
private ParamRuleCondition paramRuleCondition;
private Long id;
private ParametricFeature parametricFeature;
private Long paramFeatureId;
private Collection expressionValues;
Class ParametricFeature {
private Long paramFeatureId;
private String parametricFeatureCode;
Class ParametricExpValue {
private String expValue;
private ParamRuleConditionExp paramRuleCondExp;
private Long id;
private Long paramFeatureId;
The system.jdo is as follows
<jdo>
<package name="com.paresh">
<class
objectid-class="com.international.core.pk.RuleConditionPK"
identity-type="application" name="RuleCondition">
<field name="id" primary-key="true">
<extension key="data-column" value="RULE_COND_ID"
vendor-name="kodo"/>
</field>
<extension key="class-column" value="TYPE" vendor-name="kodo"/>
<extension key="subclass-provider"
value="com.solarmetric.kodo.impl.jdbc.ormapping.IntegerSubclassProvider"
vendor-name="kodo"/>
<extension key="subclass-indicator-value" value="0"
vendor-name="kodo"/>
<extension key="table" value="RULE_CONDITION"
vendor-name="kodo"/>
<extension key="lock-column" value="none" vendor-name="kodo"/>
</class>
<class identity-type="application" name="ParamRuleCondition"
persistence-capable-superclass="RuleCondition">
<field name="paramRuleConditionExp">
<collection element-type="ParamRuleConditionExp"/>
<extension key="inverse" value="paramRuleCondition"
vendor-name="kodo"/>
</field>
<extension key="subclass-indicator-value" value="3"
vendor-name="kodo"/>
<extension key="table" value="RULE_CONDITION"
vendor-name="kodo"/>
<extension key="lock-column" value="none" vendor-name="kodo"/>
</class>
<class
objectid-class="com.international.core.pk.ParamRuleConditionExpPK"
identity-type="application" name="ParamRuleConditionExp">
<field name="id" primary-key="true">
<extension key="data-column" value="RULE_COND_ID"
vendor-name="kodo"/>
</field>
<field name="paramRuleCondition">
<extension key="id-data-column" value="RULE_COND_ID"
vendor-name="kodo"/>
</field>
<field name="paramFeatureId" primary-key="true">
<extension key="data-column" value="PARAM_FETR_ID"
vendor-name="kodo"/>
</field>
<field name="parametricFeature">
<extension key="paramFeatureId-data-column"
value="PARAM_FETR_ID" vendor-name="kodo"/>
</field>
<field name="expressionValues">
<collection element-type="ParametricExpValue"/>
<extension key="inverse" value="paramRuleCondExp"
vendor-name="kodo"/>
</field>
<extension key="class-column" value="none" vendor-name="kodo"/>
<extension key="table" value="PARAM_RULE_CONDITION_EXP"
vendor-name="kodo"/>
<extension key="lock-column" value="none" vendor-name="kodo"/>
</class>
<class
objectid-class="com.international.core.pk.ParametricFeaturePK"
identity-type="application" name="ParametricFeature">
<field name="paramFeatureId" primary-key="true">
<extension key="data-column" value="PARAM_FETR_ID"
vendor-name="kodo"/>
</field>
<field name="parametricFeatureCode">
<extension key="data-column" value="PARAM_FETR_CD"
vendor-name="kodo"/>
</field>
<extension key="class-column" value="none" vendor-name="kodo"/>
<extension key="table" value="PARAMETRIC_FEATURE"
vendor-name="kodo"/>
<extension key="lock-column" value="none" vendor-name="kodo"/>
</class>
<class
objectid-class="com.international.core.pk.ParametricExpValuePK"
identity-type="application" name="ParametricExpValue">
<field name="expValue" primary-key="true">
<extension key="data-column" value="EXP_VAL"
vendor-name="kodo"/>
</field>
<field name="id" primary-key="true">
<extension key="data-column" value="RULE_COND_ID"
vendor-name="kodo"/>
</field>
<field name="paramFeatureId" primary-key="true">
<extension key="data-column" value="PARAM_FETR_ID"
vendor-name="kodo"/>
</field>
<field name="paramRuleCondExp">
<extension key="id-data-column" value="RULE_COND_ID"
vendor-name="kodo"/>
<extension key="paramFeatureId-data-column"
value="PARAM_FETR_ID" vendor-name="kodo"/>
</field>
<extension key="class-column" value="none" vendor-name="kodo"/>
<extension key="table" value="PARAMETRIC_EXP_VALUE"
vendor-name="kodo"/>
<extension key="lock-column" value="none" vendor-name="kodo"/>
</class>
</jdo>
</package>
THe error is something like
[9/25/03 10:42:12:797 GMT+05:30] 44501d6f ExceptionUtil E CNTR0020E:
Non-application exception occurred while processing method
"createParamRuleCondition" on bean
"BeanId(CdmsDeploy#cdms-ejb.jar#Validation, null)". Exception data:
com.solarmetric.kodo.runtime.FatalDataStoreException:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
[SQL=INSERT INTO PARAMETRIC_EXP_VALUE(EXP_VAL, PARAM_FETR_ID,
RULE_COND_ID) VALUES ('100', null, null)]
[PRE=INSERT INTO PARAMETRIC_EXP_VALUE(EXP_VAL, PARAM_FETR_ID,
RULE_COND_ID) VALUES (?, ?, ?)]
ORA-01400: cannot insert NULL into
("PARESH"."PARAMETRIC_EXP_VALUE"."RULE_COND_ID")
[code=1400;state=23000]

It sounds like your "PARAMETRIC_EXP_VALUE" table's "RULE_COND_ID" field
does not allow nulls. Did you create this table? If so, did you
explicitely disallow nulls from being inserted into the table?Yes nulls are disallowed for column "RULE_COND_ID" as it is part of the
composite primary key for PARAMETRIC_EXP_VALUE table.
I don't understand what you mean here. Do you mean that you are trying
to set the ID "just before it is persisted"? How are you doing this
(e.g., in the jdoPreStore method)?It is not done in jdoPreStore method.
I call paramRuleCondition.setId(new Long(<value>))
just before calling pm.makePersistent(paramRuleCondition)
Thanks
-Paresh
Marc Prud'hommeaux wrote:
Paresh-
It sounds like your "PARAMETRIC_EXP_VALUE" table's "RULE_COND_ID" field
does not allow nulls. Did you create this table? If so, did you
explicitely disallow nulls from being inserted into the table?
One thing I would like to add is that ParamRuleCondition's id has a 'null'
value until just before it is persisted.
I don't understand what you mean here. Do you mean that you are trying
to set the ID "just before it is persisted"? How are you doing this
(e.g., in the jdoPreStore method)?
In article <[email protected]>, Paresh wrote:
Thanks for your help Stephen
I changed the business object method to set the id
But now I am getting a different error
The new error is listed below
One thing I would like to add is that ParamRuleCondition's id has a 'null'
value until just before it is persisted.
But even then the Id is propogated to ParamRuleConditionExp, from where I
would expect it to go to the ParametricExpValue. But it doesn't happen.
Is my expectation right or is there a gap in my understanding of the way
KODO works?
Thanks for your help
-Paresh
Exception data: com.solarmetric.kodo.runtime.FatalDataStoreException:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
[SQL=INSERT INTO PARAMETRIC_EXP_VALUE(EXP_VAL, PARAM_FETR_ID,
RULE_COND_ID) VALUES ('100', 3, null)]
[PRE=INSERT INTO PARAMETRIC_EXP_VALUE(EXP_VAL, PARAM_FETR_ID,
RULE_COND_ID) VALUES (?, ?, ?)]
ORA-01400: cannot insert NULL into
("CDMS2"."PARAMETRIC_EXP_VALUE"."RULE_COND_ID")
Stephen Kim wrote:
When attempting to do what you want to do (a persistent class column as
part of the pk), you have to set both the pk field and the relation.
i.e. yourClass.setFeatureId (feature.getId ());
yourClass.setFeature (feature);
Of course that logic can be encapsulated in your business objects.
Paresh wrote:
When I Persist the base object it tries to create the related objects
ParamRuleCondition has Collection of ParamRuleConditionExp and
ParamRuleConditionExp has Collection of ParametricExpValue
ParamRuleConditionExp has composite Primary Key with two keys
(ParamRuleCondition , ParametricFeature)
ParametricExpValue has composite Primary Key with three keys one of them
(ExpValue) is a String (ParamRuleCondition , ParametricFeature ,
ExpValue)
>>>>
On saving ParamRuleCondition,
it create ParamRuleCondition and ParamRuelConditionExp properly
but tries to insert null in ParametricExpValue
The error is listed at the end
To define composite primary key for ParamRuleConditionExp
I have two extra attribute 'Id' and 'paramFeatureId'
Is this the right way of doing it?
The Pk were generated using the
com.solarmetric.kodo.enhance.ApplicationIdTool class
Thanks for your Help
-Paresh
I have the following object hirearchy
Class RuleCondition {
private Long Id
Class ParamRuleCondition extends RuleCondition {
private Collection paramRuleConditionExps;
class ParamRuleConditionExp {
private ParamRuleCondition paramRuleCondition;
private Long id;
private ParametricFeature parametricFeature;
private Long paramFeatureId;
private Collection expressionValues;
Class ParametricFeature {
private Long paramFeatureId;
private String parametricFeatureCode;
Class ParametricExpValue {
private String expValue;
private ParamRuleConditionExp paramRuleCondExp;
private Long id;
private Long paramFeatureId;
The system.jdo is as follows
<jdo>
<package name="com.paresh">
<class
objectid-class="com.international.core.pk.RuleConditionPK"
identity-type="application" name="RuleCondition">
<field name="id" primary-key="true">
<extension key="data-column" value="RULE_COND_ID"
vendor-name="kodo"/>
</field>
<extension key="class-column" value="TYPE"vendor-name="kodo"/>
<extension key="subclass-provider"
value="com.solarmetric.kodo.impl.jdbc.ormapping.IntegerSubclassProvider"
vendor-name="kodo"/>
<extension key="subclass-indicator-value" value="0"
vendor-name="kodo"/>
<extension key="table" value="RULE_CONDITION"
vendor-name="kodo"/>
<extension key="lock-column" value="none"vendor-name="kodo"/>
</class>
<class identity-type="application" name="ParamRuleCondition"
persistence-capable-superclass="RuleCondition">
<field name="paramRuleConditionExp">
<collection element-type="ParamRuleConditionExp"/>
<extension key="inverse" value="paramRuleCondition"
vendor-name="kodo"/>
</field>
<extension key="subclass-indicator-value" value="3"
vendor-name="kodo"/>
<extension key="table" value="RULE_CONDITION"
vendor-name="kodo"/>
<extension key="lock-column" value="none"vendor-name="kodo"/>
</class>
<class
objectid-class="com.international.core.pk.ParamRuleConditionExpPK"
identity-type="application" name="ParamRuleConditionExp">
<field name="id" primary-key="true">
<extension key="data-column" value="RULE_COND_ID"
vendor-name="kodo"/>
</field>
<field name="paramRuleCondition">
<extension key="id-data-column" value="RULE_COND_ID"
vendor-name="kodo"/>
</field>
<field name="paramFeatureId" primary-key="true">
<extension key="data-column" value="PARAM_FETR_ID"
vendor-name="kodo"/>
</field>
<field name="parametricFeature">
<extension key="paramFeatureId-data-column"
value="PARAM_FETR_ID" vendor-name="kodo"/>
</field>
<field name="expressionValues">
<collection element-type="ParametricExpValue"/>
<extension key="inverse" value="paramRuleCondExp"
vendor-name="kodo"/>
</field>
<extension key="class-column" value="none"vendor-name="kodo"/>
<extension key="table" value="PARAM_RULE_CONDITION_EXP"
vendor-name="kodo"/>
<extension key="lock-column" value="none"vendor-name="kodo"/>
</class>
<class
objectid-class="com.international.core.pk.ParametricFeaturePK"
identity-type="application" name="ParametricFeature">
<field name="paramFeatureId" primary-key="true">
<extension key="data-column" value="PARAM_FETR_ID"
vendor-name="kodo"/>
</field>
<field name="parametricFeatureCode">
<extension key="data-column" value="PARAM_FETR_CD"
vendor-name="kodo"/>
</field>
<extension key="class-column" value="none"vendor-name="kodo"/>
<extension key="table" value="PARAMETRIC_FEATURE"
vendor-name="kodo"/>
<extension key="lock-column" value="none"vendor-name="kodo"/>
</class>
<class
objectid-class="com.international.core.pk.ParametricExpValuePK"
identity-type="application" name="ParametricExpValue">
<field name="expValue" primary-key="true">
<extension key="data-column" value="EXP_VAL"
vendor-name="kodo"/>
</field>
<field name="id" primary-key="true">
<extension key="data-column" value="RULE_COND_ID"
vendor-name="kodo"/>
</field>
<field name="paramFeatureId" primary-key="true">
<extension key="data-column" value="PARAM_FETR_ID"
vendor-name="kodo"/>
</field>
<field name="paramRuleCondExp">
<extension key="id-data-column" value="RULE_COND_ID"
vendor-name="kodo"/>
<extension key="paramFeatureId-data-column"
value="PARAM_FETR_ID" vendor-name="kodo"/>
</field>
<extension key="class-column" value="none"vendor-name="kodo"/>
<extension key="table" value="PARAMETRIC_EXP_VALUE"
vendor-name="kodo"/>
<extension key="lock-column" value="none"vendor-name="kodo"/>
</class>
</jdo>
</package>
THe error is something like
[9/25/03 10:42:12:797 GMT+05:30] 44501d6f ExceptionUtil E CNTR0020E:
Non-application exception occurred while processing method
"createParamRuleCondition" on bean
"BeanId(CdmsDeploy#cdms-ejb.jar#Validation, null)". Exception data:
com.solarmetric.kodo.runtime.FatalDataStoreException:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
[SQL=INSERT INTO PARAMETRIC_EXP_VALUE(EXP_VAL, PARAM_FETR_ID,
RULE_COND_ID) VALUES ('100', null, null)]
[PRE=INSERT INTO PARAMETRIC_EXP_VALUE(EXP_VAL, PARAM_FETR_ID,
RULE_COND_ID) VALUES (?, ?, ?)]
ORA-01400: cannot insert NULL into
("PARESH"."PARAMETRIC_EXP_VALUE"."RULE_COND_ID")
[code=1400;state=23000]
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com

Similar Messages

  • Persistence by reachability with FK in PK

    Hi,
         I have a question concerning persistence-by-reachability in the
    following scenario (also see code, log in attachment):
    + A composite aggregation between Attribute and AttributeType (Attribute
    cannot be created without a valid Type) is mapped to the following schema:
    CREATE TABLE ATTRIBUTE_TYPE (
    ID NUMBER (4) NOT NULL,
    TYPE NUMBER (2) NOT NULL,
    CONSTRAINT ATTRIBUTE_TYPE_PK
    PRIMARY KEY ( ID ) ) ;
    CREATE TABLE ATTRIBUTE (
    CLASS_ID NUMBER(4) NOT NULL,
    TYPE_ID NUMBER (4) NOT NULL,
    VALUE VARCHAR2 (100) NOT NULL,
    CONSTRAINT ATTRIBUTE_PK
    PRIMARY KEY ( CLASS_ID, TYPE_ID ) ) ;
    ALTER TABLE ATTRIBUTE ADD CONSTRAINT ATTRIBUTE_FK
    FOREIGN KEY (TYPE_ID)
    REFERENCES ATTRIBUTE_TYPE (ID) ;
    + In the constructor of Attribute, the AttributeType is given as
    parameter and both the instance variable type as typeId is set (and
    type.getId() == typeId). Both classes use Application Identity.
    private AttributeType type;
    private int typeId;
    private String value;
    private int classId;
    public Attribute(int pClassId, AttributeType pType, String pValue) {
         this.classId = pClassId;
         this.typeId = pType.getId();
         this.type = pType;
         this.value = pValue;
    + So, when persisting a new instance of Attribute of a new AttributeType
    the ATTRIBUTE_FK constraint is violated:
    javax.jdo.PersistentManager pm = ...
    pm.currentTransaction().begin();
    pm.makePersistent(new Attribute(10,new AttributeType(50,10),"KODO")));
    pm.currentTransaction().commit();
    According to the JDO Specification AttributeType is part of the object
    closure of Attribute and is marked provisionally persistent by the
    'Persistence-by-reachability' algorithm and made persistent at commit.
    Apparently KODO doesn't take the FK constraint into account to derive
    the order in which to make classes persistent. Is this assumption
    correct? And is there a workaround for this?
    Thanks in advance,
    Stijn Van den Enden

    Assuming we're talking about Oracle, using deferred constraints has the
    undesirable effect of forcing use of a non-unique index to enforce the FK
    constraint.
    Is there any other way with 2.5.5 to get Kodo to insert to the parent table,
    and delete from the child tables first ?
    Regards,
    Chris.
    "Stijn Van den Enden" <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    thanks a lot!
    Marking the FK constraint as Defferable works fine for me.
    ALTER TABLE ATTRIBUTE ADD CONSTRAINT ATTRIBUTE_FK
    FOREIGN KEY (TYPE_ID)
    REFERENCES ATTRIBUTE_TYPE (ID)
    DEFERRABLE INITIALLY DEFERRED;
    Thanx,
    Stijn Van den Enden
    Stephen Kim wrote:
    Kodo 2.5.x does not do foreign key constraint analysis. You should
    either use deferred database constraints (supported on several dbs) or
    try using Kodo 3 (in RC stage) which can optionally do so (it is
    disabled by default since it could have performance impact (analyzing
    instead of simply executing SQL)).
    Stijn Van den Enden wrote:
    Hi,
    I have a question concerning persistence-by-reachability in the
    following scenario (also see code, log in attachment):
    + A composite aggregation between Attribute and AttributeType
    (Attribute cannot be created without a valid Type) is mapped to the
    following schema:
    CREATE TABLE ATTRIBUTE_TYPE (
    ID NUMBER (4) NOT NULL,
    TYPE NUMBER (2) NOT NULL,
    CONSTRAINT ATTRIBUTE_TYPE_PK
    PRIMARY KEY ( ID ) ) ;
    CREATE TABLE ATTRIBUTE (
    CLASS_ID NUMBER(4) NOT NULL,
    TYPE_ID NUMBER (4) NOT NULL,
    VALUE VARCHAR2 (100) NOT NULL,
    CONSTRAINT ATTRIBUTE_PK
    PRIMARY KEY ( CLASS_ID, TYPE_ID ) ) ;
    ALTER TABLE ATTRIBUTE ADD CONSTRAINT ATTRIBUTE_FK
    FOREIGN KEY (TYPE_ID)
    REFERENCES ATTRIBUTE_TYPE (ID) ;
    + In the constructor of Attribute, the AttributeType is given as
    parameter and both the instance variable type as typeId is set (and
    type.getId() == typeId). Both classes use Application Identity.
    private AttributeType type;
    private int typeId;
    private String value;
    private int classId;
    public Attribute(int pClassId, AttributeType pType, String pValue) {
    this.classId = pClassId;
    this.typeId = pType.getId();
    this.type = pType;
    this.value = pValue;
    + So, when persisting a new instance of Attribute of a new
    AttributeType the ATTRIBUTE_FK constraint is violated:
    javax.jdo.PersistentManager pm = ...
    pm.currentTransaction().begin();
    pm.makePersistent(new Attribute(10,new AttributeType(50,10),"KODO")));
    pm.currentTransaction().commit();
    According to the JDO Specification AttributeType is part of the object
    closure of Attribute and is marked provisionally persistent by the
    'Persistence-by-reachability' algorithm and made persistent at commit.
    Apparently KODO doesn't take the FK constraint into account to derive
    the order in which to make classes persistent. Is this assumption
    correct? And is there a workaround for this?
    Thanks in advance,
    Stijn Van den Enden
    DEBUG [main] (JDBCPersistenceManagerFactory.java:241) -
    [email protected]b9:
    setup
    DEBUG [main] (JDBCPersistenceManagerFactory.java:241) -
    [email protected]b9:
    setup
    INFO [main] (LicenseChecker.java:162) - Starting Kodo JDO version
    2.5.4 (kodojdo-2.5.4-20031001-1134) with capabilities: [Enterprise
    Edition Features, Standard Edition Features, Lite Edition Features,
    Evaluation License, Query Extensions, Performance Pack, Statement
    Batching, Global Transactions, Developer Tools, Custom Database
    Dictionaries, Enterprise Databases, Custom ClassMappings, Custom
    ResultObjectProviders, Datacache Plug-in]
    INFO [main] (LicenseChecker.java:162) - Starting Kodo JDO version
    2.5.4 (kodojdo-2.5.4-20031001-1134) with capabilities: [Enterprise
    Edition Features, Standard Edition Features, Lite Edition Features,
    Evaluation License, Query Extensions, Performance Pack, Statement
    Batching, Global Transactions, Developer Tools, Custom Database
    Dictionaries, Enterprise Databases, Custom ClassMappings, Custom
    ResultObjectProviders, Datacache Plug-in]
    WARN [main] (LicenseChecker.java:181) - WARNING: Kodo JDO Evaluation
    expires in 8 days. Please contact [email protected] for
    information on extending your evaluation period or purchasing a
    license.
    WARN [main] (LicenseChecker.java:181) - WARNING: Kodo JDO Evaluation
    expires in 8 days. Please contact [email protected] for
    information on extending your evaluation period or purchasing alicense.
    DEBUG [main] (JDBCPersistenceManagerFactory.java:444) -
    [email protected]b9:
    registering 1 classes: [class reachability.AttributeType]
    DEBUG [main] (JDBCPersistenceManagerFactory.java:444) -
    [email protected]b9:
    registering 1 classes: [class reachability.AttributeType]
    DEBUG [main] (MetaDataParser.java:136) - found JDO resource
    package.jdo for reachability.AttributeType at
    file:/F:/Sources/Projects/Bugs/jdo/kodo/reachability/package.jdo
    DEBUG [main] (MetaDataParser.java:136) - found JDO resource
    package.jdo for reachability.AttributeType at
    file:/F:/Sources/Projects/Bugs/jdo/kodo/reachability/package.jdo
    INFO [main] (JDOMetaDataParser.java:89) -
    com.solarmetric.kodo.meta.JDOMetaDataParser@3020ad: parsing source:
    file:/F:/Sources/Projects/Bugs/jdo/kodo/reachability/package.jdo
    INFO [main] (JDOMetaDataParser.java:89) -
    com.solarmetric.kodo.meta.JDOMetaDataParser@3020ad: parsing source:
    file:/F:/Sources/Projects/Bugs/jdo/kodo/reachability/package.jdo
    DEBUG [main] (MetaDataParser.java:204) - parsed
    file:/F:/Sources/Projects/Bugs/jdo/kodo/reachability/package.jdo:
    [com.solarmetric.kodo.meta.ClassMetaData@2200d5[;type=class
    reachability.Attribute;loader=sun.misc.Launcher$AppClassLoader@12f6684;finis
    hed=false;enhanced=false],
    com.solarmetric.kodo.meta.ClassMetaData@64ab4d[;type=class
    reachability.AttributeType;loader=sun.misc.Launcher$AppClassLoader@12f6684;f
    inished=false;enhanced=true]]
    >>>
    DEBUG [main] (MetaDataParser.java:204) - parsed
    file:/F:/Sources/Projects/Bugs/jdo/kodo/reachability/package.jdo:
    [com.solarmetric.kodo.meta.ClassMetaData@2200d5[;type=class
    reachability.Attribute;loader=sun.misc.Launcher$AppClassLoader@12f6684;finis
    hed=false;enhanced=false],
    com.solarmetric.kodo.meta.ClassMetaData@64ab4d[;type=class
    reachability.AttributeType;loader=sun.misc.Launcher$AppClassLoader@12f6684;f
    inished=false;enhanced=true]]
    >>>
    DEBUG [main] (ClassMetaData.java:305) - parsed metadata: type=class
    reachability.AttributeType@110003;validate=true:
    [com.solarmetric.kodo.meta.ClassMetaData@2200d5[;type=class
    reachability.Attribute;loader=sun.misc.Launcher$AppClassLoader@12f6684;finis
    hed=false;enhanced=false],
    com.solarmetric.kodo.meta.ClassMetaData@64ab4d[;type=class
    reachability.AttributeType;loader=sun.misc.Launcher$AppClassLoader@12f6684;f
    inished=false;enhanced=true]]
    >>>
    DEBUG [main] (ClassMetaData.java:305) - parsed metadata: type=class
    reachability.AttributeType@110003;validate=true:
    [com.solarmetric.kodo.meta.ClassMetaData@2200d5[;type=class
    reachability.Attribute;loader=sun.misc.Launcher$AppClassLoader@12f6684;finis
    hed=false;enhanced=false],
    com.solarmetric.kodo.meta.ClassMetaData@64ab4d[;type=class
    reachability.AttributeType;loader=sun.misc.Launcher$AppClassLoader@12f6684;f
    inished=false;enhanced=true]]
    >>>
    DEBUG [main] (ClassMetaData.java:327) - cached metadata:
    type=reachability.Attribute@49d67c;loader=com.solarmetric.kodo.util.MultiLoa
    derClassResolver@12f66a3
    loaders: [sun.misc.Launcher$AppClassLoader@12f6684]; thread's context
    class loader: sun.misc.Launcher$AppClassLoader@12f6684;validate=true:
    com.solarmetric.kodo.meta.ClassMetaData@2200d5[;type=class
    reachability.Attribute;loader=sun.misc.Launcher$AppClassLoader@12f6684;finis
    hed=false;enhanced=false]
    >>>
    DEBUG [main] (ClassMetaData.java:327) - cached metadata:
    type=reachability.Attribute@49d67c;loader=com.solarmetric.kodo.util.MultiLoa
    derClassResolver@12f66a3
    loaders: [sun.misc.Launcher$AppClassLoader@12f6684]; thread's context
    class loader: sun.misc.Launcher$AppClassLoader@12f6684;validate=true:
    com.solarmetric.kodo.meta.ClassMetaData@2200d5[;type=class
    reachability.Attribute;loader=sun.misc.Launcher$AppClassLoader@12f6684;finis
    hed=false;enhanced=false]
    >>>
    DEBUG [main] (ClassMetaData.java:327) - cached metadata:
    type=reachability.AttributeType@110003;loader=com.solarmetric.kodo.util.Mult
    iLoaderClassResolver@12f66a3
    loaders: [sun.misc.Launcher$AppClassLoader@12f6684]; thread's context
    class loader: sun.misc.Launcher$AppClassLoader@12f6684;validate=true:
    com.solarmetric.kodo.meta.ClassMetaData@64ab4d[;type=class
    reachability.AttributeType;loader=sun.misc.Launcher$AppClassLoader@12f6684;f
    inished=false;enhanced=true]
    >>>
    DEBUG [main] (ClassMetaData.java:327) - cached metadata:
    type=reachability.AttributeType@110003;loader=com.solarmetric.kodo.util.Mult
    iLoaderClassResolver@12f66a3
    loaders: [sun.misc.Launcher$AppClassLoader@12f6684]; thread's context
    class loader: sun.misc.Launcher$AppClassLoader@12f6684;validate=true:
    com.solarmetric.kodo.meta.ClassMetaData@64ab4d[;type=class
    reachability.AttributeType;loader=sun.misc.Launcher$AppClassLoader@12f6684;f
    inished=false;enhanced=true]
    >>>
    DEBUG [main] (ClassMetaData.java:305) - parsed metadata: type=class
    java.lang.Object@16fd0b7;validate=true: []
    DEBUG [main] (ClassMetaData.java:305) - parsed metadata: type=class
    java.lang.Object@16fd0b7;validate=true: []
    DEBUG [main] (ClassMetaData.java:344) - created metadata:
    type=java.lang.Object@16fd0b7;loader=com.solarmetric.kodo.util.MultiLoaderCl
    assResolver@12f66a3
    loaders: [sun.misc.Launcher$AppClassLoader@12f6684]; thread's context
    class loader: sun.misc.Launcher$AppClassLoader@12f6684;validate=true:
    null
    DEBUG [main] (ClassMetaData.java:344) - created metadata:
    type=java.lang.Object@16fd0b7;loader=com.solarmetric.kodo.util.MultiLoaderCl
    assResolver@12f66a3
    loaders: [sun.misc.Launcher$AppClassLoader@12f6684]; thread's context
    class loader: sun.misc.Launcher$AppClassLoader@12f6684;validate=true:
    null
    DEBUG [main] (ClassMetaData.java:344) - created metadata:
    type=reachability.AttributeType@110003;loader=com.solarmetric.kodo.util.Mult
    iLoaderClassResolver@12f66a3
    loaders: [sun.misc.Launcher$AppClassLoader@12f6684]; thread's context
    class loader: sun.misc.Launcher$AppClassLoader@12f6684;validate=true:
    com.solarmetric.kodo.meta.ClassMetaData@64ab4d[;type=class
    reachability.AttributeType;loader=sun.misc.Launcher$AppClassLoader@12f6684;f
    inished=true;enhanced=true]
    >>>
    DEBUG [main] (ClassMetaData.java:344) - created metadata:
    type=reachability.AttributeType@110003;loader=com.solarmetric.kodo.util.Mult
    iLoaderClassResolver@12f66a3
    loaders: [sun.misc.Launcher$AppClassLoader@12f6684]; thread's context
    class loader: sun.misc.Launcher$AppClassLoader@12f6684;validate=true:
    com.solarmetric.kodo.meta.ClassMetaData@64ab4d[;type=class
    reachability.AttributeType;loader=sun.misc.Launcher$AppClassLoader@12f6684;f
    inished=true;enhanced=true]
    >>>
    DEBUG [main] (DataSourceImpl.java:323) - [ C:5896993; T:24537094;
    D:10973446 ] open: jdbc:oracle:thin:@SUNFIRE:1521:CCLDEV (CCLJDO)
    DEBUG [main] (DataSourceImpl.java:323) - [ C:5896993; T:24537094;
    D:10973446 ] open: jdbc:oracle:thin:@SUNFIRE:1521:CCLDEV (CCLJDO)
    DEBUG [main] (DataSourceImpl.java:323) - [ C:5896993; T:24537094;
    D:10973446 ] close:
    com.solarmetric.datasource.PoolConnection@59fb21[identityHashCode:8499707,wr
    apped:com.solarmetric.datasource.PreparedStatementCache$CacheAwareConnection
    @59fb21[identityHashCode:13359904,wrapped:oracle.jdbc.driver.OracleConnectio
    n@59fb21]:
    >>>
    [requests=0;size=0;max=70;hits=0;created=0;redundant=0;overflow=0;new=0;leak
    ed=0;unavailable=0]]
    >>>
    DEBUG [main] (DataSourceImpl.java:323) - [ C:5896993; T:24537094;
    D:10973446 ] close:
    com.solarmetric.datasource.PoolConnection@59fb21[identityHashCode:8499707,wr
    apped:com.solarmetric.datasource.PreparedStatementCache$CacheAwareConnection
    @59fb21[identityHashCode:13359904,wrapped:oracle.jdbc.driver.OracleConnectio
    n@59fb21]:
    >>>
    [requests=0;size=0;max=70;hits=0;created=0;redundant=0;overflow=0;new=0;leak
    ed=0;unavailable=0]]
    >>>
    DEBUG [main] (DataSourceImpl.java:323) - [ C:5896993; T:24537094;
    D:10973446 ] close connection
    DEBUG [main] (DataSourceImpl.java:323) - [ C:5896993; T:24537094;
    D:10973446 ] close connection
    INFO [main] (DBDictionaryFactory.java:402) - Using dictionary class
    "com.solarmetric.kodo.impl.jdbc.schema.dict.OracleDictionary" to
    connect to "Oracle" (version "Oracle8i Enterprise Edition Release
    8.1.7.0.0 - 64bit Production
    With the Partitioning option
    JServer Release 8.1.7.0.0 - 64bit Production") with JDBC driver
    "Oracle JDBC driver" (version "9.2.0.1.0")
    INFO [main] (DBDictionaryFactory.java:402) - Using dictionary class
    "com.solarmetric.kodo.impl.jdbc.schema.dict.OracleDictionary" to
    connect to "Oracle" (version "Oracle8i Enterprise Edition Release
    8.1.7.0.0 - 64bit Production
    With the Partitioning option
    JServer Release 8.1.7.0.0 - 64bit Production") with JDBC driver
    "Oracle JDBC driver" (version "9.2.0.1.0")
    DEBUG [main] (JDBCPersistenceManagerFactory.java:345) -
    [email protected]b9:
    registerClass: reachability.AttributeType@110003=>true
    DEBUG [main] (JDBCPersistenceManagerFactory.java:345) -
    [email protected]b9:
    registerClass: reachability.AttributeType@110003=>true
    DEBUG [main] (JDBCPersistenceManagerFactory.java:444) -
    [email protected]b9:
    registering 2 classes: [class reachability.AttributeType, class
    reachability.Attribute]
    DEBUG [main] (JDBCPersistenceManagerFactory.java:444) -
    [email protected]b9:
    registering 2 classes: [class reachability.AttributeType, class
    reachability.Attribute]
    DEBUG [main] (JDBCPersistenceManagerFactory.java:345) -
    [email protected]b9:
    registerClass: reachability.Attribute@49d67c=>true
    DEBUG [main] (JDBCPersistenceManagerFactory.java:345) -
    [email protected]b9:
    registerClass: reachability.Attribute@49d67c=>true
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] open: jdbc:oracle:thin:@SUNFIRE:1521:CCLDEV (CCLJDO)
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] open: jdbc:oracle:thin:@SUNFIRE:1521:CCLDEV (CCLJDO)
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] preparing statement <11544872>: SELECT SYSDATE FROM DUAL
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] preparing statement <11544872>: SELECT SYSDATE FROM DUAL
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] executing statement <11544872>: (SELECT SYSDATE FROM
    DUAL): [reused=1;params={}]
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] executing statement <11544872>: (SELECT SYSDATE FROM
    DUAL): [reused=1;params={}]
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] preparing statement <24880015>: INSERT INTO
    ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (?, ?, ?)
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] preparing statement <24880015>: INSERT INTO
    ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (?, ?, ?)
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] executing statement <24880015>: (INSERT INTO
    ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (?, ?, ?)):
    [reused=1;params={(int)10,(int)10,(String)KODO}]
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] executing statement <24880015>: (INSERT INTO
    ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (?, ?, ?)):
    [reused=1;params={(int)10,(int)10,(String)KODO}]
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] begin rollback
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] begin rollback
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] end rollback 0ms
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] end rollback 0ms
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] close:
    com.solarmetric.datasource.PoolConnection@69d02b[identityHashCode:6151022,wr
    apped:com.solarmetric.datasource.PreparedStatementCache$CacheAwareConnection
    @69d02b[identityHashCode:32580443,wrapped:oracle.jdbc.driver.OracleConnectio
    n@69d02b]:
    >>>
    [requests=2;size=2;max=70;hits=0;created=2;redundant=0;overflow=0;new=2;leak
    ed=0;unavailable=0]]
    >>>
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] close:
    com.solarmetric.datasource.PoolConnection@69d02b[identityHashCode:6151022,wr
    apped:com.solarmetric.datasource.PreparedStatementCache$CacheAwareConnection
    @69d02b[identityHashCode:32580443,wrapped:oracle.jdbc.driver.OracleConnectio
    n@69d02b]:
    >>>
    [requests=2;size=2;max=70;hits=0;created=2;redundant=0;overflow=0;new=2;leak
    ed=0;unavailable=0]]
    >>>
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] close connection
    DEBUG [main] (DataSourceImpl.java:323) - [ C:6934571; T:24537094;
    D:10973446 ] close connection
    DEBUG [main] (PersistenceManagerImpl.java:481) - An exception occurred
    while ending a transaction. This exception will be thrown. It is being
    logged here for informational purposes only.
    com.solarmetric.kodo.runtime.FatalDataStoreException:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT
    INTO ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (10, 10, 'KODO')]
    [PRE=INSERT INTO ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (?, ?, ?)]
    ORA-02291: integrity constraint (CCLJDO.ATTRIBUTE_FK) violated -
    parent key not found
    [code=2291;state=23000]
    NestedThrowables:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT
    INTO ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (10, 10, 'KODO')]
    [PRE=INSERT INTO ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (?, ?, ?)]
    ORA-02291: integrity constraint (CCLJDO.ATTRIBUTE_FK) violated -
    parent key not found
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLException
    s.java:58)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManag
    er.java:559)
    >>>
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.flushInternal(Persistenc
    eManagerImpl.java:697)
    >>>
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManage
    rImpl.java:422)
    >>>
    at
    reachabilicom.solarmetric.kodo.runtime.FatalDataStoreException:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT
    INTO ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (10, 10, 'KODO')]
    [PRE=INSERT INTO ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (?,
    ty.Main.main(Main.java:26)
    NestedThrowablesStackTrace:
    java.sql.SQLException: ORA-02291: integrity constraint
    (CCLJDO.ATTRIBUTE_FK) violated - parent key not found
    at
    oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
    atoracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)> >>         at> >> oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)> >>         at> >>oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)> >>> >>         at> >>oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)> >>> >>         at> >>oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)> >>> >>         at> >>oracle.jdbc.driver.OraclePreparedStatement.doScrollPstmtExecuteUpdate(OraclePreparedStatement.java:3975)> >>> >>         at> >>oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:623)> >>> >>         at> >>com.solarmetric.datasource.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:111)> >>> >>         at> >>com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatementNonBatch(SQLExecutionManagerImpl.java:454)> >>> >>         at> >>com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatement(SQLExecutio?,> >> ?)
    ORA-02291: integrity constraint (CCLJDO.ATTRIBUTE_FK) violated -
    parent key not found
    [code=2291;state=23000]
    NestedThrowables:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT
    INTO ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (nManagerImpl.java:423)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeInternal(SQLEx
    ecutionManagerImpl.java:381)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.flush(SQLExecutionMan
    agerImpl.java:255)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManag
    er.java:554)
    >>>
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.flushInternal(Persistenc
    eManagerImpl.java:697)
    >>>
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManage
    rImpl.java:422)
    >>>
    at reachability.Main.main(Main.java:26)
    DEBUG [main] (PersistenceManagerImpl.java:481) - An exception occurred
    while ending a transaction. This exception will be thrown. It is being
    logged here for informational purposes only.
    com.solar10, 10, 'KODO')] [PRE=INSERT INTO ATTRIBUTE(CLASS_ID,
    TYPE_ID, VALUE) VALUES (?, ?, ?)]
    ORA-02291: integrity constraint (CCLJDO.ATTRIBUTE_FK) violated -
    parent key not found
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLExceptmet
    ric.kodo.runtime.FatalDataStoreException:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT
    INTO ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (10, 10, 'KODO')]
    [PRE=INSERT INTO ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (?, ?, ?)]
    ORA-02291: integrity constraint (CCLJDO.ATTRIBUTE_FK) violated -
    parent key not found
    [code=2291;state=23000]
    NestedThrowables:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT
    INTO ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (10, 10, 'KODO')]
    [PRE=INSERT INTO ATTRIBUTE(CLASS_ID, TYPE_ID, VALUE) VALUES (?, ?, ?)]
    ORA-02291: integrity constraint (CCLJDO.ATTRIBUTE_FK) violated -
    parent key not found
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLException
    s.java:58)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManag
    er.java:559)
    >>>
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.flushInternal(Persistenc
    eManagerImpl.java:697)
    >>>
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManage
    rImpl.java:422)
    >>>
    at reachability.Main.main(Main.java:26)
    NestedThrowablesStackTrace:
    java.sql.SQLException: ORA-02291: integrity constraint
    (CCLJDO.ATTRIBUTE_FK) violated - parent key not found
    at oracle.jdbc.dbaccess.DBErions.java:58)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManag
    er.java:559)
    >>>
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.flushInternal(Persistenc
    eManagerImpl.java:697)
    >>>
    at
    com.solarmetric.kodo.runtime.Persistencror.throwSqlException(DBError.java:13
    4)
    >>>
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
    atoracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
    at
    oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
    at
    oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047
    >>>
    at
    oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
    >>>
    at
    oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
    :2709)
    >>>
    at
    oracle.jdbc.driver.OraclePreparedStatement.doScrollPstmtExecuteUpdate(Oracle
    PreparedStatement.java:3975)
    >>>
    at
    oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedState
    ment.java:623)
    >>>
    at
    com.solarmetric.datasource.PreparedStatementWrapper.executeUpdate(PreparedSt
    atementWrapper.java:111)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatem
    entNonBatch(SQLExecutionManagerImpl.java:454)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatem
    ent(SQLExecutionManagerImpl.java:423)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeInternal(SQLEx
    ecutionManagerImpl.java:381)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.flush(SQLExecutionMan
    agerImpl.java:255)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManag
    er.java:554)
    >>>
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.flushInternal(Persistenc
    eManagerImpl.java:697)
    >>>
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManage
    rImpl.java:422)
    >>>
    at reachability.Main.main(Main.java:26)
    eManagerImpl.commit(PersistenceManagerImpl.java:422)
    at reachability.Main.main(Main.java:26)
    NestedThrowablesStackTrace:
    java.sql.SQLException: ORA-02291: integrity constraint
    (CCLJDO.ATTRIBUTE_FK) violated - parent key not found
    at
    oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
    atoracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
    at
    oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
    at
    oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047
    >>>
    at
    oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
    >>>
    at
    oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
    :2709)
    >>>
    at
    oracle.jdbc.driver.OraclePreparedStatement.doScrollPstmtExecuteUpdate(Oracle
    PreparedStatement.java:3975)
    >>>
    at
    oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedState
    ment.java:623)
    >>>
    at
    com.solarmetric.datasource.PreparedStatementWrapper.executeUpdate(PreparedSt
    atementWrapper.java:111)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatem
    entNonBatch(SQLExecutionManagerImpl.java:454)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatem
    ent(SQLExecutionManagerImpl.java:423)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeInternal(SQLEx
    ecutionManagerImpl.java:381)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.flush(SQLExecutionMan
    agerImpl.java:255)
    >>>
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManag
    er.java:554)
    >>>
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.flushInternal(Persistenc
    eManagerImpl.java:697)
    >>>
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManage
    rImpl.java:422)
    >>>
    at reachability.Main.main(Main.java:26)
    Exception in thread "main" _

  • Application identity tool error

    I'm getting the following error when I run the appidtool from ant (kodo
    3.0.1):
    kodo.util.FatalUserException: Type "class
    com.correlat.intranet.news.NewsItem" does not have metadata, does not use
    application identity, or inherits the identity class from its superclass.
    My jdo definitions are:
    <package name="com.correlat.intranet.news">
    <class name="NewsItem"
    persistence-capable-superclass="net.sundog.news.NewsItem"
    identity-type="application">
    <extension vendor-name="kodo" key="jdbc-class-map"
    value="flat"/>
    <field name="postedBy">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="one-one">
    <extension vendor-name="kodo" key="column.id_i"
    value="postedby_person_id_i"/>
    </extension>
    </field>
    <field name="lastUpdatedBy">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="one-one">
    <extension vendor-name="kodo" key="column.id_i"
    value="lastupdatedby_person_id_i"/>
    </extension>
    </field>
    <field name="relevantOrganizations">
    <collection
    element-type="com.correlat.intranet.directory.Organization"/>
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="many-many">
    <extension vendor-name="kodo" key="element-column.id_i"
    value="organization_id_i"/>
    <extension vendor-name="kodo" key="table"
    value="t_map_newsitem_organization"/>
    <extension vendor-name="kodo" key="ref-column.id_i"
    value="newsitem_id_i"/>
    </extension>
    </field>
    </class>
    AND
    <package name="net.sundog.news">
    <class name="NewsItem" objectid-class="NewsItemId">
    <extension vendor-name="kodo" key="jdbc-class-map" value="base">
    <extension vendor-name="kodo" key="table" value="t_news"/>
    <extension vendor-name="kodo" key="pk-column" value="id_i"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-version-ind"
    value="version-number">
    <extension vendor-name="kodo" key="column"
    value="rowversion_i"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-class-ind"
    value="in-class-name">
    <extension vendor-name="kodo" key="column"
    value="classtype_id_vc"/>
    </extension>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="id_i"/>
    </extension>
    </field>
    <field name="title">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="title_vc"/>
    </extension>
    </field>
    <field name="summary">
    <extension vendor-name="kodo" key="jdbc-size" value="-1"/>
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="clob">
    <extension vendor-name="kodo" key="column"
    value="summary_clob"/>
    </extension>
    </field>
    <field name="text">
    <extension vendor-name="kodo" key="jdbc-size" value="-1"/>
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="clob">
    <extension vendor-name="kodo" key="column"
    value="text_clob"/>
    </extension>
    </field>
    <field name="newsDate">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="newsdate_dt"/>
    </extension>
    </field>
    <field name="lastUpdated">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="lastupdated_dt"/>
    </extension>
    </field>
    <field name="relatedUrl">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="relatedurl_vc"/>
    </extension>
    </field>
    <field name="active">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="active_b"/>
    </extension>
    </field>
    <field name="image">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="blob">
    <extension vendor-name="kodo" key="column"
    value="image_blob"/>
    </extension>
    </field>
    <field name="imageMimeType">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="imagemimetype_vc"/>
    </extension>
    </field>
    </class>
    My ant task is:
    <taskdef name="appidtool" classname="kodo.ant.ApplicationIdToolTask">
    <classpath path="${base.classpath}"/>
    </taskdef>
    <appidtool ignoreErrors="false" directory="${src.dir}/java">
    <fileset dir="src/java">
    <include name="**/*.jdo"/>
    </fileset>
    <codeformat spaceBeforeParen="true" braceOnSameLine="false"/>
    <config licenseKey="${kodo.license}"/>
    </appidtool>
    Nathan

    I don't think using ant's filesets would work because I have one .jdo file
    per package. There are multiple class definitions in each .jdo file, some
    of which inherit while others don't.
    Nathan
    "Marc Prud'hommeaux" <[email protected]> wrote in message
    news:[email protected]..
    Nathan-
    Is there any other errors that won't be listed now that actually are
    errors?
    >
    There are other possible error conditions that will be ignored if
    ignoreErrors is true.
    We recommend keeping ignoreErrors to false, and only running the tool on
    those classes for which you really do want the appid classes to be
    generated. ant's fileset directives are pretty flexible; there are
    many different ways you can configure it to include only those files you
    want.
    In article <bu8re6$u2e$[email protected]>, Nathan Voxland wrote:
    That solves it, thanks.
    Is there any other errors that won't be listed now that actually are
    errors?
    >>
    Nathan
    "Abe White" <[email protected]> wrote in message
    news:bu76si$nct$[email protected]..
    Running the task on a class that doens't use application identity or
    inherits its application identity class (and therefore doesn't need one
    gernated) is considered an error. By setting the task's "ignoreError"
    property to "false", you're telling it to throw an exception when it
    encounters such a case.
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Cannot change Application Identity service to automatic.

    I am running Windows Technical Preview for Enterprise and when I try to change the startup Application Identity service to automatic, I always get access
    is denied and I cannot change the Application Identity service to startup automatically.
    Here is the screenshot of my error:

    Are you facing this problem with all services or only this one?
    Are you able to change it to different state?
    Make sure report this issue using Feedback App too.
    PS: You could directly add screenshot in this post by clicking on image icon and add the image.

  • Application identity multi-colum PK problem

    Hello,
    I am having problem with application identity in case of multi-colum PK when
    componente of OID class are themselve percistent classes.
    OrgUnitTypeRole class identified by OrgUnitType and Role which are both
    persistent classes.
    Attached are OrgUnitTypeRole and OrgUnitTypeRoleOid classes
    I am getting following exception:
    javax.jdo.JDOFatalDataStoreException: The registered class
    "peacetech.gao.usorg.jdo.OrgUnitTypeRole" is not compiled or not longer
    exists. If the class has been deleted, unregister it before proceeding.
    NestedThrowables:
    java.lang.VerifyError: (class: peacetech/gao/usorg/jdo/OrgUnitTypeRole,
    method: jdoCopyKeyFieldsToObjectId signature:
    (Ljavax/jdo/PersistenceCapable$ObjectIdFieldManager;Ljava/lang/Object;)V)
    Bad type in putfield/putstatic
    at com.solarmetric.kodo.impl.jdbc.schema.DB.getPersistentTypes(DB.java:270)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.setup(JDBCPersi
    stenceManagerFactory.java:170)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.privateSetup(Pers
    istenceManagerFactoryImpl.java:501)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.getPersistenceMan
    ager(PersistenceManagerFactoryImpl.java:61)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.getPersistenceMan
    ager(PersistenceManagerFactoryImpl.java:50)
    at
    peacetech.gao.usorg.jdo.JDOFactory.getPersistenceManager(JDOFactory.java:70)
    at peacetech.gao.usorg.gui.BrowserFrame.<init>(BrowserFrame.java:158)
    at peacetech.gao.usorg.gui.Browser.<init>(Browser.java:23)
    at peacetech.gao.usorg.gui.Browser.main(Browser.java:85)
    Thank you very much in advance
    Alex
    begin 666 OrgUnitTypeRoleOid.java
    M"B\J*@H@*B!#;W!Y<FEG:'0@*&,I(#(P,# L(%!E86-E(%1E8VAN;VQO9WDL
    M($EN8RX*("H@)$%U=&AO<B0*("H@)%)E=FES:6]N)"P@)$1A=&4D"B J("1.
    M;TME>7=O<F1S) H@*B\*"G!A8VMA9V4@<&5A8V5T96-H+F=A;RYU<V]R9RYJ
    M9&\N;VED.PH*:6UP;W)T('!E86-E=&5C:"YG86\N=7-O<F<N:F1O+D]R9U5N
    M:714>7!E.PII;7!O<G0@<&5A8V5T96-H+F=A;RYU<V]R9RYJ9&\N4F]L93L*
    M"G!U8FQI8R!C;&%S<R!/<F=5;FET5'EP95)O;&5/:60@:6UP;&5M96YT<R!J
    M879A+FEO+E-E<FEA;&EZ86)L92!["B @<'5B;&EC($]R9U5N:714>7!E(&]R
    M9U5N:714>7!E.PH@('!U8FQI8R!2;VQE(')O;&4["@H@('!U8FQI8R!/<F=5
    M;FET5'EP95)O;&5/:60H*2![?0H*("!P=6)L:6,@3W)G56YI=%1Y<&52;VQE
    M3VED*$]R9U5N:714>7!E(&]R9U5N:714>7!E+"!2;VQE(')O;&4I('L*(" @
    M('1H:7,N;W)G56YI=%1Y<&4@/2!O<F=5;FET5'EP93L*(" @('1H:7,N<F]L
    M92 ](')O;&4["B @?0H*("!P=6)L:6,@:6YT(&AA<VA#;V1E*"D@>PH@(" @
    M<F5T=7)N(&]R9U5N:714>7!E+FAA<VA#;V1E*"D["B @?0H*("!P=6)L:6,@
    M8F]O;&5A;B!E<75A;',H3V)J96-T(&\I('L*(" @(&EF("AO(#T]('1H:7,I
    M('L*(" @(" @<F5T=7)N('1R=64["B @("!](&5L<V4@:68@*&\@:6YS=&%N
    M8V5O9B!/<F=5;FET5'EP95)O;&5/:60I('L*(" @(" @3W)G56YI=%1Y<&52
    M;VQE3VED(&]T:&5R(#T@*$]R9U5N:714>7!E4F]L94]I9"EO.PH@(" @("!R
    M971U<FX@*&]R9U5N:714>7!E+F5Q=6%L<RAO=&AE<BYO<F=5;FET5'EP92D@
    M)B8@<F]L92YE<75A;',H;W1H97(N<F]L92DI.PH@(" @?2!E;'-E('L*(" @
    =(" @<F5T=7)N(&9A;'-E.PH@(" @?0H@('T*?0H`
    `
    end
    begin 666 OrgUnitTypeRole.java
    M+RHJ"B J($-O<'ER:6=H=" H8RD@,C P,"P@4&5A8V4@5&5C:&YO;&]G>2P@
    M26YC+@H@*B D075T:&]R.B!2;WET;6%N+"!!;&5X) H@*B D4F5V:7-I;VXZ
    M(#0D+" D1&%[email protected]\R-R\R,# Q(#<Z,C0Z,S8@4$TD"B J("1.;TME>7=O
    M<F1S) H@*B\*"B\J"DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H
    M;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED
    M+"!H;VYO<FEF:6,I(%9!3%5%4R H,2P@,3$X+" Q+" G4V5N+B<I.PI)3E-%
    M4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET7W1Y<&5?<F]L
    M95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I9FEC*2!604Q5
    M15,@*#(L(#(Q."P@,BP@)U)E<"XG*3L*"FEN<V5R="!I;G1O(&]R9U]U;FET
    M7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T
    M>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I"G-E;&5C="!R;W=N=6T@*R Q,"P@
    M="XJ("!F<F]M("@*<V5L96-T(&]R9U]U;FET7W1Y<&4L(')O;&5?:60L("=3
    M96XN)PIF<F]M(&]R9U]U;FET7W1Y<&4L(')O;&4*=VAE<F4@;W)G7W5N:71?
    M='EP92!B971W965N(#$S,"!A;F0@,3@P("!A;F0@(')O;&5?:60@/B R"G5N
    M:6]N"G-E;&5C="!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+" G4F5P+B<*9G)O
    M;2!O<F=?=6YI=%]T>7!E+"!R;VQE"G=H97)E(&]R9U]U;FET7W1Y<&4@8F5T
    M=V5E;B R,S @86YD(#(X," @86YD("!R;VQE7VED(#X@,@IU;FEO;@IS96QE
    M8W0@;W)G7W5N:71?='EP92P@<F]L95]I9"P@;G5L; IF<F]M(&]R9U]U;FET
    M7W1Y<&4L(')O;&4*=VAE<F4@;W)G7W5N:71?='EP92!B971W965N(#,S,"!A
    M;F0@,S@P("!A;F0@(')O;&5?:60@/B R"BD@= H*24Y315)4($E.5$\@;W)G
    M7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L(&]R9U]U
    M;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@Q+" Q,3 L
    M(#$L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L
    M92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE
    M7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,BP@,3$P+" R+" G4V5N871O<B<I
    M.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET7W1Y
    M<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I9FEC
    M*2!604Q515,@*#,L(#$Q,"P@,RP@)U-E;F%T;W(G*3L*24Y315)4($E.5$\@
    M;W)G7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L(&]R
    M9U]U;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@T+" Q
    M,3 L(#0L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?
    M<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R
    M;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H-2P@,34P+" Q+" G4V5N871O
    M<B<I.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET
    M7W1Y<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I
    M9FEC*2!604Q515,@*#8L(#$U,"P@,BP@)U-E;F%T;W(G*3L*24Y315)4($E.
    M5$\@;W)G7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L
    M(&]R9U]U;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@W
    M+" Q-3 L(#,L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y
    M<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E
    M+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H."P@,34P+" T+" G4V5N
    M871O<B<I.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U
    M;FET7W1Y<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N
    M;W)I9FEC*2!604Q515,@*#DL(#$P.2P@,RP@)U-E;F%T;W(G*3L*"DE.4T52
    M5"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE
    M7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%
    M4R H,3$L(#(Q,"P@,2P@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/
    M(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O
    M<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,3(L
    M(#(Q,"P@,BP@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U
    M;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI
    M=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,3,L(#(Q,"P@
    M,RP@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y
    M<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E
    M+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,30L(#(Q,"P@-"P@)U)E
    M<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L
    M92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE
    M7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,34L(#(U,"P@,2P@)U)E<')E<V5N
    M=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G
    M7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H
    M;VYO<FEF:6,I(%9!3%5%4R H,38L(#(U,"P@,BP@)U)E<')E<V5N=&%T:79E
    M)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?
    M='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF
    M:6,I(%9!3%5%4R H,3<L(#(U,"P@,RP@)U)E<')E<V5N=&%T:79E)RD["DE.
    M4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R
    M;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!
    M3%5%4R H,3@L(#(U,"P@-"P@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)
    M3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED
    M+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H
    M,3DL(#(P.2P@,RP@)U)E<')E<V5N=&%T:79E)RD["BHO"@H*<&%C:V%G92!P
    M96%C971E8V@N9V%O+G5S;W)G+FID;SL*"G!U8FQI8R!C;&%S<R!/<F=5;FET
    M5'EP95)O;&4@>PH@('!R:79A=&4@3W)G56YI=%1Y<&4@;W)G56YI=%1Y<&4[
    M"B @<')I=F%T92!2;VQE(')O;&4["B @<')I=F%T92!3=')I;F<@:&]N;W)I
    M9FEC.PH*("!P=6)L:6,@3W)G56YI=%1Y<&52;VQE*"D@>WT*"B @<'5B;&EC
    M($]R9U5N:714>7!E(&=E=$]R9U5N:714>7!E*"D@>PH@(" @<F5T=7)N(&]R
    M9U5N:714>7!E.PH@('T*"B @<'5B;&EC('9O:60@<V5T3W)G56YI=%1Y<&4H
    M3W)G56YI=%1Y<&4@;W)G56YI=%1Y<&4I('L*(" @('1H:7,N;W)G56YI=%1Y
    M<&4@/2!O<F=5;FET5'EP93L*("!]"@H@('!U8FQI8R!V;VED('-E=%)O;&4H
    M4F]L92!R;VQE*2!["B @("!T:&ES+G)O;&4@/2!R;VQE.PH@('T*"B @<'5B
    M;&EC(%)O;&4@9V5T4F]L92@I('L*(" @(')E='5R;B!R;VQE.PH@('T*"B @
    M<'5B;&EC('9O:60@<V5T2&]N;W)I9FEC*%-T<FEN9R!H;VYO<FEF:6,I('L*
    M(" @('1H:7,N:&]N;W)I9FEC(#T@:&]N;W)I9FEC.PH@('T*"B @<'5B;&EC
    M(%-T<FEN9R!G971(;VYO<FEF:6,H*2!["B @("!R971U<FX@:&]N;W)I9FEC
    M.PH@('T*"B @<'5B;&EC(&EN="!H87-H0V]D92@I('L*(" @(')E='5R;B!O
    M<F=5;FET5'EP92YH87-H0V][email protected]@('T*"B @<'5B;&EC(&)O;VQE86X@
    M97%U86QS*$]B:F5C="!O*2!["B @("!I9B H;R ]/2!T:&ES*2!["B @(" @
    M(')E='5R;B!T<G5E.PH@(" @?2!E;'-E(&EF("AO(&EN<W1A;F-E;V8@3W)G
    M56YI=%1Y<&52;VQE*2!["B @(" @($]R9U5N:714>7!E4F]L92!O=&AE<B ]
    M("A/<F=5;FET5'EP95)O;&4I;SL*(" @(" @<F5T=7)N("AO<F=5;FET5'EP
    M92YE<75A;',H;W1H97(N;W)G56YI=%1Y<&4I("8F(')O;&4N97%U86QS*&]T
    M:&5R+G)O;&4I*3L*(" @('T@96QS92!["B @(" @(')E='5R;B!F86QS93L*
    -(" @('T*("!]"@I]"@``
    `
    end

    Hello,
    I am having problem with application identity in case of multi-colum PK when
    componente of OID class are themselve percistent classes.
    OrgUnitTypeRole class identified by OrgUnitType and Role which are both
    persistent classes.
    Attached are OrgUnitTypeRole and OrgUnitTypeRoleOid classes
    I am getting following exception:
    javax.jdo.JDOFatalDataStoreException: The registered class
    "peacetech.gao.usorg.jdo.OrgUnitTypeRole" is not compiled or not longer
    exists. If the class has been deleted, unregister it before proceeding.
    NestedThrowables:
    java.lang.VerifyError: (class: peacetech/gao/usorg/jdo/OrgUnitTypeRole,
    method: jdoCopyKeyFieldsToObjectId signature:
    (Ljavax/jdo/PersistenceCapable$ObjectIdFieldManager;Ljava/lang/Object;)V)
    Bad type in putfield/putstatic
    at com.solarmetric.kodo.impl.jdbc.schema.DB.getPersistentTypes(DB.java:270)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.setup(JDBCPersi
    stenceManagerFactory.java:170)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.privateSetup(Pers
    istenceManagerFactoryImpl.java:501)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.getPersistenceMan
    ager(PersistenceManagerFactoryImpl.java:61)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.getPersistenceMan
    ager(PersistenceManagerFactoryImpl.java:50)
    at
    peacetech.gao.usorg.jdo.JDOFactory.getPersistenceManager(JDOFactory.java:70)
    at peacetech.gao.usorg.gui.BrowserFrame.<init>(BrowserFrame.java:158)
    at peacetech.gao.usorg.gui.Browser.<init>(Browser.java:23)
    at peacetech.gao.usorg.gui.Browser.main(Browser.java:85)
    Thank you very much in advance
    Alex
    begin 666 OrgUnitTypeRoleOid.java
    M"B\J*@H@*B!#;W!Y<FEG:'0@*&,I(#(P,# L(%!E86-E(%1E8VAN;VQO9WDL
    M($EN8RX*("H@)$%U=&AO<B0*("H@)%)E=FES:6]N)"P@)$1A=&4D"B J("1.
    M;TME>7=O<F1S) H@*B\*"G!A8VMA9V4@<&5A8V5T96-H+F=A;RYU<V]R9RYJ
    M9&\N;VED.PH*:6UP;W)T('!E86-E=&5C:"YG86\N=7-O<F<N:F1O+D]R9U5N
    M:714>7!E.PII;7!O<G0@<&5A8V5T96-H+F=A;RYU<V]R9RYJ9&\N4F]L93L*
    M"G!U8FQI8R!C;&%S<R!/<F=5;FET5'EP95)O;&5/:60@:6UP;&5M96YT<R!J
    M879A+FEO+E-E<FEA;&EZ86)L92!["B @<'5B;&EC($]R9U5N:714>7!E(&]R
    M9U5N:714>7!E.PH@('!U8FQI8R!2;VQE(')O;&4["@H@('!U8FQI8R!/<F=5
    M;FET5'EP95)O;&5/:60H*2![?0H*("!P=6)L:6,@3W)G56YI=%1Y<&52;VQE
    M3VED*$]R9U5N:714>7!E(&]R9U5N:714>7!E+"!2;VQE(')O;&4I('L*(" @
    M('1H:7,N;W)G56YI=%1Y<&4@/2!O<F=5;FET5'EP93L*(" @('1H:7,N<F]L
    M92 ](')O;&4["B @?0H*("!P=6)L:6,@:6YT(&AA<VA#;V1E*"D@>PH@(" @
    M<F5T=7)N(&]R9U5N:714>7!E+FAA<VA#;V1E*"D["B @?0H*("!P=6)L:6,@
    M8F]O;&5A;B!E<75A;',H3V)J96-T(&\I('L*(" @(&EF("AO(#T]('1H:7,I
    M('L*(" @(" @<F5T=7)N('1R=64["B @("!](&5L<V4@:68@*&\@:6YS=&%N
    M8V5O9B!/<F=5;FET5'EP95)O;&5/:60I('L*(" @(" @3W)G56YI=%1Y<&52
    M;VQE3VED(&]T:&5R(#T@*$]R9U5N:714>7!E4F]L94]I9"EO.PH@(" @("!R
    M971U<FX@*&]R9U5N:714>7!E+F5Q=6%L<RAO=&AE<BYO<F=5;FET5'EP92D@
    M)B8@<F]L92YE<75A;',H;W1H97(N<F]L92DI.PH@(" @?2!E;'-E('L*(" @
    =(" @<F5T=7)N(&9A;'-E.PH@(" @?0H@('T*?0H`
    `
    end
    begin 666 OrgUnitTypeRole.java
    M+RHJ"B J($-O<'ER:6=H=" H8RD@,C P,"P@4&5A8V4@5&5C:&YO;&]G>2P@
    M26YC+@H@*B D075T:&]R.B!2;WET;6%N+"!!;&5X) H@*B D4F5V:7-I;VXZ
    M(#0D+" D1&%[email protected]\R-R\R,# Q(#<Z,C0Z,S8@4$TD"B J("1.;TME>7=O
    M<F1S) H@*B\*"B\J"DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H
    M;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED
    M+"!H;VYO<FEF:6,I(%9!3%5%4R H,2P@,3$X+" Q+" G4V5N+B<I.PI)3E-%
    M4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET7W1Y<&5?<F]L
    M95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I9FEC*2!604Q5
    M15,@*#(L(#(Q."P@,BP@)U)E<"XG*3L*"FEN<V5R="!I;G1O(&]R9U]U;FET
    M7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T
    M>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I"G-E;&5C="!R;W=N=6T@*R Q,"P@
    M="XJ("!F<F]M("@*<V5L96-T(&]R9U]U;FET7W1Y<&4L(')O;&5?:60L("=3
    M96XN)PIF<F]M(&]R9U]U;FET7W1Y<&4L(')O;&4*=VAE<F4@;W)G7W5N:71?
    M='EP92!B971W965N(#$S,"!A;F0@,3@P("!A;F0@(')O;&5?:60@/B R"G5N
    M:6]N"G-E;&5C="!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+" G4F5P+B<*9G)O
    M;2!O<F=?=6YI=%]T>7!E+"!R;VQE"G=H97)E(&]R9U]U;FET7W1Y<&4@8F5T
    M=V5E;B R,S @86YD(#(X," @86YD("!R;VQE7VED(#X@,@IU;FEO;@IS96QE
    M8W0@;W)G7W5N:71?='EP92P@<F]L95]I9"P@;G5L; IF<F]M(&]R9U]U;FET
    M7W1Y<&4L(')O;&4*=VAE<F4@;W)G7W5N:71?='EP92!B971W965N(#,S,"!A
    M;F0@,S@P("!A;F0@(')O;&5?:60@/B R"BD@= H*24Y315)4($E.5$\@;W)G
    M7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L(&]R9U]U
    M;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@Q+" Q,3 L
    M(#$L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L
    M92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE
    M7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,BP@,3$P+" R+" G4V5N871O<B<I
    M.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET7W1Y
    M<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I9FEC
    M*2!604Q515,@*#,L(#$Q,"P@,RP@)U-E;F%T;W(G*3L*24Y315)4($E.5$\@
    M;W)G7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L(&]R
    M9U]U;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@T+" Q
    M,3 L(#0L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?
    M<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R
    M;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H-2P@,34P+" Q+" G4V5N871O
    M<B<I.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET
    M7W1Y<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I
    M9FEC*2!604Q515,@*#8L(#$U,"P@,BP@)U-E;F%T;W(G*3L*24Y315)4($E.
    M5$\@;W)G7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L
    M(&]R9U]U;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@W
    M+" Q-3 L(#,L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y
    M<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E
    M+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H."P@,34P+" T+" G4V5N
    M871O<B<I.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U
    M;FET7W1Y<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N
    M;W)I9FEC*2!604Q515,@*#DL(#$P.2P@,RP@)U-E;F%T;W(G*3L*"DE.4T52
    M5"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE
    M7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%
    M4R H,3$L(#(Q,"P@,2P@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/
    M(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O
    M<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,3(L
    M(#(Q,"P@,BP@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U
    M;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI
    M=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,3,L(#(Q,"P@
    M,RP@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y
    M<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E
    M+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,30L(#(Q,"P@-"P@)U)E
    M<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L
    M92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE
    M7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,34L(#(U,"P@,2P@)U)E<')E<V5N
    M=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G
    M7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H
    M;VYO<FEF:6,I(%9!3%5%4R H,38L(#(U,"P@,BP@)U)E<')E<V5N=&%T:79E
    M)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?
    M='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF
    M:6,I(%9!3%5%4R H,3<L(#(U,"P@,RP@)U)E<')E<V5N=&%T:79E)RD["DE.
    M4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R
    M;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!
    M3%5%4R H,3@L(#(U,"P@-"P@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)
    M3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED
    M+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H
    M,3DL(#(P.2P@,RP@)U)E<')E<V5N=&%T:79E)RD["BHO"@H*<&%C:V%G92!P
    M96%C971E8V@N9V%O+G5S;W)G+FID;SL*"G!U8FQI8R!C;&%S<R!/<F=5;FET
    M5'EP95)O;&4@>PH@('!R:79A=&4@3W)G56YI=%1Y<&4@;W)G56YI=%1Y<&4[
    M"B @<')I=F%T92!2;VQE(')O;&4["B @<')I=F%T92!3=')I;F<@:&]N;W)I
    M9FEC.PH*("!P=6)L:6,@3W)G56YI=%1Y<&52;VQE*"D@>WT*"B @<'5B;&EC
    M($]R9U5N:714>7!E(&=E=$]R9U5N:714>7!E*"D@>PH@(" @<F5T=7)N(&]R
    M9U5N:714>7!E.PH@('T*"B @<'5B;&EC('9O:60@<V5T3W)G56YI=%1Y<&4H
    M3W)G56YI=%1Y<&4@;W)G56YI=%1Y<&4I('L*(" @('1H:7,N;W)G56YI=%1Y
    M<&4@/2!O<F=5;FET5'EP93L*("!]"@H@('!U8FQI8R!V;VED('-E=%)O;&4H
    M4F]L92!R;VQE*2!["B @("!T:&ES+G)O;&4@/2!R;VQE.PH@('T*"B @<'5B
    M;&EC(%)O;&4@9V5T4F]L92@I('L*(" @(')E='5R;B!R;VQE.PH@('T*"B @
    M<'5B;&EC('9O:60@<V5T2&]N;W)I9FEC*%-T<FEN9R!H;VYO<FEF:6,I('L*
    M(" @('1H:7,N:&]N;W)I9FEC(#T@:&]N;W)I9FEC.PH@('T*"B @<'5B;&EC
    M(%-T<FEN9R!G971(;VYO<FEF:6,H*2!["B @("!R971U<FX@:&]N;W)I9FEC
    M.PH@('T*"B @<'5B;&EC(&EN="!H87-H0V]D92@I('L*(" @(')E='5R;B!O
    M<F=5;FET5'EP92YH87-H0V][email protected]@('T*"B @<'5B;&EC(&)O;VQE86X@
    M97%U86QS*$]B:F5C="!O*2!["B @("!I9B H;R ]/2!T:&ES*2!["B @(" @
    M(')E='5R;B!T<G5E.PH@(" @?2!E;'-E(&EF("AO(&EN<W1A;F-E;V8@3W)G
    M56YI=%1Y<&52;VQE*2!["B @(" @($]R9U5N:714>7!E4F]L92!O=&AE<B ]
    M("A/<F=5;FET5'EP95)O;&4I;SL*(" @(" @<F5T=7)N("AO<F=5;FET5'EP
    M92YE<75A;',H;W1H97(N;W)G56YI=%1Y<&4I("8F(')O;&4N97%U86QS*&]T
    M:&5R+G)O;&4I*3L*(" @('T@96QS92!["B @(" @(')E='5R;B!F86QS93L*
    -(" @('T*("!]"@I]"@``
    `
    end

  • Utilizing auto-increment/identity fields for primary key with "application" identity

    Is it possible to utilise an auto-increment (identity in MS SQL Server)
    field for the primary key field when using "application" identity?

    To the best of my knowledge, you cannot use auto-increment. Due to the
    differences in the way that identities are generated at the datastore
    (upon insert) vs. JDO (upon makePersistent), this feature of SQLServer is
    not supported yet.
    However, we do provide a variety of other ways of generating identity
    which may provide a closer fit to what you want, and
    our users may have some experience in solving your problem.
    On Tue, 28 Jan 2003 09:56:08 +0000, Sean Ryan wrote:
    Is it possible to utilise an auto-increment (identity in MS SQL Server)
    field for the primary key field when using "application" identity?--
    Stephen Kim
    [email protected]
    SolarMetric, Inc.
    http://www.solarmetric.com

  • Auto populating application identity primary key?

    I'm sure this has been asked before but I couldn't find anything by many
    searches.
    I have some classes with int or long as their primary key. I prefer using
    application identity so the application can have direct access to the
    primary key.
    I would like to have the primary key automatically populated by Kodo from
    a sequence such that I can do:
    MyObject test = new MyObject();
    pm.makePersistent(test);
    assertTrue(test.getId() > 0);
    Is this possible in Kodo? I haven't been able to find it. I know I can do
    it with datastore identity but I would really like to avoid that.
    Thank you,
    Joel Shellman

    Hi Joel,
    before you may consider to use auto-incremented appid PK's let me tell
    some things from my own experience.
    If you have auto-incremented primary key fields you have consider that
    their values will be finally set when you commit the transaction.
    So if you access the pk fields during a transaction their values will be
    NOT set until you call explicitly KodoPersistenceManager.flush() or commit
    the transaction.
    If you use applications identity and if you have a compound PK's which one
    its fields presents a foreign key from a relation, you have to consider
    this behavior and maybe run into problems.
    I had many problems with it and finally build a wrapper around the
    sequence generator instance from KodoHelper.getSequenceHelper ().
    Greetings,
    Matthias
    Stephen Kim wrote:
    Joel, there is not, unless you are using auto-incrementing primary keys.
    You can do it in application code by calling
    KodoHelper.getSequenceHelper (). Note that you should not have this in
    an empty constructor as it may interfere with integration with JDO's
    registration system.
    Joel Shellman wrote:
    I'm sure this has been asked before but I couldn't find anything by many
    searches.
    I have some classes with int or long as their primary key. I prefer using
    application identity so the application can have direct access to the
    primary key.
    I would like to have the primary key automatically populated by Kodo from
    a sequence such that I can do:
    MyObject test = new MyObject();
    pm.makePersistent(test);
    assertTrue(test.getId() > 0);
    Is this possible in Kodo? I haven't been able to find it. I know I can do
    it with datastore identity but I would really like to avoid that.
    Thank you,
    Joel Shellman
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • Application Identity

    I am wondering how you can set an application identity? When you publish and create an ADOBE AIR application from FC, where do you set the identity so that when you sent the application to someone who wants to install it, can see it is from you and not anybody else. I thought I would find this in the publish settings but it is no where to find. Any ideas?
    Thanks in advance!

    Hi Hisham,
    You would need to set this in Flash Builder.   Import the fxp into Fb and the 'sign' the application as you export it to an AIR release build.  There is some documentation here:
    http://help.adobe.com/en_US/flashbuilder/using/WS6f97d7caa66ef6eb1e63e3d11b6c4d0d21-7f99.h tml
    Tanya

  • Application Identity classes

    Does the application identity class used for each persistent class
    (hierarchy) have to be a unique class?
    If so, can you please state why.
    Thanks,
    Paula

    Yes, each hierarchy has to use its own application identity class. Otherwise, what are we to do in the PersistenceManager.getObjectById (Object oid, ...) method? Query the tables used by all the various inheritance hierachies the for the matching PK, and then do an additional query to load the data once we find the right table? Obviously it could be done, but it would be very inefficient. Also, if separate inheritance hierachies (and therefore separate tables) are allowed to have to same app id class, what's to stop two object of different hierachies from having the same primary key values, and therefore the exact same application identity object? Again, there are various inefficient ways around this problem, too, but all things considered, it seems much simpler to just require each hierachy to have its own identity class.

  • About Application Identity

    Hi,All
    I have a problem about application Identity.
    If table has numberic primary key columns,when reversemapping,it will be
    mapped to built-in data type like "long","int".But I want it be wrapped
    class like "Long","Integer".How to do?
    Regards,
    Jia shunlin

    See our documentation on customizing reverse mapping.
    http://www.solarmetric.com/Software/Documentation/latest/docs/ref_guide_pc_reverse.html#ref_guide_pc_reverse_custom

  • How to verify client application identity?

    Hello,
    I would appreciate some guidance from senior security people in this forum. Here is what I am trying to do:
    1- I am responsible for partial development of a TECHNICAL FRAMEWORK, which will end-up packaged as a signed jar file: i.e., "signedFramework.jar".
    2- The purpose of the framework is, of course, to be used by different BUSINESS APPLICATIONS.
    3- These business applications are typically packaged as war files, and embed the above "signedFramework.jar" with them, allowing them to make direct calls to some framework operations/classes (so, no networking involved).
    3- Each business application has its own certificate that will be used to sign its own package.
    ==> Given the situation above, can anyone help (high-level description) with the following:
    - Whenever framework sensitive operations get called, I would like to be able to verify the calling application identity: To do that, I was thinking of retrieving the certificate from the calling application. By comparing info from the retrieved certificate with a "trusted keystore" , I'd be able to authenticate the client application and allow or deny the operation.
    Is this common practice? Any hint?
    Thanks for your help and time,
    MD

    or... from DAA.
    1. client sends U to server
    2. server creates a nonce n and encrypts with the public key of the client
    3. client decrypts n and computes hash(U||n) and sends to server
    4. server computes hash(U||n) and compares it with the value received from the client
    This may take place over a public network iff U can be made public.
         C                         S
         |---------U-------->|
         |                         |
         |<------{n}_PK------|
         |                         |
         |----hash(U||n)---->|
         |          ____________|________________
         |          | Server computes hash(U||n) |
         |       | and compares it to value   |
         |          | supplied by client         |
        |       |----------------------------|
         |                         |

  • Doc for Application Identity?

    All,
    I notice that in the release notes, application identity is supported as of beta 2.20, and I know
    that several people here are using the functionality, but in looking though the documentation, I
    didn't find a section on application identity. Would someone point me in the right direction?
    TIA
    David

    David Ezzio <[email protected]> writes:
    All,
    I notice that in the release notes, application identity is supported as of beta 2.20, and I know
    that several people here are using the functionality, but in looking though the documentation, I
    didn't find a section on application identity. Would someone point me in the right direction?David,
    What problems in particular are you having? There is really only one
    aspect of Kodo JDO's application identity system that requires special
    documentation. The mechanism for providing a custom schema mapping is
    slightly different when using application identity than when using data
    store identity. See docs/existing-schema.html for details.
    Aside from this situation, you should be able to just specify the
    'identity-type' and 'objectid-class' attributes of the 'class' element
    to 'application'. For example, the XML below could be a valid
    package.jdo entry for the tutorial.Animal class if it had two fields
    called 'pk1' and 'pk2' which constituted the application-managed object
    id. Note that you must create your own object id class for Animal
    (identified as 'AnimalID' in the example). You may want to use
    com.solarmetric.kodo.tools.appid.ApplicationIDTool to auto-generate a
    template Java file.
    <?xml version="1.0"?>
    <jdo>
         <package name="tutorial">
              <class name="Animal" identity-type="application"
    objectid-class="AnimalID" >
                   <field name="pk1" primary-key="true"/>
                   <field name="pk2" primary-key="true"/>
    </class>
         </package>
    </jdo>
    Good luck, and let me know if you need further assistance.
    -Patrick
    Patrick Linskey [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Weird issue: application.onDisconnect delayed in Chrome

    Hi,
    I have an application in which we use application.onDisconnect when a user logs out.
    In all browsers, we can see in the FMS admin console that the user has indeed been disconnected, except when the user uses Chrome.
    It can take minutes before the application.onDisconnect is fired.
    Known issue? Any work around?
    Thank you

    Hi,
    Please take a look at this video, where we can clearly see the application.onDisconnect not immediately firing on Chrome like it does on FireFox, and it's the same application.It ALWAYS does that on Chrome.
    http://screencast.com/t/JtPeyGIJNYCq
    Date: Fri, 2 Nov 2012 01:32:58 -0600
    From: [email protected]
    To: [email protected]
    Subject: Weird issue: application.onDisconnect delayed in Chrome
        Re: Weird issue: application.onDisconnect delayed in Chrome
        created by Manish K.A in Adobe Media Server - View the full discussion
    I tried the same scenarios with RTMFP. But I was getting application.onDisconnect immeadiately. FP used : 11.4.31.110Chrome : 22.0.1229.94
         Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at http://forums.adobe.com/message/4817984#4817984
         Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/4817984#4817984
         To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/4817984#4817984. In the Actions box on the right, click the Stop Email Notifications link.
         Start a new discussion in Adobe Media Server by email or at Adobe Community
      For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746.

  • Problem with persistence in Generic Sync application

    Hi:
    We are developing an application which runson SAP Mi 2.5, SP 18,
    Windows Mobile 5.0 and Generic Sync for PDAs.
    We need persistence in our application. We tried with persistence API but
    we found a problem and we send a message to SAP. Until we can solve
    this issue we must implement persistence in other way to satisfy our customer requierements
    Since now,we have implemented persistence with files but the performance of this solution does not meet our customer requirements (the search of data in the PDA is very slow).
    We are thinking in another solution, which consists on using
    Syncbos.Using this alternative, before making a generic sync, and
    executing the code shown below:
    SmartSyncRuntime.getInstance().getSyncBoDescriptorFacade
    ().getAllSyncBoDescriptors()
    the returned syncBOS are those which I have defined in XML. On the
    contrary, after making a generic sync, executing the same code, the
    returned syncbos ARE NOT those whic I have defined in XML. The only
    return that I get is the MIAUTH.
    Any other ideas?
    Thanks
    Kind Regards

    hi satur,
    there are some things to take care if you want to use the persistence layer of the
    SmartSync layer from your GenericSync app.
    first, you have to let the MI client think that your application is using the
    SmartSync functionality. this can be achieved by just including a dummy metadata
    meRepMeta.xml file in the war archive during the deployment process. once the
    MI client framework sees this during the installation, it will set a flag on the MSD
    that your app is a smartsync.
    second, if your app is considered a smartsync, MI will generate the delta request
    and upload messages for your data if ever you have your SyncBo defined in the
    metadata. Since you don't want such functionalities to be ON, i would suggest to
    mark all your SyncBo as local ones; i.e. using attributes suppressDownload=true
    and suppressUpload=true. this way, the MI framework will skip creating the requests
    and delta upload messages for your app during the synchronization process.
    third, your application has to have the syncEventListener implementation to get
    notification when the Sync button (or event) was initiated. if you don't want your
    app to be notified, you may just add synchronization button within your application
    that will call your data manager to prepare your containers (i.e. retrieving the newly
    inserted syncbo, modified syncbos and the list of deleted ones -> genericSync
    containers) and to call the synchronizeWithBackend method.
    fourth, you need to have the inboundProcessor that will parse your data and insert
    them a SyncBo into your local database.
    having tried this but i guess it might work...
    regards
    jo

  • Localization Issue - Application Doesn't Read Culture Specific Resource File

    Dear Sirs,
    i know there are lot of thread out there about localization, but most of them go over same rule, or are not enough complete that i be able to get them,...
    Here's my issue, i use win form localization for UI, and every things is fine, then i pass the culture i want to application thread before start it, and every thing goes fine.
    But when i want to handle error msg's... or Etc...i use Resource file exist over Resources, and my Resharper point to that, using command like
    Resource.<ResourceName>;
    So after doing every thing, i made an other resource file, copy exist text item in main resource file,
    put a name like Resource.en-US.resx on it and then compile it, it generate a sub folder, or maybe two,
    after it i run app, with passing culcure of en-US , and then the application went right, but when it come to show code resources, like what i talked about, it used the old default culture text messages...
    what should i do? where do i go wrong?
    I even tried to copy the resource dll file of en-US calture in exact bin folder, but it still didn't worked.
    the thing i follow were on a thread of MSDN help.

    Dear Sirs,
    i know there are lot of thread out there about localization, but most of them go over same rule, or are not enough complete that i be able to get them,...
    Here's my issue, i use win form localization for UI, and every things is fine, then i pass the culture i want to application thread before start it, and every thing goes fine.
    But when i want to handle error msg's... or Etc...i use Resource file exist over Resources, and my Resharper point to that, using command like
    Resource.<ResourceName>;
    So after doing every thing, i made an other resource file, copy exist text item in main resource file,
    put a name like Resource.en-US.resx on it and then compile it, it generate a sub folder, or maybe two,
    after it i run app, with passing culcure of en-US , and then the application went right, but when it come to show code resources, like what i talked about, it used the old default culture text messages...
    what should i do? where do i go wrong?
    I even tried to copy the resource dll file of en-US calture in exact bin folder, but it still didn't worked.
    the thing i follow were on a thread of MSDN help.
    Hello,
    I am afraid that we are not clear about what the error is and how you use these resources, I would recommend you share the detailed code with us, you could comment all sensitive data or if possible you could just create a simple winform project, and reproduce
    that issue, then share it with us by uploading it to OneDrive.
    You could share its link here that we could focus on that project to help you.
    Regards.
    Carl
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

Maybe you are looking for

  • IPOD originally formatted for Windows...Now I have a IMAC

    My IPOD color 30gb was originally formatted and worked on a PC. I now own a IMAC and have transfered the music over. The music plays fine on the IMAC in ITunes, it down loads to the IPOD, but no sound comes from the IPOD. Do I need to reformat the IP

  • Adobe Media Encoder is a HORRIBLE workflow

    I held out from having to use AME when CC came out, but now Adobe has removed the "allow deprecated formats" option in 2014 we have no choice but to use it for most of the content we're outputting. Three things make this a bloody awful workflow, at t

  • Payment Terms Setup

    We are using Payment terms currently only for text purpose on Purchase Order. we define Payment terms with NO DEFAULT and un define no of days. Now I need to use no of days field for Abap report so that i can pick no of days of payment of Terms. My q

  • Creative Suite Design Premium Student: Language German- English

    Hi, I've recently bought CS Design Premium Student over the amazon-store and registered it over the adobe online community. The Creative Suite FAQ states "I purchased an English-language license, but would prefer to have another language. Can I switc

  • Iptables and FMS on RHEL V3

    Sorry for awful english. After successfuly instalaltion of FMS on my Linux box, FMS works fine with iptables. INIT: Entering runlevel: 3 Entering non-interactive startup Applying iptables firewall rules: [ OK ] Setting network parameters: [ OK ] Brin