示例#1
0
 public override void CommitImpl() /* throws System.Exception */
 {
     if (/*IsLoggable=*/ true)
     {
         log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Commit Transaction {0}", null, ((int)(System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(this))).ToString("X").ToUpper()));
     }
 }
示例#2
0
 private static string ToURL(string file)
 {
     try {
         return((file));
     } catch (System.Exception ex) {
         log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter(null, ex));
         throw new System.ArgumentException("IllegalArgumentException", ex);
     }
 }
 public virtual void Scan(Net.Vpc.Upa.Config.ScanSource strategy, Net.Vpc.Upa.ScanListener listener, bool configure) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     decorationRepository = new Net.Vpc.Upa.Impl.Config.Decorations.DefaultDecorationRepository(GetName() + "-PGRepo", true);
     log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("{0} : Configuring PersistenceGroup with strategy {1}", null, new object[] { GetName(), strategy }));
     Net.Vpc.Upa.Impl.Config.URLAnnotationStrategySupport s = new Net.Vpc.Upa.Impl.Config.URLAnnotationStrategySupport();
     s.Scan(this, strategy, decorationRepository, configure ? ((Net.Vpc.Upa.ScanListener)(new Net.Vpc.Upa.Impl.Config.ConfigureScanListener(listener))) : listener);
     if (securityManager == null)
     {
         securityManager = GetFactory().CreateObject <Net.Vpc.Upa.UPASecurityManager>(typeof(Net.Vpc.Upa.UPASecurityManager));
     }
 }
示例#4
0
 public virtual T CreateObject <T>(string typeName, string name)
 {
     System.Type c;
     try {
         c = Net.Vpc.Upa.Impl.Util.PlatformUtils.ForName(typeName);
     } catch (System.Exception ex) {
         log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter(null, ex));
         throw new System.Exception(typeName);
     }
     return((T)CreateObject <T>(c, name));
 }
示例#5
0
 public virtual Net.Vpc.Upa.Persistence.UPAContextConfig Parse() /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Loading UPAContext", null));
     Net.Vpc.Upa.Impl.Config.ContextElement contextElement = new Net.Vpc.Upa.Impl.Config.ContextElement();
     try {
         ParseResource("META-INF/upa.xml", contextElement);
         return(ParseContextConfig(contextElement));
     } catch (Net.Vpc.Upa.Exceptions.UPAException e) {
         throw e;
     } catch (System.Exception e) {
         throw new Net.Vpc.Upa.Exceptions.UPAException(e, new Net.Vpc.Upa.Types.I18NString("UPAContextLoaderFailed"));
     }
 }
示例#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.Entity entity = (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();
     b.ExecuteNonQuery(persistenceUnitManager.GetCreateTableStatement(entity, executionContext), null, null);
 }
示例#7
0
 public static object NewInstance(System.Type clazz)
 {
     try {
         return(System.Activator.CreateInstance(clazz));
     } catch (System.Exception ex) {
         log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter(null, ex));
         throw new Net.Vpc.Upa.Exceptions.UPAException(ex, new Net.Vpc.Upa.Types.I18NString("InstantationError"));
     }
 }
示例#8
0
 public virtual Net.Vpc.Upa.Expressions.Expression ParseExpression(string expression)
 {
     try {
         return(parser.Parse(new System.IO.StringReader(expression)));
     } catch (Net.Vpc.Upa.Impl.Uql.Parser.Syntax.ParseException e) {
         log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Unable to parse Expression : " + expression, e));
         throw e;
     }
 }
        public virtual void PrepareFieldForPersist(Net.Vpc.Upa.Field field, object @value, Net.Vpc.Upa.Record userRecord, Net.Vpc.Upa.Record persistentRecord, Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext, System.Collections.Generic.ISet <Net.Vpc.Upa.Field> insertNonNullable, System.Collections.Generic.ISet <Net.Vpc.Upa.Field> insertWithDefaultValue) /* throws Net.Vpc.Upa.Exceptions.UPAException */
        {
            object userValue      = null;
            bool   userValueFound = false;

            if (!(@value is Net.Vpc.Upa.Expressions.Expression))
            {
                userValueFound = true;
                userValue      = @value;
            }
            else if (@value is Net.Vpc.Upa.Expressions.Param)
            {
                object o = ((Net.Vpc.Upa.Expressions.Param)@value).GetValue();
                //            if (o instanceof String) {
                userValue      = o;
                userValueFound = true;
            }
            else if (@value is Net.Vpc.Upa.Expressions.Literal)
            {
                object o = ((Net.Vpc.Upa.Expressions.Literal)@value).GetValue();
                //            if (o instanceof String) {
                userValue      = o;
                userValueFound = true;
            }
            //            }
            if (userValueFound)
            {
                Net.Vpc.Upa.Types.DataTypeTransform typeTransform      = Net.Vpc.Upa.Impl.Util.UPAUtils.GetTypeTransformOrIdentity(field);
                Net.Vpc.Upa.Impl.Transform.PasswordDataTypeTransform t = Net.Vpc.Upa.Impl.Util.UPAUtils.FindPasswordTransform(typeTransform);
                object v = ConvertCypherValue(t.GetCipherValue(), field.GetDataType());
                if (Net.Vpc.Upa.Impl.Util.UPAUtils.Equals(userValue, v))
                {
                    return;
                }
                //ignore insert
                userRecord.SetObject(field.GetName(), v);
            }
            else
            {
                log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Inserting non user value to password, hashing will be ignored", null));
            }
            Net.Vpc.Upa.Expressions.Expression valueExpression = (@value is Net.Vpc.Upa.Expressions.Expression) ? ((Net.Vpc.Upa.Expressions.Expression)((Net.Vpc.Upa.Expressions.Expression)@value)) : new Net.Vpc.Upa.Expressions.Param(field.GetName(), @value);
            persistentRecord.SetObject(field.GetName(), valueExpression);
        }
示例#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.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);
     }
 }
 public void LogError(string errorMessage)
 {
     try
     {
         _configDataAccess.LoggError(_outputManagerID, errorMessage);
     }
     catch (Exception ex)
     {
         _trace.TraceEvent(System.Diagnostics.TraceEventType.Error, 0, "\r\n" + ex.Message);
     }
 }
示例#12
0
        #pragma warning restore 0649

        public IGameServerConnection Run()
        {
            var configFilePath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\" + "Settings.yaml";
            var config         = Configuration.GetConfiguration <Configuration>(configFilePath);

            var modPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\Extensions";

            using (var catalog = new AggregateCatalog(
                       new AssemblyCatalog(typeof(Program).Assembly),
                       new DirectoryCatalog(modPath, "*Mod.dll")))
            {
                // iterate over all directories in .\Plugins dir and add all Plugin* dirs to catalogs
                foreach (var path in System.IO.Directory.EnumerateDirectories(modPath, "*", System.IO.SearchOption.TopDirectoryOnly))
                {
                    catalog.Catalogs.Add(new DirectoryCatalog(path, "*Mod.dll"));
                }

                _container = new CompositionContainer(catalog);

                try
                {
                    this._container.ComposeParts(this);

                    //using (_gameServerConnection = new GameServerConnection(config))
                    //{
                    _gameServerConnection = new GameServerConnection(config);

                    foreach (var gameMod in _gameMods)
                    {
                        gameMod.Start(_gameServerConnection);
                    }

                    _gameServerConnection.Connect();

//                        // wait until the user presses Enter.
//                        string input = Console.ReadLine();
//
//                        foreach (var gameMod in _gameMods)
//                        {
//                            gameMod.Stop();
//                        }

//                    }
                }
                catch (CompositionException compositionException)
                {
                    _traceSource.TraceEvent(System.Diagnostics.TraceEventType.Error, 1, compositionException.ToString());
                }
            }

            return(_gameServerConnection);
        }
示例#13
0
 public virtual void Close()
 {
     while ((stack).Count > 0)
     {
         PopContext();
     }
     if ((sessionListeners).Count > 0)
     {
         foreach (Net.Vpc.Upa.Callbacks.SessionListener sessionListener in new System.Collections.Generic.List <Net.Vpc.Upa.Callbacks.SessionListener>(sessionListeners))
         {
             sessionListener.CloseSession(this);
         }
     }
     log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Session '{'{0}'}' : Closed", null, this));
 }
示例#14
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);
     }
 }
        public CreateOutputAction()
        {
            System.Diagnostics.TraceSource trace = new System.Diagnostics.TraceSource(typeof(CreateOutputAction).Name);
            trace.Switch.Level = System.Diagnostics.SourceLevels.Error;
            string loggPath = Path.GetDirectoryName(Imi.Framework.Job.Configuration.InstanceConfig.CurrentInstance.Log.FileName);
            string loggFile = Path.Combine(loggPath, typeof(CreateOutputAction).FullName + ".log");

            Imi.Framework.Shared.Diagnostics.RollingFileTraceListener listener = new Imi.Framework.Shared.Diagnostics.RollingFileTraceListener(loggFile, 512000);
            trace.Listeners.Add(listener);

            try
            {
                _adapterLockDictionary = new Dictionary <string, ReaderWriterLockSlim>();
                _printerLockDictionary = new Dictionary <string, ReaderWriterLockSlim>();

                _outputManagerID = ConfigurationManager.AppSettings["OutputManagerID"];
                _mainService     = Convert.ToBoolean(ConfigurationManager.AppSettings["MainService"]);

                if (string.IsNullOrEmpty(_outputManagerID))
                {
                    trace.TraceEvent(System.Diagnostics.TraceEventType.Error, 0, "\r\n Could not find AppSettings value for OutputManagerID");
                }

                _configDataHandler = ConfigDataAccess.ConfigDataHandler.GetConfigDataHandlerInstance(_outputManagerID, trace);
            }
            catch (Exception ex)
            {
                trace.TraceEvent(System.Diagnostics.TraceEventType.Error, 0, "\r\n" + ex.Message);
            }

            _adapters = new Dictionary <string, IAdapter>();

            CreateAdapters();

            ThreadPool.QueueUserWorkItem(CheckAndUpdateAdaptersThread);
        }
示例#16
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);
     }
 }
示例#17
0
        public virtual object Decode(byte[] bytes)
        {
            if (bytes == null)
            {
                return(null);
            }
            string sval = System.Text.Encoding.Default.GetString(bytes);

            if ((sval.Length == 0))
            {
                return(null);
            }
            try {
                return(System.Enum.Parse(enumClass, sval));
            } catch (System.ArgumentException ex) {
                log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Unable to parse" + sval + " as enum " + (enumClass).FullName, ex));
                return(null);
            }
        }
示例#18
0
 // Add logging using a .Net trace listener
 private string M2()
 {
     try
     {
         Person person = new Person()
         {
             FirstName = "Raj", LastName = "Konduri"
         };
         var traceSource = new System.Diagnostics.TraceSource("MyLogger");
         traceSource.Switch.Level = System.Diagnostics.SourceLevels.All;
         traceSource.Listeners.Clear();
         traceSource.Listeners.Add(new HttpEventCollectorTraceListener(new Uri("http://localhost:8088"), "73f4c508-35da-4d14-9d4b-12a8d820935f"));
         traceSource.TraceEvent(System.Diagnostics.TraceEventType.Information, 2, JsonConvert.SerializeObject(person));
         return("Success");
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
示例#19
0
 public static System.Collections.Generic.ISet <string> LoadLinesSet(string name)
 {
     System.Collections.Generic.HashSet <string> set = new System.Collections.Generic.HashSet <string>();
     if (name != null)
     {
         System.IO.Stream       inputStream = null;
         System.IO.StreamReader r           = null;
         try {
             try {
                 inputStream = Net.Vpc.Upa.Impl.Util.UPAUtils.LoadResourceAsStream(name);
                 r           = new System.IO.StreamReader(inputStream);
                 string line = null;
                 while ((line = r.ReadLine()) != null)
                 {
                     line = line.Trim();
                     if (line.StartsWith("#"))
                     {
                         line = "";
                     }
                     if ((line).Length > 0)
                     {
                         set.Add(line);
                     }
                 }
             } finally {
                 if (r != null)
                 {
                     r.Close();
                 }
                 else if (inputStream != null)
                 {
                     inputStream.Close();
                 }
             }
         } catch (System.Exception e) {
             log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Unable to load resource, ignore", e));
         }
     }
     return(set);
 }
示例#20
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);
     }
 }
示例#21
0
 public virtual bool HasNext()
 {
     try {
         if (closed || (resultSet).IsClosed)
         {
             log.TraceEvent(System.Diagnostics.TraceEventType.Warning, 90, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("ResultSet closed, unable to retrieve next record", null));
         }
         updates.Clear();
         return(resultSet.NextResult());
     } catch (System.Exception e) {
         bool alreadyClosed = false;
         try {
             alreadyClosed = (resultSet).IsClosed;
         } catch (System.Exception e2) {
         }
         //ignore
         if (alreadyClosed)
         {
             return(false);
         }
         throw new Net.Vpc.Upa.Exceptions.FindException(e, new Net.Vpc.Upa.Types.I18NString("ReadQueryHasNextFailed"));
     }
 }
示例#22
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);
     }
 }
示例#23
0
 public virtual void PersistenceUnitItemScanned(Net.Vpc.Upa.ScanEvent @event)
 {
     if (listener != null)
     {
         listener.PersistenceUnitItemScanned(@event);
     }
     Net.Vpc.Upa.PersistenceUnit persistenceUnit = @event.GetPersistenceUnit();
     System.Type contract = @event.GetContract();
     System.Type type     = @event.GetVisitedType();
     if (Net.Vpc.Upa.Impl.Config.URLAnnotationStrategySupport.IsPersistenceUnitItemDefinitionListener(contract))
     {
         object i = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <System.Type, object>(instances, type);
         if (i == null)
         {
             i = persistenceUnit.GetFactory().CreateObject <object>(type);
             instances[type] = i;
         }
         Net.Vpc.Upa.Config.Decoration at = (Net.Vpc.Upa.Config.Decoration)@event.GetUserObject();
         string _filter             = at.GetString("filter");
         bool   _trackSystemObjects = at.GetBoolean("trackSystemObjects");
         //                    Callback cb = (Callback) at.getAnnotation();
         if ((_filter).Length == 0)
         {
             persistenceUnit.AddDefinitionListener((Net.Vpc.Upa.Callbacks.DefinitionListener)i, _trackSystemObjects);
         }
         else
         {
             persistenceUnit.AddDefinitionListener(_filter, (Net.Vpc.Upa.Callbacks.DefinitionListener)i, _trackSystemObjects);
         }
     }
     else if (typeof(Net.Vpc.Upa.Callbacks.PersistenceUnitListener).Equals(contract))
     {
         object i = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <System.Type, object>(instances, type);
         if (i == null)
         {
             i = persistenceUnit.GetFactory().CreateObject <object>(type);
             instances[type] = i;
         }
         persistenceUnit.AddPersistenceUnitListener((Net.Vpc.Upa.Callbacks.PersistenceUnitListener)i);
     }
     else if (typeof(Net.Vpc.Upa.Callbacks.EntityInterceptor).Equals(contract))
     {
         Net.Vpc.Upa.Callbacks.EntityInterceptor i = (Net.Vpc.Upa.Callbacks.EntityInterceptor)Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <System.Type, object>(instances, type);
         if (i == null)
         {
             try {
                 i = (Net.Vpc.Upa.Callbacks.EntityInterceptor)persistenceUnit.GetFactory().CreateObject <object>(type);
             } catch (System.Exception ex) {
                 log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter(null, ex));
             }
             if (i != null)
             {
                 instances[type] = i;
             }
         }
         if (i != null)
         {
             Net.Vpc.Upa.Config.Decoration at = (Net.Vpc.Upa.Config.Decoration)@event.GetUserObject();
             string _filter = at.GetString("filter");
             string _name   = at.GetString("name");
             if (Net.Vpc.Upa.Impl.Util.StringUtils.IsNullOrEmpty(_name))
             {
                 _name = (i.GetType()).Name;
             }
             bool _trackSystemObjects = at.GetBoolean("trackSystemObjects");
             //                    Callback cb = (Callback) at.getAnnotation();
             persistenceUnit.AddTrigger(_name, i, _filter, _trackSystemObjects);
         }
     }
     else if (typeof(Net.Vpc.Upa.EntityDescriptor).Equals(@event.GetContract()))
     {
         Net.Vpc.Upa.EntityDescriptor desc = (Net.Vpc.Upa.EntityDescriptor)@event.GetUserObject();
         persistenceUnit.AddEntity(desc);
     }
     else if (typeof(Net.Vpc.Upa.Function).Equals(@event.GetContract()))
     {
         Net.Vpc.Upa.Function          f = (Net.Vpc.Upa.Function)persistenceUnit.GetFactory().CreateObject <T>(@event.GetVisitedType());
         Net.Vpc.Upa.Config.Decoration d = (Net.Vpc.Upa.Config.Decoration)@event.GetUserObject();
         //                net.vpc.upa.config.FunctionDefinition d = type.getAnnotation();
         Net.Vpc.Upa.Types.DataType dt = Net.Vpc.Upa.Types.TypesFactory.ForPlatformType(d.GetType("returnType"));
         string n = d.GetString("name");
         if (Net.Vpc.Upa.Impl.Util.StringUtils.IsNullOrEmpty(n))
         {
             n = d.GetLocationType();
         }
         persistenceUnit.GetExpressionManager().AddFunction(n, dt, f);
     }
     else if (typeof(Net.Vpc.Upa.Callback).Equals(@event.GetContract()))
     {
         Net.Vpc.Upa.Callback callbackType = (Net.Vpc.Upa.Callback)persistenceUnit.GetFactory().CreateObject <T>(@event.GetVisitedType());
         persistenceUnit.AddCallback(callbackType);
     }
     else if (typeof(Net.Vpc.Upa.EntitySecurityManager).Equals(@event.GetContract()))
     {
         Net.Vpc.Upa.Config.Decoration     d    = (Net.Vpc.Upa.Config.Decoration)@event.GetUserObject();
         Net.Vpc.Upa.EntitySecurityManager secu = (Net.Vpc.Upa.EntitySecurityManager)persistenceUnit.GetFactory().CreateObject <T>(@event.GetVisitedType());
         Net.Vpc.Upa.Impl.Config.EntityConfiguratorProcessor.ConfigureOneShot(persistenceUnit, new Net.Vpc.Upa.Impl.Util.SimpleEntityFilter(new Net.Vpc.Upa.Impl.Util.EqualsStringFilter(d.GetString("entity"), false, false), true), new Net.Vpc.Upa.Impl.Config.SecurityManagerEntityConfigurator(secu));
     }
     else if (@event.GetUserObject() is Net.Vpc.Upa.Impl.Config.DecoratedMethodScan)
     {
         Net.Vpc.Upa.Impl.Config.DecoratedMethodScan dms  = (Net.Vpc.Upa.Impl.Config.DecoratedMethodScan)@event.GetUserObject();
         Net.Vpc.Upa.Config.Decoration callbackDecoration = dms.GetDecoration();
         ConfigureMethodCallback(type, dms.GetMethod(), callbackDecoration, persistenceUnit);
     }
 }
示例#24
0
        public virtual System.Collections.Generic.IList <Net.Vpc.Upa.Impl.Config.DefaultConfigFilterItem> GetDefaultConfigFilterItem(string url)
        {
            System.Collections.Generic.IList <Net.Vpc.Upa.Impl.Config.DefaultConfigFilterItem> found = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <string, System.Collections.Generic.IList <Net.Vpc.Upa.Impl.Config.DefaultConfigFilterItem> >(cache, url);
            if (found == null)
            {
                found = new System.Collections.Generic.List <Net.Vpc.Upa.Impl.Config.DefaultConfigFilterItem>();
                foreach (Net.Vpc.Upa.Impl.Config.DefaultConfigFilterItem defaultConfigFilterItem in items)
                {
                    if (defaultConfigFilterItem.GetLibFilter().Accept(url))
                    {
                        Net.Vpc.Upa.Impl.Util.Classpath.PatternListClassNameFilter p = defaultConfigFilterItem.GetTypeFilter();
                        if (p.GetUserPatterns().Length == 0)
                        {
                            found.Add(defaultConfigFilterItem);
                        }
                        else
                        {
                            foreach (string pattern in p.GetUserPatterns())
                            {
                                System.Text.StringBuilder prefix = new System.Text.StringBuilder();
                                char[] patternCharArray          = pattern.ToCharArray();
                                int    x         = 0;
                                bool   exitWhile = false;
                                while (!exitWhile && x < patternCharArray.Length)
                                {
                                    char c = patternCharArray[x];
                                    switch (c)
                                    {
                                    case '*':
                                    case '?':
                                    {
                                        if ((prefix).Length > 0 && prefix.ToString().EndsWith("."))
                                        {
                                        }
                                        else
                                        {
                                            while ((prefix).Length > 0 && !prefix.ToString().EndsWith("."))
                                            {
                                                prefix.Remove((prefix).Length - 1, 1);
                                            }
                                        }
                                        exitWhile = true;
                                        break;
                                    }

                                    default:
                                    {
                                        prefix.Append(patternCharArray[x]);
                                        break;
                                    }
                                    }
                                    x++;
                                }
                                if ((prefix).Length > 0)
                                {
                                    string rr = prefix.ToString().Replace('.', '/');
                                    Net.Vpc.Upa.Impl.Util.Classpath.ClassPathRoot cr = new Net.Vpc.Upa.Impl.Util.Classpath.ClassPathRoot(url);
                                    try {
                                        if (cr.Contains(rr))
                                        {
                                            found.Add(defaultConfigFilterItem);
                                            break;
                                        }
                                    } catch (System.Exception e) {
                                        log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter(null, e));
                                    }
                                }
                                else
                                {
                                    found.Add(defaultConfigFilterItem);
                                    break;
                                }
                            }
                        }
                    }
                }
                cache[url] = found;
            }
            return(found);
        }
示例#25
0
        public virtual Net.Vpc.Upa.Persistence.QueryResult ExecuteQuery(string query, Net.Vpc.Upa.Types.DataTypeTransform[] types, System.Collections.Generic.IList <Net.Vpc.Upa.Persistence.Parameter> queryParameters, bool updatable) /* throws Net.Vpc.Upa.Exceptions.UPAException */
        {
            if (closed)
            {
                throw new System.ArgumentException("Connection closed");
            }
            long startTime = System.DateTime.Now.Ticks;

            System.Exception error = null;
            try {
                try {
                    System.Data.IDbCommand s = null;
                    s             = connection.CreateCommand();
                    s.CommandText = query;
                    s.CommandType = System.Data.CommandType.Text;
                    int mi    = 0;
                    int index = 1;
                    if (queryParameters != null)
                    {
                        foreach (Net.Vpc.Upa.Persistence.Parameter @value in queryParameters)
                        {
                            Net.Vpc.Upa.Types.DataTypeTransform         transform  = @value.GetTypeTransform();
                            Net.Vpc.Upa.Impl.Persistence.TypeMarshaller marshaller = marshallManager.GetTypeMarshaller(transform);
                            marshaller.Write(@value.GetValue(), index, s);
                            index += marshaller.GetSize();
                            mi++;
                        }
                    }
                    System.Data.IDataReader resultSet = s.ExecuteReader();
                    if (types == null)
                    {
                        int           columnCount;
                        System.Type[] colTypes;
                        columnCount = resultSet.FieldCount;
                        colTypes    = new System.Type[columnCount];
                        for (int i = 0; i < columnCount; i++)
                        {
                            colTypes[i] = resultSet.GetFieldType(i);
                        }
                        types = new Net.Vpc.Upa.Types.DataTypeTransform[columnCount];
                        for (int i = 0; i < types.Length; i++)
                        {
                            types[i] = new Net.Vpc.Upa.Impl.Transform.IdentityDataTypeTransform(Net.Vpc.Upa.Types.TypesFactory.ForPlatformType(colTypes[i]));
                        }
                    }
                    Net.Vpc.Upa.Impl.Persistence.TypeMarshaller[] marshallers = new Net.Vpc.Upa.Impl.Persistence.TypeMarshaller[types.Length];
                    for (int i = 0; i < marshallers.Length; i++)
                    {
                        marshallers[i] = marshallManager.GetTypeMarshaller(types[i]);
                    }
                    //        Log.log(PersistenceUnitManager.DB_PRE_NATIVE_QUERY_LOG,"[BEFORE] "+currentQueryInfo+" :=" + currentQuery);
                    return(new Net.Vpc.Upa.Impl.Persistence.DefaultQueryResult(resultSet, s, marshallers, types));
                } catch (System.Exception ee) {
                    error = ee;
                    throw ee;
                } finally {
                    if (/*IsLoggable=*/ true)
                    {
                        if (error != null)
                        {
                            log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter(nameDebugString + " [Error] executeQuery " + query + " :: parameters = " + queryParameters, error));
                        }
                        else
                        {
                            log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("{0}   executeQuery    {1} ;; parameters = {2} ;; time = {3}", null, new object[] { nameDebugString, query, queryParameters, (System.DateTime.Now.Ticks - startTime) }));
                        }
                    }
                }
            } catch (System.Exception ex) {
                throw CreateUPAException(ex, "ExecuteQueryFailedException", query);
            }
        }
示例#26
0
 internal virtual System.Type ConfigureClassURL(string src, string path) /* throws System.Exception */
 {
     if (path.StartsWith("/"))
     {
         path = path.Substring(1);
     }
     //        URL url = contextClassLoader.getResource(path);
     if (path.EndsWith(".class"))
     {
         string cls      = path.Substring(0, (path).Length - (".class").Length).Replace('/', '.');
         string pck      = null;
         int    endIndex = cls.LastIndexOf('.');
         if (endIndex > 0)
         {
             pck = cls.Substring(0, endIndex);
         }
         int  dollar         = cls.IndexOf('$');
         bool anonymousClass = false;
         bool innerClass     = false;
         if (dollar >= 0)
         {
             innerClass = true;
             //special class
             if (dollar + 1 < (cls).Length)
             {
                 string subName = cls.Substring(dollar + 1);
                 if (subName != null && (subName).Length > 0 && char.IsDigit(subName[0]))
                 {
                     anonymousClass = true;
                 }
             }
         }
         if (!anonymousClass)
         {
             if (configFilter.AcceptClassName(src, cls))
             {
                 System.Type aClass = null;
                 try {
                     aClass = System.Type.GetType(cls, false, contextClassLoader);
                 } catch (System.Exception e) {
                     log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Unable to load class {0} for UPA configuration. Ignored", null, cls));
                 }
                 if (aClass != null)
                 {
                     if (configFilter.AcceptClass(src, cls, aClass))
                     {
                         if (classFilter == null || classFilter.Accept(aClass))
                         {
                             return(aClass);
                         }
                     }
                 }
             }
             else
             {
             }
         }
     }
     //                      System.out.println(path);
     //                      System.out.println("\tSOURCE  " + src);
     //                      System.out.println("\tSYS URL " + sysURL);
     //                      System.out.println("\tAPP URL " + url);
     //                      System.out.println("\tPKG   " + (pck==null?"":Package.getPackage(pck)));
     //                      System.out.println("\tCLASS " + Class.forName(cls,false,contextClassLoader));
     return(null);
 }
示例#27
0
        public virtual void Visit(System.Type type, Net.Vpc.Upa.Impl.Config.Decorations.DecorationFilter decorationFilter)
        {
            Net.Vpc.Upa.FlagSet <Net.Vpc.Upa.Config.DecorationTarget> kind = decorationFilter.GetDecorationTargets();
            bool types   = kind.Contains(Net.Vpc.Upa.Config.DecorationTarget.TYPE);
            bool methods = kind.Contains(Net.Vpc.Upa.Config.DecorationTarget.METHOD);
            bool fields  = kind.Contains(Net.Vpc.Upa.Config.DecorationTarget.FIELD);

            //        boolean tree = (kind & DecorationFilter.HIERARCHICAL) != 0;
            //        boolean someType = false;
            if (types)
            {
                System.Attribute[] annotations = null;
                try {
                    annotations = type.GetAnnotations();
                } catch (System.Exception e) {
                    log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Ignored type {0} : {1}", null, new object[] { (type).FullName, e.ToString() }));
                }
                //ignore
                if (annotations != null)
                {
                    int pos = 0;
                    foreach (System.Attribute a in annotations)
                    {
                        if (decorationFilter.AcceptTypeDecoration((a.GetType()).FullName, (type).FullName, type))
                        {
                            decorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.TYPE, (type).FullName, null, pos));
                            newDecorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.TYPE, (type).FullName, null, pos));
                        }
                        //                    someType = true;
                        pos++;
                    }
                }
            }
            if (methods)
            {
                System.Reflection.MethodInfo[] declaredMethods = null;
                try {
                    declaredMethods = type.GetMethods(System.Reflection.BindingFlags.Default);
                } catch (System.Exception e) {
                    log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Ignored type {0} : {1}", null, new object[] { (type).FullName, e.ToString() }));
                }
                //ignore
                if (declaredMethods != null)
                {
                    foreach (System.Reflection.MethodInfo method in declaredMethods)
                    {
                        int pos = 0;
                        foreach (System.Attribute a in method.GetAnnotations())
                        {
                            string methodSig = Net.Vpc.Upa.Impl.Util.PlatformUtils.GetMethodSignature(method);
                            if (decorationFilter.AcceptMethodDecoration((a.GetType()).FullName, methodSig, (type).FullName, method))
                            {
                                decorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.METHOD, ((method).DeclaringType).FullName, methodSig, pos));
                                newDecorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.METHOD, ((method).DeclaringType).FullName, methodSig, pos));
                            }
                            pos++;
                        }
                    }
                }
            }
            if (fields)
            {
                System.Reflection.FieldInfo[] declaredFields = null;
                try {
                    declaredFields = type.GetFields(System.Reflection.BindingFlags.Default);
                } catch (System.Exception e) {
                    log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Ignored type {0} : {1}", null, new object[] { (type).FullName, e.ToString() }));
                }
                //ignore
                if (declaredFields != null)
                {
                    foreach (System.Reflection.FieldInfo field in declaredFields)
                    {
                        int pos = 0;
                        foreach (System.Attribute a in field.GetAnnotations())
                        {
                            if (decorationFilter.AcceptFieldDecoration((a.GetType()).FullName, (field).Name, (type).FullName, field))
                            {
                                decorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.FIELD, ((field).DeclaringType).FullName, (field).Name, pos));
                                newDecorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.FIELD, ((field).DeclaringType).FullName, (field).Name, pos));
                            }
                            pos++;
                        }
                    }
                }
            }
        }
 public virtual void AddError(string error) /* throws Net.Vpc.Upa.Exceptions.UPAException */
 {
     errors.Add(error);
     log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("[ERROR in Entity {0}.{1}] {2}", null, new object[] { defaultEntity.GetPersistenceUnit().GetName(), defaultEntity.GetName(), error }));
 }
示例#29
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            logger.TraceEvent(System.Diagnostics.TraceEventType.Information, 0, "Program start.");

            CheckARMTESHostAvailablity();
        }
示例#30
0
        public virtual void Visit(Net.Vpc.Upa.Config.Decoration d)
        {
            string typeName = d.GetLocationType();

            try {
                if (enableLog && typeName.ToLower().Contains("upalock"))
                {
                    log.TraceEvent(System.Diagnostics.TraceEventType.Error, 100, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("\t[{0}] unexpected registration of {1}", null, new object[] { name, typeName }));
                }
            } catch (System.Exception e) {
                System.Console.WriteLine(e);
            }
            string methodOrFieldName = d.GetLocation();

            Net.Vpc.Upa.Config.DecorationTarget targetType = d.GetTarget();
            if (enableLog && /*IsLoggable=*/ true)
            {
                log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 40, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("\t[{0}] register Decoration {1}", null, new object[] { name, d }));
            }
            Net.Vpc.Upa.Impl.Config.Decorations.DefaultDecorationRepositoryTypeInfo typeInfo = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <string, Net.Vpc.Upa.Impl.Config.Decorations.DefaultDecorationRepositoryTypeInfo>(decorationsByType, typeName);
            if (typeInfo == null)
            {
                typeInfo                    = new Net.Vpc.Upa.Impl.Config.Decorations.DefaultDecorationRepositoryTypeInfo();
                typeInfo.typeName           = typeName;
                decorationsByType[typeName] = typeInfo;
            }
            if (targetType != default(Net.Vpc.Upa.Config.DecorationTarget))
            {
                switch (targetType)
                {
                case Net.Vpc.Upa.Config.DecorationTarget.TYPE:
                {
                    if (typeInfo.decorations == null)
                    {
                        typeInfo.decorations = new System.Collections.Generic.List <Net.Vpc.Upa.Config.Decoration>(3);
                    }
                    System.Collections.Generic.IList <Net.Vpc.Upa.Config.Decoration> m = typeInfo.decorations;
                    int found = -1;
                    for (int i = 0; i < (m).Count; i++)
                    {
                        Net.Vpc.Upa.Config.Decoration m1 = m[i];
                        if (m1.GetName().Equals(d.GetName()) && m1.GetPosition() == d.GetPosition())
                        {
                            found = i;
                            break;
                        }
                    }
                    if (found < 0)
                    {
                        m.Add(d);
                    }
                    break;
                }

                case Net.Vpc.Upa.Config.DecorationTarget.METHOD:
                {
                    if (typeInfo.methods == null)
                    {
                        typeInfo.methods = new System.Collections.Generic.Dictionary <string, System.Collections.Generic.IList <Net.Vpc.Upa.Config.Decoration> >();
                        System.Collections.Generic.IList <Net.Vpc.Upa.Config.Decoration> m = new System.Collections.Generic.List <Net.Vpc.Upa.Config.Decoration>();
                        typeInfo.methods[methodOrFieldName] = m;
                        m.Add(d);
                    }
                    else
                    {
                        System.Collections.Generic.IList <Net.Vpc.Upa.Config.Decoration> m = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <string, System.Collections.Generic.IList <Net.Vpc.Upa.Config.Decoration> >(typeInfo.methods, methodOrFieldName);
                        if (m == null)
                        {
                            m = new System.Collections.Generic.List <Net.Vpc.Upa.Config.Decoration>();
                            typeInfo.methods[methodOrFieldName] = m;
                        }
                        int found = -1;
                        for (int i = 0; i < (m).Count; i++)
                        {
                            Net.Vpc.Upa.Config.Decoration m1 = m[i];
                            if (m1.GetName().Equals(d.GetName()) && m1.GetPosition() == d.GetPosition())
                            {
                                found = i;
                                break;
                            }
                        }
                        if (found < 0)
                        {
                            m.Add(d);
                        }
                    }
                    break;
                }

                case Net.Vpc.Upa.Config.DecorationTarget.FIELD:
                {
                    if (typeInfo.fields == null)
                    {
                        typeInfo.fields = new System.Collections.Generic.Dictionary <string, System.Collections.Generic.IList <Net.Vpc.Upa.Config.Decoration> >();
                        System.Collections.Generic.IList <Net.Vpc.Upa.Config.Decoration> m = new System.Collections.Generic.List <Net.Vpc.Upa.Config.Decoration>();
                        typeInfo.fields[methodOrFieldName] = m;
                        m.Add(d);
                    }
                    else
                    {
                        System.Collections.Generic.IList <Net.Vpc.Upa.Config.Decoration> m = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <string, System.Collections.Generic.IList <Net.Vpc.Upa.Config.Decoration> >(typeInfo.fields, methodOrFieldName);
                        if (m == null)
                        {
                            m = new System.Collections.Generic.List <Net.Vpc.Upa.Config.Decoration>();
                            typeInfo.fields[methodOrFieldName] = m;
                        }
                        int found = -1;
                        for (int i = 0; i < (m).Count; i++)
                        {
                            Net.Vpc.Upa.Config.Decoration m1 = m[i];
                            if (m1.GetName().Equals(d.GetName()) && m1.GetPosition() == d.GetPosition())
                            {
                                found = i;
                                break;
                            }
                        }
                        if (found < 0)
                        {
                            m.Add(d);
                        }
                    }
                    break;
                }
                }
            }
            System.Collections.Generic.ISet <string> tt = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <string, System.Collections.Generic.ISet <string> >(typesByDecoration, d.GetName());
            if (tt == null)
            {
                tt = new System.Collections.Generic.HashSet <string>();
                typesByDecoration[d.GetName()] = tt;
            }
            tt.Add(typeName);
        }