public override sealed void OnPersist(Net.Vpc.Upa.Callbacks.PersistEvent @event) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     if (AcceptPersistRecordHelper(@event))
     {
         AfterPersistHelper(@event, TranslateExpression(@event.GetEntity().GetBuilder().IdToExpression(@event.GetPersistedId(), null)));
     }
 }
Exemple #2
0
 public virtual void FireBeforePersist(object objectId, Net.Vpc.Upa.Record record, Net.Vpc.Upa.Persistence.EntityExecutionContext context) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     //        Object methodExecId = Math.random();
     //        log.log(Level.FINE,"enter {} {}", new Object[]{key, record});
     //Log.method_enter(methodExecId, getName(), key, record);
     //        entity.preInsertRecord(key, record, context);
     Net.Vpc.Upa.Callbacks.PersistEvent @event = null;
     if (entity.GetPersistenceUnit().IsTriggersEnabled())
     {
         foreach (Net.Vpc.Upa.Callbacks.Trigger et in entity.GetSoftTriggers())
         {
             Net.Vpc.Upa.Impl.DefaultTrigger t = (Net.Vpc.Upa.Impl.DefaultTrigger)et;
             //                Log.log(EditorConstants.Logs.TRIGGER, "<START " + getName() + ".firePreInsertTable> " + t.toString());
             try {
                 Net.Vpc.Upa.Callbacks.EntityListener li = t.GetListener();
                 if (@event == null)
                 {
                     @event = new Net.Vpc.Upa.Callbacks.PersistEvent(objectId, record, context, Net.Vpc.Upa.EventPhase.BEFORE);
                 }
                 @event.SetTrigger(et);
                 li.OnPrePersist(@event);
             } catch (Net.Vpc.Upa.Exceptions.UPAException ex) {
                 //do some thing
                 log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("problem when executing trigger " + t.GetName() + ".onPrePersist(" + t.GetEntity().GetName() + "," + objectId + ")", ex));
                 //                    Log.bug(e);
                 throw ex;
             }
         }
     }
     //                Log.log(EditorConstants.Logs.TRIGGER, "<END   " + getName() + ".firePreInsertTable> " + t.toString());
     if (@event == null)
     {
         @event = new Net.Vpc.Upa.Callbacks.PersistEvent(objectId, record, context, Net.Vpc.Upa.EventPhase.BEFORE);
     }
     foreach (Net.Vpc.Upa.Callback invoker in persistenceUnitListenerManager.GetPreCallbacks(Net.Vpc.Upa.CallbackType.ON_PERSIST, Net.Vpc.Upa.ObjectType.ENTITY, @event.GetEntity().GetName(), Net.Vpc.Upa.Impl.Event.PersistenceUnitListenerManager.DEFAULT_SYSTEM))
     {
         invoker.Invoke(@event);
     }
     foreach (Net.Vpc.Upa.PreparedCallback invoker in persistenceUnitListenerManager.GetPostPreparedCallbacks(Net.Vpc.Upa.CallbackType.ON_PERSIST, Net.Vpc.Upa.ObjectType.ENTITY, @event.GetEntity().GetName(), Net.Vpc.Upa.Impl.Event.PersistenceUnitListenerManager.DEFAULT_SYSTEM))
     {
         invoker.Prepare(@event);
     }
 }
Exemple #3
0
        public override void OnPersist(Net.Vpc.Upa.Callbacks.PersistEvent @event) /* throws Net.Vpc.Upa.Exceptions.UPAException */
        {
            object parent_id     = relation.ExtractId(@event.GetPersistedRecord());
            string path          = support.GetHierarchyPathSeparator() + support.ToStringId(@event.GetPersistedId());
            string pathFieldName = support.GetHierarchyPathField();

            Net.Vpc.Upa.Entity entity = relation.GetSourceRole().GetEntity();
            if (parent_id != null)
            {
                Net.Vpc.Upa.Record r = entity.CreateQueryBuilder().ByExpression(entity.GetBuilder().IdToExpression(parent_id, null)).SetFieldFilter(Net.Vpc.Upa.Filters.Fields.ByName(pathFieldName)).GetRecord();
                if (r != null)
                {
                    path = r.GetString(pathFieldName) + path;
                }
            }
            @event.GetPersistedRecord().SetString(pathFieldName, path);
            Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext = @event.GetContext();
            Net.Vpc.Upa.Persistence.EntityExecutionContext updateContext    = executionContext.GetPersistenceUnit().GetFactory().CreateObject <Net.Vpc.Upa.Persistence.EntityExecutionContext>(typeof(Net.Vpc.Upa.Persistence.EntityExecutionContext));
            updateContext.InitPersistenceUnit(executionContext.GetPersistenceUnit(), executionContext.GetPersistenceStore(), Net.Vpc.Upa.Persistence.ContextOperation.UPDATE);
            Net.Vpc.Upa.Record u2 = entity.GetBuilder().CreateRecord();
            u2.SetString(pathFieldName, path);
            entity.UpdateCore(u2, entity.GetBuilder().IdToExpression(@event.GetPersistedId(), entity.GetName()), updateContext);
        }
 /**
  *
  * @param event
  * @return
  * @throws UPAException
  */
 public virtual bool AcceptPersistRecordHelper(Net.Vpc.Upa.Callbacks.PersistEvent @event) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     return(true);
 }
 public abstract void AfterPersistHelper(Net.Vpc.Upa.Callbacks.PersistEvent @event, Net.Vpc.Upa.Expressions.Expression translatedExpression) /* throws Net.Vpc.Upa.Exceptions.UPAException */;
 public virtual void OnPersist(Net.Vpc.Upa.Callbacks.PersistEvent @event)
 {
 }
Exemple #7
0
 public override void AfterPersistHelper(Net.Vpc.Upa.Callbacks.PersistEvent @event, Net.Vpc.Upa.Expressions.Expression translatedExpression) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     Net.Vpc.Upa.Entity entity = @event.GetEntity();
     entity.CreateUpdateQuery().Validate(GetFields(entity)).ByExpression(translatedExpression).Execute();
 }
 public override void OnPersist(Net.Vpc.Upa.Callbacks.PersistEvent @event)
 {
     cache.isEmpty = new System.Nullable <bool>(false);
 }
Exemple #9
0
        /**
         * if master created no validation is needed for details
         *
         *
         *
         * @param context
         * @param key
         * @param record
         * @return
         * @throws net.vpc.upa.exceptions.UPAException
         */

        public override bool AcceptPersistRecordHelper(Net.Vpc.Upa.Callbacks.PersistEvent @event) /* throws Net.Vpc.Upa.Exceptions.UPAException */
        {
            return(false);
        }
 public override void OnPersist(Net.Vpc.Upa.Callbacks.PersistEvent @event) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     Net.Vpc.Upa.Impl.Context.DefaultEntityTriggerContext context = new Net.Vpc.Upa.Impl.Context.DefaultEntityTriggerContext(@event.GetEntity(), @event.GetTrigger(), @event.GetContext());
     keyInterceptor.AfterPersist(context, @event.GetPersistedId(), @event.GetPersistedRecord());
 }