コード例 #1
0
        public virtual void UnregisterIndex(Net.Vpc.Upa.Index item)
        {
            string s = item.GetName();

            indexes.Remove(s);
            System.Collections.Generic.IList <Net.Vpc.Upa.Index> indexesByEnt = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <string, System.Collections.Generic.IList <Net.Vpc.Upa.Index> >(indexesByEntity, item.GetEntity().GetName());
            indexesByEnt.Remove(item);
        }
コード例 #2
0
 public virtual Net.Vpc.Upa.Index GetIndex(string name) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     Net.Vpc.Upa.Index item = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <string, Net.Vpc.Upa.Index>(indexes, name);
     if (item == null)
     {
         throw new Net.Vpc.Upa.Exceptions.NoSuchIndexException(null, name, null);
     }
     return(item);
 }
コード例 #3
0
        public virtual void RegisterIndex(Net.Vpc.Upa.Index item, Net.Vpc.Upa.Entity entity)
        {
            string s = item.GetName();

            indexes[s] = item;
            System.Collections.Generic.IList <Net.Vpc.Upa.Index> indexesByEnt = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <string, System.Collections.Generic.IList <Net.Vpc.Upa.Index> >(indexesByEntity, item.GetEntity().GetName());
            if (indexesByEnt == null)
            {
                indexesByEnt = new System.Collections.Generic.List <Net.Vpc.Upa.Index>();
                indexesByEntity[item.GetEntity().GetName()] = indexesByEnt;
            }
            indexesByEnt.Add(item);
        }
コード例 #4
0
 public InsertRecordDuplicateUniqueFieldsException(Net.Vpc.Upa.Entity entity, Net.Vpc.Upa.Index index, object @value)  : base(entity, "insert.DuplicateUniqueFields", FieldTitles(index == null ? null : new System.Collections.Generic.List <Net.Vpc.Upa.Field>(index.GetFields())), @value)
 {
     this.@value = @value;
     if (index != null)
     {
         this.indexName  = index.GetName();
         this.entityName = index.GetEntity().GetName();
         this.fieldNames = new System.Collections.Generic.List <string>();
         foreach (Net.Vpc.Upa.Field field in index.GetFields())
         {
             this.fieldNames.Add(field.GetName());
         }
     }
 }
コード例 #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);
     }
 }
コード例 #6
0
 public virtual bool ContainsIndex(Net.Vpc.Upa.Index item, Net.Vpc.Upa.Entity parent)
 {
     return(indexes.ContainsKey(item.GetName()));
 }
コード例 #7
0
 public virtual string GetPersistenceName(object source, Net.Vpc.Upa.Persistence.PersistenceNameType spec) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     System.Collections.Generic.IList <Net.Vpc.Upa.Persistence.PersistenceNameType> types = new System.Collections.Generic.List <Net.Vpc.Upa.Persistence.PersistenceNameType>();
     Net.Vpc.Upa.Impl.Persistence.UPAObjectAndSpec upaObjectAndSpec = new Net.Vpc.Upa.Impl.Persistence.UPAObjectAndSpec(source, spec);
     if (source is Net.Vpc.Upa.Entity)
     {
         Net.Vpc.Upa.Entity v = (Net.Vpc.Upa.Entity)source;
         if (spec == null)
         {
             string p = v.GetPersistenceName();
             if (p == null)
             {
                 p = v.GetName();
             }
             foreach (Net.Vpc.Upa.Extensions.EntityExtensionDefinition extension in v.GetExtensionDefinitions())
             {
                 if (extension is Net.Vpc.Upa.Extensions.ViewEntityExtensionDefinition)
                 {
                     types.Add(Net.Vpc.Upa.Persistence.PersistenceNameType.VIEW);
                 }
                 if (extension is Net.Vpc.Upa.Extensions.UnionEntityExtensionDefinition)
                 {
                     types.Add(Net.Vpc.Upa.Persistence.PersistenceNameType.UNION_TABLE);
                 }
             }
             types.Add(Net.Vpc.Upa.Persistence.PersistenceNameType.TABLE);
             return(ValidatePersistenceName(p, Net.Vpc.Upa.Persistence.PersistenceNameType.TABLE, v.GetName(), upaObjectAndSpec, types));
         }
         if (Net.Vpc.Upa.Persistence.PersistenceNameType.PK_CONSTRAINT.Equals(spec))
         {
             string p = v.GetShortName();
             if (p == null)
             {
                 p = v.GetPersistenceName();
             }
             if (p == null)
             {
                 p = v.GetName();
             }
             types.Add(Net.Vpc.Upa.Persistence.PersistenceNameType.PK_CONSTRAINT);
             return(ValidatePersistenceName("PK_" + p, Net.Vpc.Upa.Persistence.PersistenceNameType.PK_CONSTRAINT, v.GetName(), upaObjectAndSpec, types));
         }
         if (Net.Vpc.Upa.Persistence.PersistenceNameType.IMPLICIT_VIEW.Equals(spec))
         {
             string p = v.GetPersistenceName();
             if (p == null)
             {
                 p = v.GetName();
             }
             types.Add(Net.Vpc.Upa.Persistence.PersistenceNameType.IMPLICIT_VIEW);
             types.Add(Net.Vpc.Upa.Persistence.PersistenceNameType.TABLE);
             return(ValidatePersistenceName(p + "_IV", Net.Vpc.Upa.Persistence.PersistenceNameType.IMPLICIT_VIEW, v.GetName(), upaObjectAndSpec, types));
         }
     }
     if (source is Net.Vpc.Upa.Index)
     {
         Net.Vpc.Upa.Index v = (Net.Vpc.Upa.Index)source;
         string            p = v.GetPersistenceName();
         if (p == null)
         {
             p = v.GetName();
         }
         if (p == null)
         {
             string sn = v.GetEntity().GetShortName();
             if (sn == null)
             {
                 sn = v.GetEntity().GetName();
             }
             System.Text.StringBuilder sb = new System.Text.StringBuilder("IX_").Append(sn);
             foreach (string field in v.GetFieldNames())
             {
                 sb.Append("_").Append(field);
             }
             p = sb.ToString();
         }
         types.Add(Net.Vpc.Upa.Persistence.PersistenceNameType.INDEX);
         return(ValidatePersistenceName(p, Net.Vpc.Upa.Persistence.PersistenceNameType.INDEX, v.GetName(), upaObjectAndSpec, types));
     }
     if (source is Net.Vpc.Upa.Relationship)
     {
         Net.Vpc.Upa.Relationship v = (Net.Vpc.Upa.Relationship)source;
         string p = v.GetPersistenceName();
         if (p == null)
         {
             p = v.GetName();
         }
         types.Add(Net.Vpc.Upa.Persistence.PersistenceNameType.FK_CONSTRAINT);
         return(ValidatePersistenceName(p, Net.Vpc.Upa.Persistence.PersistenceNameType.FK_CONSTRAINT, v.GetName(), upaObjectAndSpec, types));
     }
     if (source is Net.Vpc.Upa.PrimitiveField)
     {
         Net.Vpc.Upa.Field v = (Net.Vpc.Upa.Field)source;
         string            p = v.GetPersistenceName();
         if (p == null)
         {
             p = v.GetName();
         }
         types.Add(Net.Vpc.Upa.Persistence.PersistenceNameType.COLUMN);
         return(ValidatePersistenceName(p, Net.Vpc.Upa.Persistence.PersistenceNameType.COLUMN, v.GetEntity().GetName() + "." + v.GetName(), upaObjectAndSpec, types));
     }
     if (source is string)
     {
         if (Net.Vpc.Upa.Persistence.PersistenceNameType.ALIAS.Equals(spec))
         {
             return(ValidatePersistenceName((string)source, Net.Vpc.Upa.Persistence.PersistenceNameType.ALIAS, "aliasName", upaObjectAndSpec, types));
         }
         else
         {
             return(ValidatePersistenceName((string)source, Net.Vpc.Upa.Persistence.PersistenceNameType.ALIAS, null, upaObjectAndSpec, types));
         }
     }
     throw new System.ArgumentException("No Supported");
 }
コード例 #8
0
 public IndexStructureCommit(Net.Vpc.Upa.Index @object, Net.Vpc.Upa.Impl.Persistence.DefaultPersistenceUnitCommitManager persistenceUnitCommitManager)  : base(persistenceUnitCommitManager, @object, typeof(Net.Vpc.Upa.Index), null)
 {
 }
コード例 #9
0
 public IndexEvent(Net.Vpc.Upa.Index index, Net.Vpc.Upa.PersistenceUnit persistenceUnit, Net.Vpc.Upa.EventPhase phase)
 {
     this.persistenceUnit = persistenceUnit;
     this.index           = index;
     this.phase           = phase;
 }