Example #1
0
        // variable listeners

        /// <summary>
        /// Returns a map of all variable listeners defined on this activity or any of
        /// its parents activities. The map's key is the id of the respective activity
        /// the listener is defined on.
        /// </summary>
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: public java.util.Map<String, java.util.List<org.camunda.bpm.engine.delegate.VariableListener<?>>> getVariableListeners(String eventName, boolean includeCustomListeners)
        public virtual IDictionary <string, IList <VariableListener <object> > > getVariableListeners(string eventName, bool includeCustomListeners)
        {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: java.util.Map<String, java.util.Map<String, java.util.List<org.camunda.bpm.engine.delegate.VariableListener<?>>>> listenerCache;
            IDictionary <string, IDictionary <string, IList <VariableListener <object> > > > listenerCache;

            if (includeCustomListeners)
            {
                if (resolvedVariableListeners == null)
                {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: resolvedVariableListeners = new java.util.HashMap<String, java.util.Map<String,java.util.List<org.camunda.bpm.engine.delegate.VariableListener<?>>>>();
                    resolvedVariableListeners = new Dictionary <string, IDictionary <string, IList <VariableListener <object> > > >();
                }

                listenerCache = resolvedVariableListeners;
            }
            else
            {
                if (resolvedBuiltInVariableListeners == null)
                {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: resolvedBuiltInVariableListeners = new java.util.HashMap<String, java.util.Map<String,java.util.List<org.camunda.bpm.engine.delegate.VariableListener<?>>>>();
                    resolvedBuiltInVariableListeners = new Dictionary <string, IDictionary <string, IList <VariableListener <object> > > >();
                }
                listenerCache = resolvedBuiltInVariableListeners;
            }

//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: java.util.Map<String, java.util.List<org.camunda.bpm.engine.delegate.VariableListener<?>>> resolvedListenersForEvent = listenerCache.get(eventName);
            IDictionary <string, IList <VariableListener <object> > > resolvedListenersForEvent = listenerCache[eventName];

            if (resolvedListenersForEvent == null)
            {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: resolvedListenersForEvent = new java.util.HashMap<String, java.util.List<org.camunda.bpm.engine.delegate.VariableListener<?>>>();
                resolvedListenersForEvent = new Dictionary <string, IList <VariableListener <object> > >();
                listenerCache[eventName]  = resolvedListenersForEvent;

                CmmnActivity currentActivity = this;

                while (currentActivity != null)
                {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: java.util.List<org.camunda.bpm.engine.delegate.VariableListener<?>> localListeners = null;
                    IList <VariableListener <object> > localListeners = null;
                    if (includeCustomListeners)
                    {
                        localListeners = currentActivity.getVariableListenersLocal(eventName);
                    }
                    else
                    {
                        localListeners = currentActivity.getBuiltInVariableListenersLocal(eventName);
                    }

                    if (localListeners != null && localListeners.Count > 0)
                    {
                        resolvedListenersForEvent[currentActivity.Id] = localListeners;
                    }

                    currentActivity = currentActivity.Parent;
                }
            }

            return(resolvedListenersForEvent);
        }