public override void Persist(Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext, Net.Vpc.Upa.PersistenceState status) /* throws System.Exception, Net.Vpc.Upa.Exceptions.UPAException */
        {
            Net.Vpc.Upa.PrimitiveField field = (Net.Vpc.Upa.PrimitiveField)@object;
            Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore persistenceUnitManager = (Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore)executionContext.GetPersistenceStore();
            log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Commit {0} / {1} : found {2}, persist", null, new object[] { @object, typedObject, status }));
            string q = persistenceUnitManager.GetAlterTableAddColumnStatement(field, executionContext);

            Net.Vpc.Upa.Persistence.UConnection b = executionContext.GetConnection();
            b.ExecuteNonQuery(q, null, null);
        }
 public override void Persist(Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext, Net.Vpc.Upa.PersistenceState status) /* throws System.Exception, Net.Vpc.Upa.Exceptions.UPAException */
 {
     Net.Vpc.Upa.Entity entity = (Net.Vpc.Upa.Entity)@object;
     Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore persistenceUnitManager = (Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore)executionContext.GetPersistenceStore();
     if (persistenceUnitManager.IsViewSupported() && entity.NeedsView())
     {
         log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Commit {0} / {1} : found {2}, persist", null, new object[] { @object, typedObject, status }));
         Net.Vpc.Upa.Persistence.UConnection b = executionContext.GetConnection();
         b.ExecuteNonQuery(persistenceUnitManager.GetCreateImplicitViewStatement(entity, executionContext), null, null);
     }
 }
Esempio n. 3
0
 public virtual void SetPersistenceState(Net.Vpc.Upa.PersistenceState persistenceState)
 {
     Net.Vpc.Upa.PersistenceState old = this.persistenceState;
     this.persistenceState = Net.Vpc.Upa.Impl.Util.PlatformUtils.IsUndefinedValue <Net.Vpc.Upa.PersistenceState>(typeof(Net.Vpc.Upa.PersistenceState), persistenceState) ? Net.Vpc.Upa.PersistenceState.UNKNOWN : persistenceState;
     propertyChangeSupport.FirePropertyChange("persistenceState", old, this.persistenceState);
 }
Esempio n. 4
0
 public override void Persist(Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext, Net.Vpc.Upa.PersistenceState status) /* throws System.Exception, Net.Vpc.Upa.Exceptions.UPAException */
 {
     Net.Vpc.Upa.Entity entityManager = (Net.Vpc.Upa.Entity)@object;
     Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore persistenceUnitManager = (Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore)executionContext.GetPersistenceStore();
     log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Commit {0} / {1} : found {2}, persist", null, new object[] { @object, typedObject, status }));
     Net.Vpc.Upa.Persistence.UConnection b = executionContext.GetConnection();
     System.Collections.Generic.IList <Net.Vpc.Upa.Persistence.ViewEntityExtension> specSupport = entityManager.GetExtensions <Net.Vpc.Upa.Persistence.ViewEntityExtension>(typeof(Net.Vpc.Upa.Persistence.ViewEntityExtension));
     foreach (Net.Vpc.Upa.Persistence.ViewEntityExtension ss in specSupport)
     {
         b.ExecuteNonQuery(persistenceUnitManager.GetCreateViewStatement(entityManager, ss.GetQuery(), executionContext), null, null);
     }
     System.Collections.Generic.IList <Net.Vpc.Upa.Persistence.UnionEntityExtension> uspecSupport = entityManager.GetExtensions <Net.Vpc.Upa.Persistence.UnionEntityExtension>(typeof(Net.Vpc.Upa.Persistence.UnionEntityExtension));
     foreach (Net.Vpc.Upa.Persistence.UnionEntityExtension ss in uspecSupport)
     {
         b.ExecuteNonQuery(persistenceUnitManager.GetCreateViewStatement(entityManager, ss.GetQuery(), executionContext), null, null);
     }
     System.Collections.Generic.IList <Net.Vpc.Upa.Extensions.FilterEntityExtensionDefinition> fspecSupport = entityManager.GetExtensionDefinitions <Net.Vpc.Upa.Extensions.FilterEntityExtensionDefinition>(typeof(Net.Vpc.Upa.Extensions.FilterEntityExtensionDefinition));
     foreach (Net.Vpc.Upa.Extensions.FilterEntityExtensionDefinition ss in fspecSupport)
     {
         b.ExecuteNonQuery(persistenceUnitManager.GetCreateViewStatement(entityManager, ss.GetQuery(), executionContext), null, null);
     }
 }
Esempio n. 5
0
 public override void Persist(Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext, Net.Vpc.Upa.PersistenceState status) /* throws System.Exception, Net.Vpc.Upa.Exceptions.UPAException */
 {
     Net.Vpc.Upa.Index index = (Net.Vpc.Upa.Index)@object;
     Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore persistenceUnitManager = (Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore)executionContext.GetPersistenceStore();
     if (!persistenceUnitManager.IsView(index.GetEntity()))
     {
         log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Commit {0} / {1} : found {2}, persist", null, new object[] { @object, typedObject, status }));
         Net.Vpc.Upa.Persistence.UConnection b = executionContext.GetConnection();
         if (status == Net.Vpc.Upa.PersistenceState.DIRTY)
         {
             b.ExecuteNonQuery(persistenceUnitManager.GetDropIndexStatement(index), null, null);
         }
         b.ExecuteNonQuery(persistenceUnitManager.GetCreateIndexStatement(index), null, null);
     }
 }
Esempio n. 6
0
 public override void Persist(Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext, Net.Vpc.Upa.PersistenceState status) /* throws System.Exception, Net.Vpc.Upa.Exceptions.UPAException */
 {
     Net.Vpc.Upa.Relationship relation = (Net.Vpc.Upa.Relationship)@object;
     Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore persistenceUnitManager = (Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore)executionContext.GetPersistenceStore();
     log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Commit {0} / {1} : found {2}, persist", null, new object[] { @object, typedObject, status }));
     if (!relation.IsTransient() && persistenceUnitManager.IsReferencingSupported())
     {
         Net.Vpc.Upa.Persistence.UConnection b = executionContext.GetConnection();
         b.ExecuteNonQuery(persistenceUnitManager.GetCreateRelationshipStatement(relation), null, null);
     }
 }
Esempio n. 7
0
 public virtual void SetPersistenceState(Net.Vpc.Upa.PersistenceState persistenceState)
 {
     this.persistenceState = persistenceState;
 }
Esempio n. 8
0
        public virtual bool Commit(Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext) /* throws Net.Vpc.Upa.Exceptions.UPAException */
        {
            Net.Vpc.Upa.Persistence.StructureStrategy option = persistenceUnitCommitManager.persistenceStore.GetConnectionProfile().GetStructureStrategy();
            Net.Vpc.Upa.PersistenceState status = GetObjectStatus(executionContext);
            switch (option)
            {
            case Net.Vpc.Upa.Persistence.StructureStrategy.DROP:
            case Net.Vpc.Upa.Persistence.StructureStrategy.CREATE:
            case Net.Vpc.Upa.Persistence.StructureStrategy.SYNCHRONIZE:
            {
                switch (status)
                {
                case Net.Vpc.Upa.PersistenceState.VALID:
                {
                    //do nothing
                    break;
                }

                case Net.Vpc.Upa.PersistenceState.UNKNOWN:
                case Net.Vpc.Upa.PersistenceState.DIRTY:
                {
                    //throw new UPAException(new I18NString("DirtyObject"),object);
                    try {
                        Persist(executionContext, status);
                    } catch (System.Exception e) {
                        throw new Net.Vpc.Upa.Exceptions.UPAException(e, new Net.Vpc.Upa.Types.I18NString("CommitFailed"));
                    }
                    @object.GetProperties().SetString("persistence.PersistenceAction", "ADD");
                    //info.setPersistenceState(PersistenceState.VALID);
                    return(true);
                }

                case Net.Vpc.Upa.PersistenceState.TRANSIENT:
                {
                    // do nothing
                    break;
                }
                }
                break;
            }

            case Net.Vpc.Upa.Persistence.StructureStrategy.MANDATORY:
            {
                switch (status)
                {
                case Net.Vpc.Upa.PersistenceState.UNKNOWN:
                {
                    throw new Net.Vpc.Upa.Exceptions.UPAException(new Net.Vpc.Upa.Types.I18NString("MandatoryObject"), @object);
                }

                case Net.Vpc.Upa.PersistenceState.VALID:
                {
                    //do nothing
                    break;
                }

                case Net.Vpc.Upa.PersistenceState.DIRTY:
                {
                    throw new Net.Vpc.Upa.Exceptions.UPAException(new Net.Vpc.Upa.Types.I18NString("DirtyObject"), @object);
                }

                case Net.Vpc.Upa.PersistenceState.TRANSIENT:
                {
                    // do nothing
                    break;
                }
                }
                break;
            }

            case Net.Vpc.Upa.Persistence.StructureStrategy.IGNORE:
            {
                //do nothing
                break;
            }
            }
            return(false);
        }
Esempio n. 9
0
 public abstract void Persist(Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext, Net.Vpc.Upa.PersistenceState status) /* throws System.Exception */;
Esempio n. 10
0
 public override void Persist(Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext, Net.Vpc.Upa.PersistenceState status) /* throws System.Exception, Net.Vpc.Upa.Exceptions.UPAException */
 {
     Net.Vpc.Upa.Entity entity = (Net.Vpc.Upa.Entity)@object;
     Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore store = (Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceStore)executionContext.GetPersistenceStore();
     if ((entity.GetPrimaryFields()).Count > 0)
     {
         log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Commit {0} / {1} : found {2}, persist", null, new object[] { @object, typedObject, status }));
         Net.Vpc.Upa.Persistence.UConnection b = executionContext.GetConnection();
         foreach (Net.Vpc.Upa.PrimitiveField primaryField in entity.GetPrimitiveFields(Net.Vpc.Upa.Filters.Fields.Id()))
         {
             Net.Vpc.Upa.Impl.Persistence.ColumnDesc cd = store.LoadColumnDesc(primaryField, b.GetMetadataAccessibleConnection());
             if (cd.IsNullable() != null && (cd.IsNullable()).Value)
             {
                 b.ExecuteNonQuery(store.GetAlterTableAlterColumnNullStatement(primaryField, false), null, null);
             }
         }
         b.ExecuteNonQuery(store.GetCreateTablePKConstraintStatement(entity), null, null);
     }
 }