Examples of replaceFieldMakeDirty()


Examples of org.datanucleus.state.ObjectProvider.replaceFieldMakeDirty()

                        if (relationType == RelationType.ONE_TO_ONE_BI)
                        {
                            ObjectProvider relatedSM = ec.findObjectProvider(pcNew);
                            AbstractMemberMetaData[] relatedMmds = mmd.getRelatedMemberMetaData(clr);
                            // TODO Allow for multiple related fields
                            relatedSM.replaceFieldMakeDirty(relatedMmds[0].getAbsoluteFieldNumber(), ownerSM.getObject());
                        }
                        else if (relationType == RelationType.MANY_TO_ONE_BI)
                        {
                            // TODO Update the container element with the attached variant
                            if (NucleusLogger.PERSISTENCE.isDebugEnabled())
View Full Code Here

Examples of org.datanucleus.state.ObjectProvider.replaceFieldMakeDirty()

            NucleusLogger.PERSISTENCE.debug(LOCALISER.msg("055009", StringUtils.toJVMIDString(op.getObject()),
                ownerMemberMetaData.getFullFieldName(), StringUtils.toJVMIDString(element)));
          }

          int relatedFieldNumber = getFieldNumberInElementForBidirectional(elementOP);
          elementOP.replaceFieldMakeDirty(relatedFieldNumber, newOwner);
          if (ec.getManageRelations()) {
            // Managed Relationships - add the change we've made here to be analysed at flush
            ec.getRelationshipManager(elementOP).relationChange(relatedFieldNumber, oldOwner, newOwner);
          }
View Full Code Here

Examples of org.datanucleus.state.ObjectProvider.replaceFieldMakeDirty()

                            else if (relationType == RelationType.ONE_TO_ONE_BI)
                            {
                                AbstractMemberMetaData[] relatedMmds = mmd.getRelatedMemberMetaData(clr);
                                // TODO Cater for more than 1 related field
                                ObjectProvider relatedSM = ec.findObjectProvider(pcNew);
                                relatedSM.replaceFieldMakeDirty(relatedMmds[0].getAbsoluteFieldNumber(), ownerSM.getObject());
                            }
                        }
                    }
                    catch (NotYetFlushedException e)
                    {
View Full Code Here

Examples of org.datanucleus.state.ObjectProvider.replaceFieldMakeDirty()

                            {
                                NucleusLogger.PERSISTENCE.debug(LOCALISER.msg("041019",
                                    StringUtils.toJVMIDString(pc), relatedMmd.getFullFieldName(),
                                    sm.getObjectAsPrintable()));
                            }
                            otherSM.replaceFieldMakeDirty(relatedMmd.getAbsoluteFieldNumber(), null);

                            if (ec.getManageRelations())
                            {
                                otherSM.getExecutionContext().getRelationshipManager(otherSM).relationChange(
                                    relatedMmd.getAbsoluteFieldNumber(), sm.getObject(), null);
View Full Code Here

Examples of org.datanucleus.state.ObjectProvider.replaceFieldMakeDirty()

            if (dependent)
            {
                if (isNullable)
                {
                    // Null out the FK in the datastore using a direct update (since we are deleting)
                    otherSM.replaceFieldMakeDirty(relatedMmds[0].getAbsoluteFieldNumber(), null);
                    storeMgr.getPersistenceHandler().updateObject(
                        otherSM, new int[]{relatedMmds[0].getAbsoluteFieldNumber()});
                }
                // Mark the other object for deletion
                ec.deleteObjectInternal(pc);
View Full Code Here

Examples of org.datanucleus.state.ObjectProvider.replaceFieldMakeDirty()

                {
                    Object currentRelatedValue = otherSM.provideField(relatedMmds[0].getAbsoluteFieldNumber());
                    if (currentRelatedValue != null)
                    {
                        // Null out the FK in the datastore using a direct update (since we are deleting)
                        otherSM.replaceFieldMakeDirty(relatedMmds[0].getAbsoluteFieldNumber(), null);
                        storeMgr.getPersistenceHandler().updateObject(
                            otherSM, new int[]{relatedMmds[0].getAbsoluteFieldNumber()});

                        // Managed Relations : 1-1 bidir, so null out the object at the other
                        if (ec.getManageRelations())
View Full Code Here

Examples of org.datanucleus.state.ObjectProvider.replaceFieldMakeDirty()

      if (ownerMapping.isNullable()) {
        // Nullify the FK
        ObjectProvider elementSM = ec.findObjectProvider(element);
        if (relationType == RelationType.ONE_TO_MANY_BI) {
          // TODO This is ManagedRelations - move into RelationshipManager
          elementSM.replaceFieldMakeDirty(ownerMemberMetaData.getRelatedMemberMetaData(clr)[0].getAbsoluteFieldNumber(),
              null);
          if (ec.isFlushing()) {
            elementSM.flush();
          }
        } else {
View Full Code Here

Examples of org.datanucleus.store.ObjectProvider.replaceFieldMakeDirty()

                        if (relationType == Relation.ONE_TO_ONE_BI)
                        {
                            ObjectProvider relatedSM = ec.findObjectProvider(pcNew);
                            AbstractMemberMetaData[] relatedMmds = mmd.getRelatedMemberMetaData(clr);
                            // TODO Allow for multiple related fields
                            relatedSM.replaceFieldMakeDirty(relatedMmds[0].getAbsoluteFieldNumber(), ownerSM.getObject());
                        }
                        else if (relationType == Relation.MANY_TO_ONE_BI)
                        {
                            // TODO Update the container element with the attached variant
                            if (NucleusLogger.PERSISTENCE.isDebugEnabled())
View Full Code Here

Examples of org.datanucleus.store.ObjectProvider.replaceFieldMakeDirty()

                        NucleusLogger.PERSISTENCE.debug(LOCALISER.msg("055009", sm.toPrintableID(),
                            ownerMemberMetaData.getFullFieldName(), StringUtils.toJVMIDString(element)));
                    }

                    int relatedFieldNumber = getFieldNumberInElementForBidirectional(elementSM);
                    elementSM.replaceFieldMakeDirty(relatedFieldNumber, newOwner);
                    if (ec.getManageRelations())
                    {
                        // Managed Relationships - add the change we've made here to be analysed at flush
                        ec.getRelationshipManager(elementSM).relationChange(relatedFieldNumber, oldOwner, newOwner);
                    }
View Full Code Here

Examples of org.datanucleus.store.ObjectProvider.replaceFieldMakeDirty()

                    int relatedFieldNumber = getFieldNumberInElementForBidirectional(elementSM);
                    Object currentValue = elementSM.provideField(relatedFieldNumber);
                    if (currentValue != null)
                    {
                        elementSM.replaceFieldMakeDirty(relatedFieldNumber, null);
                        if (ec.isFlushing())
                        {
                            // Make sure this change gets flushed
                            elementSM.flush();
                        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.