Esempio n. 1
0
        private static void ProcessTopClause(Node topElement)
        {
            var  siblingsAfterTop = topElement.SiblingsAfterChild(topElement);
            Node numberNode       = null;
            Node parenNode        = null;

            foreach (var topSibling in siblingsAfterTop)
            {
                if (topSibling.Name.Equals(SqlStructureConstants.ENAME_EXPRESSION_PARENS))
                {
                    parenNode = topSibling;
                    break;
                }
                if (topSibling.Name.Equals(SqlStructureConstants.ENAME_NUMBER_VALUE))
                {
                    numberNode = topSibling;
                }
            }
            if (numberNode != null && parenNode == null)
            {
                Node newChild = new NodeImpl()
                {
                    Name      = numberNode.Name,
                    TextValue = numberNode.TextValue
                };

                numberNode.Name      = SqlStructureConstants.ENAME_EXPRESSION_PARENS;
                numberNode.TextValue = string.Empty;
                numberNode.InsertChildAtIndex(newChild, 0);
            }
        }
Esempio n. 2
0
        public void ProcessTransition(TransitionImpl transition, FlowImpl flow, DbSession dbSession)
        {
            NodeImpl destination = (NodeImpl)transition.To;

            flow.Node = destination;

            if (destination is ActivityStateImpl)
            {
                ProcessActivityState((ActivityStateImpl)destination, flow, dbSession);
            }
            else if (destination is ProcessStateImpl)
            {
                //ProcessProcessState((ProcessStateImpl)destination, executionContext, dbSession);
            }
            else if (destination is DecisionImpl)
            {
                ProcessDecision((DecisionImpl)destination, flow, dbSession);
            }
            else if (destination is ForkImpl)
            {
                ProcessFork((ForkImpl)destination, flow, dbSession);
            }
            else if (destination is JoinImpl)
            {
                ProcessJoin((JoinImpl)destination, flow, dbSession);
            }
            else if (destination is EndStateImpl)
            {
                ProcessEndState((EndStateImpl)destination, flow, dbSession);
            }
            else
            {
                throw new SystemException("");
            }
        }
Esempio n. 3
0
        public virtual void evaluateExpressionStack()
        {
            Node @operator = null;

            if (operatorStack.Count == 0)
            {
                throw new Exception("not operators on stack");
            }

            @operator = operatorStack.Pop();

            //TODO ensure the type is accurate.
            //assert false : "this needs to fail until i fix it";
            if (@operator.Type.Equals(NodeType.EqualEqualType) && operandStack.Count >= 2)
            {
                NodeImpl r = (NodeImpl)operandStack.Pop();
                NodeImpl l = (NodeImpl)operandStack.Pop();

                ActivationFrame frame = activationFrameStack.peek();

                object rReal = r.getRealValue(frame);
                object lreal = l.getRealValue(frame);

                bool        equalEqualEval = rReal.Equals(lreal);
                BooleanNode booleanNode    = new BooleanNode();
                FinalNode   finalNode      = new FinalNode();
                finalNode.DataString = equalEqualEval;
                booleanNode.addInst(finalNode);

                operandStack.Push(booleanNode);
            }
        }
Esempio n. 4
0
        private void node(XmlElement nodeElement, NodeImpl node, ProcessBlockImpl processBlock)
        {
            node.ArrivingTransitions = new ListSet();
            node.LeavingTransitions  = new ListSet();

            IEnumerator iter = nodeElement.GetChildElements("transition").GetEnumerator();

            while (iter.MoveNext())
            {
                XmlElement     transitionElement = (XmlElement)iter.Current;
                TransitionImpl transition        = new TransitionImpl();
                transition.ProcessDefinition = ProcessDefinition;
                transition.From = node;
                if (node is JoinImpl)
                {
                    this.joinTransition(transitionElement, transition, processBlock);
                }
                else
                {
                    this.transition(transitionElement, transition, processBlock);
                }

                node.LeavingTransitions.Add(transition);
            }


            this.definitionObject(nodeElement, node, processBlock);

            //把所有的Node加到集合中
            this.addReferencableObject(node.Name, processBlock, typeof(INode), node);
        }
        internal static NodeImpl GetInstance([CallerMemberName] string callerName = "")
        {
            var instance = new NodeImpl();

            InstanceFactory(ref instance, callerName);
            return(instance);
        }
Esempio n. 6
0
        /// <summary>
        /// left outer join leave alone
        /// right outer join throw error - put warning in sql
        /// inner joins order clauses with parent alias field firest
        /// </summary>
        /// <param name="joinBody"></param>
        /// <param name="parentAlias"></param>
        private static void ValidateJoinReferenceRules(Node joinBody, Node parentAlias, Node joinType)
        {
            bool innerJoin = true;
            bool leftJoin  = true;

            foreach (var joinclause in joinType.Children)
            {
                if (joinclause.TextValue.Equals("OUTER"))
                {
                    innerJoin = false;
                }
                else if (joinclause.TextValue.Equals("RIGHT"))
                {
                    leftJoin = false;
                }
            }
            if (!innerJoin)
            {
                if (!leftJoin)
                {
                    Node errorMeswsage = new NodeImpl()
                    {
                        Name      = SqlStructureConstants.ENAME_COMMENT_SINGLELINE,
                        TextValue = "WARNING! Right Outer Join Not Permitted"
                    };
                    joinType.Parent.InsertChildBefore(errorMeswsage, joinType);
                }
            }
            else
            {
                ValidateJoinTableOrder(joinBody, parentAlias);
            }
        }
Esempio n. 7
0
 public void StartServer()
 {
     StartAdbPort();
     StartApp();
     ScreenImpl.setIFace(this);
     NodeImpl.setIFace(this);
     ScreenServer.Run(LISTEN_PORT, this);
 }
Esempio n. 8
0
        public virtual void addInst(Node instruction)
        {
            NodeImpl nodeImpl = (NodeImpl)instruction;

            if (nodeImpl != null && nodeImpl.parentNode == null)
            {
                nodeImpl.parentNode = this;
            }
            instructions.Add(instruction);
        }
        public void StrangeBehaviour()
        {
            ConfigurationNode parentNode = new NodeImpl("parent");
            ConfigurationNode childNode = new NodeImpl("child");
            parentNode.AddNode(childNode);

            ApplicationNode.AddNode(parentNode);

            Assert.AreEqual("child", childNode.Name);
            Assert.AreEqual("parent", parentNode.Name);
        }
Esempio n. 10
0
        public void RenameNodeChangesIndex()
        {
            ConfigurationNode childNode = new NodeImpl("Test");
            ApplicationNode.AddNode(childNode);
            childNode.Name = "test3";

            ConfigurationNode childNode2 = new NodeImpl("Test2");
            ApplicationNode.AddNode(childNode2);

            childNode2.Name = ServiceHelper.GetNameCreationService(ServiceProvider).GetUniqueName("Test", childNode, childNode.Parent);
        }
        public void StrangeBehaviour()
        {
            ConfigurationNode parentNode = new NodeImpl("parent");
            ConfigurationNode childNode  = new NodeImpl("child");

            parentNode.AddNode(childNode);

            ApplicationNode.AddNode(parentNode);

            Assert.AreEqual("child", childNode.Name);
            Assert.AreEqual("parent", parentNode.Name);
        }
        public void RenameNodeChangesIndex()
        {
            ConfigurationNode childNode = new NodeImpl("Test");

            ApplicationNode.AddNode(childNode);
            childNode.Name = "test3";

            ConfigurationNode childNode2 = new NodeImpl("Test2");

            ApplicationNode.AddNode(childNode2);

            childNode2.Name = ServiceHelper.GetNameCreationService(ServiceProvider).GetUniqueName("Test", childNode, childNode.Parent);
        }
Esempio n. 13
0
        //private const String queryFindActionsByEventType = "select a from a in class NetBpm.Workflow.Definition.Impl.ActionImpl " +
        //    "where a.EventType = ? " +
        //    "  and a.DefinitionObjectId = ? ";

        //public void RunActionsForEvent(EventType eventType, Int64 definitionObjectId, ExecutionContextImpl executionContext)
        //{
        //    log.Debug("processing '" + eventType + "' events for executionContext " + executionContext);

        //    DbSession dbSession = executionContext.DbSession;

        //    // find all actions for definitionObject on the given eventType
        //    Object[] values = new Object[] {eventType, definitionObjectId};
        //    IType[] types = new IType[] {DbType.INTEGER, DbType.LONG};

        //    IList actions = dbSession.Find(queryFindActionsByEventType, values, types);
        //    IEnumerator iter = actions.GetEnumerator();
        //    log.Debug("list" + actions);
        //    while (iter.MoveNext())
        //    {
        //        ActionImpl action = (ActionImpl) iter.Current;
        //        log.Debug("action: " + action);
        //        delegationHelper.DelegateAction(action.ActionDelegation, executionContext);
        //    }
        //    log.Debug("ende runActionsForEvent!");
        //}

        public void ProcessTransition(TransitionImpl transition, ExecutionContextImpl executionContext, DbSession dbSession)
        {
            log.Debug("processing transition '" + transition + "' for flow '" + executionContext.GetFlow() + "'");

            // trigger all the actions scheduled for this transition
            delegationService.RunActionsForEvent(EventType.TRANSITION, transition.Id, executionContext, dbSession);

            // first set the state of the execution context and the flow
            // to the node that is going to be processed
            FlowImpl flow        = (FlowImpl)executionContext.GetFlow();
            NodeImpl destination = (NodeImpl)transition.To;

            flow.Node = destination;
            executionContext.SetNode(destination);

            // note : I want to keep the engine methods grouped in this class, that is why I
            // didn't use inheritance but used an instanceof-switch instead.

            if (destination is ActivityStateImpl)
            {
                ProcessActivityState((ActivityStateImpl)destination, executionContext, dbSession);
            }
            else if (destination is ProcessStateImpl)
            {
                ProcessProcessState((ProcessStateImpl)destination, executionContext, dbSession);
            }
            else if (destination is DecisionImpl)
            {
                ProcessDecision((DecisionImpl)destination, executionContext, dbSession);
            }
            else if (destination is ForkImpl)
            {
                ProcessFork((ForkImpl)destination, executionContext, dbSession);
            }
            else if (destination is JoinImpl)
            {
                ProcessJoin((JoinImpl)destination, executionContext, dbSession);
            }
            else if (destination is EndStateImpl)
            {
                ProcessEndState((EndStateImpl)destination, executionContext, dbSession);
            }
            else
            {
                throw new SystemException("");
            }
        }
Esempio n. 14
0
        private static Node CreateIsolationNode()
        {
            Node setContainer = new NodeImpl()
            {
                Name = SqlStructureConstants.ENAME_SQL_STATEMENT
            };

            setContainer.InsertChildAtIndex(new NodeImpl()
            {
                Name      = SqlStructureConstants.ENAME_SEMICOLON,
                TextValue = ";"
            }, 0);
            setContainer.InsertChildAtIndex(new NodeImpl()
            {
                Name      = SqlStructureConstants.ENAME_OTHERKEYWORD,
                TextValue = "UNCOMMITTED"
            }, 0);
            setContainer.InsertChildAtIndex(new NodeImpl()
            {
                Name      = SqlStructureConstants.ENAME_OTHERKEYWORD,
                TextValue = "READ"
            }, 0);
            setContainer.InsertChildAtIndex(new NodeImpl()
            {
                Name      = SqlStructureConstants.ENAME_OTHERKEYWORD,
                TextValue = "LEVEL"
            }, 0);
            setContainer.InsertChildAtIndex(new NodeImpl()
            {
                Name      = SqlStructureConstants.ENAME_OTHERKEYWORD,
                TextValue = "ISOLATION"
            }, 0);
            setContainer.InsertChildAtIndex(new NodeImpl()
            {
                Name      = SqlStructureConstants.ENAME_OTHERKEYWORD,
                TextValue = "TRANSACTION"
            }, 0);
            setContainer.InsertChildAtIndex(new NodeImpl()
            {
                Name      = SqlStructureConstants.ENAME_OTHERKEYWORD,
                TextValue = "SET"
            }, 0);


            return(setContainer);
        }
Esempio n. 15
0
 public void SetNode(INode node)
 {
     this._node = (NodeImpl)node;
 }
 static partial void InstanceFactory(ref NodeImpl instance, [CallerMemberName] string callerName = "");
Esempio n. 17
0
        protected internal virtual void DoRegisterTypes(ModelBuilder bpmnModelBuilder)
        {
            ActivationConditionImpl.RegisterType(bpmnModelBuilder);
            ActivityImpl.RegisterType(bpmnModelBuilder);
            ArtifactImpl.RegisterType(bpmnModelBuilder);
            AssignmentImpl.RegisterType(bpmnModelBuilder);
            AssociationImpl.RegisterType(bpmnModelBuilder);
            AuditingImpl.RegisterType(bpmnModelBuilder);
            BaseElementImpl.RegisterType(bpmnModelBuilder);
            BoundaryEventImpl.RegisterType(bpmnModelBuilder);
            BusinessRuleTaskImpl.RegisterType(bpmnModelBuilder);
            CallableElementImpl.RegisterType(bpmnModelBuilder);
            CallActivityImpl.RegisterType(bpmnModelBuilder);
            CallConversationImpl.RegisterType(bpmnModelBuilder);
            CancelEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            CatchEventImpl.RegisterType(bpmnModelBuilder);
            CategoryValueImpl.RegisterType(bpmnModelBuilder);
            CategoryValueRef.RegisterType(bpmnModelBuilder);
            ChildLaneSet.RegisterType(bpmnModelBuilder);
            CollaborationImpl.RegisterType(bpmnModelBuilder);
            CompensateEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            ConditionImpl.RegisterType(bpmnModelBuilder);
            ConditionalEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            CompletionConditionImpl.RegisterType(bpmnModelBuilder);
            ComplexBehaviorDefinitionImpl.RegisterType(bpmnModelBuilder);
            ComplexGatewayImpl.RegisterType(bpmnModelBuilder);
            ConditionExpressionImpl.RegisterType(bpmnModelBuilder);
            ConversationAssociationImpl.RegisterType(bpmnModelBuilder);
            ConversationImpl.RegisterType(bpmnModelBuilder);
            ConversationLinkImpl.RegisterType(bpmnModelBuilder);
            ConversationNodeImpl.RegisterType(bpmnModelBuilder);
            CorrelationKeyImpl.RegisterType(bpmnModelBuilder);
            CorrelationPropertyBindingImpl.RegisterType(bpmnModelBuilder);
            CorrelationPropertyImpl.RegisterType(bpmnModelBuilder);
            CorrelationPropertyRef.RegisterType(bpmnModelBuilder);
            CorrelationPropertyRetrievalExpressionImpl.RegisterType(bpmnModelBuilder);
            CorrelationSubscriptionImpl.RegisterType(bpmnModelBuilder);
            DataAssociationImpl.RegisterType(bpmnModelBuilder);
            DataInputAssociationImpl.RegisterType(bpmnModelBuilder);
            DataInputImpl.RegisterType(bpmnModelBuilder);
            DataInputRefs.RegisterType(bpmnModelBuilder);
            DataOutputAssociationImpl.RegisterType(bpmnModelBuilder);
            DataOutputImpl.RegisterType(bpmnModelBuilder);
            DataOutputRefs.RegisterType(bpmnModelBuilder);
            DataPath.RegisterType(bpmnModelBuilder);
            DataStateImpl.RegisterType(bpmnModelBuilder);
            DataObjectImpl.RegisterType(bpmnModelBuilder);
            DataObjectReferenceImpl.RegisterType(bpmnModelBuilder);
            DataStoreImpl.RegisterType(bpmnModelBuilder);
            DefinitionsImpl.RegisterType(bpmnModelBuilder);
            DocumentationImpl.RegisterType(bpmnModelBuilder);
            EndEventImpl.RegisterType(bpmnModelBuilder);
            EndPointImpl.RegisterType(bpmnModelBuilder);
            EndPointRef.RegisterType(bpmnModelBuilder);
            ErrorEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            ErrorImpl.RegisterType(bpmnModelBuilder);
            ErrorRef.RegisterType(bpmnModelBuilder);
            EscalationImpl.RegisterType(bpmnModelBuilder);
            EscalationEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            EventBasedGatewayImpl.RegisterType(bpmnModelBuilder);
            EventDefinitionImpl.RegisterType(bpmnModelBuilder);
            EventDefinitionRef.RegisterType(bpmnModelBuilder);
            EventImpl.RegisterType(bpmnModelBuilder);
            ExclusiveGatewayImpl.RegisterType(bpmnModelBuilder);
            ExpressionImpl.RegisterType(bpmnModelBuilder);
            ExtensionElementsImpl.RegisterType(bpmnModelBuilder);
            ExtensionImpl.RegisterType(bpmnModelBuilder);
            FlowElementImpl.RegisterType(bpmnModelBuilder);
            FlowNodeImpl.RegisterType(bpmnModelBuilder);
            FlowNodeRef.RegisterType(bpmnModelBuilder);
            FormalExpressionImpl.RegisterType(bpmnModelBuilder);
            From.RegisterType(bpmnModelBuilder);
            GatewayImpl.RegisterType(bpmnModelBuilder);
            GlobalConversationImpl.RegisterType(bpmnModelBuilder);
            HumanPerformerImpl.RegisterType(bpmnModelBuilder);
            ImportImpl.RegisterType(bpmnModelBuilder);
            InclusiveGatewayImpl.RegisterType(bpmnModelBuilder);
            Incoming.RegisterType(bpmnModelBuilder);
            InMessageRef.RegisterType(bpmnModelBuilder);
            InnerParticipantRef.RegisterType(bpmnModelBuilder);
            InputDataItemImpl.RegisterType(bpmnModelBuilder);
            InputSetImpl.RegisterType(bpmnModelBuilder);
            InputSetRefs.RegisterType(bpmnModelBuilder);
            InteractionNodeImpl.RegisterType(bpmnModelBuilder);
            InterfaceImpl.RegisterType(bpmnModelBuilder);
            InterfaceRef.RegisterType(bpmnModelBuilder);
            IntermediateCatchEventImpl.RegisterType(bpmnModelBuilder);
            IntermediateThrowEventImpl.RegisterType(bpmnModelBuilder);
            IoBindingImpl.RegisterType(bpmnModelBuilder);
            IoSpecificationImpl.RegisterType(bpmnModelBuilder);
            ItemAwareElementImpl.RegisterType(bpmnModelBuilder);
            ItemDefinitionImpl.RegisterType(bpmnModelBuilder);
            LaneImpl.RegisterType(bpmnModelBuilder);
            LaneSetImpl.RegisterType(bpmnModelBuilder);
            LinkEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            LoopCardinalityImpl.RegisterType(bpmnModelBuilder);
            LoopCharacteristicsImpl.RegisterType(bpmnModelBuilder);
            LoopDataInputRef.RegisterType(bpmnModelBuilder);
            LoopDataOutputRef.RegisterType(bpmnModelBuilder);
            ManualTaskImpl.RegisterType(bpmnModelBuilder);
            MessageEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            MessageFlowAssociationImpl.RegisterType(bpmnModelBuilder);
            MessageFlowImpl.RegisterType(bpmnModelBuilder);
            MessageFlowRef.RegisterType(bpmnModelBuilder);
            MessageImpl.RegisterType(bpmnModelBuilder);
            MessagePath.RegisterType(bpmnModelBuilder);
            ModelElementInstanceImpl.RegisterType(bpmnModelBuilder);
            MonitoringImpl.RegisterType(bpmnModelBuilder);
            MultiInstanceLoopCharacteristicsImpl.RegisterType(bpmnModelBuilder);
            OperationImpl.RegisterType(bpmnModelBuilder);
            OperationRef.RegisterType(bpmnModelBuilder);
            OptionalInputRefs.RegisterType(bpmnModelBuilder);
            OptionalOutputRefs.RegisterType(bpmnModelBuilder);
            OuterParticipantRef.RegisterType(bpmnModelBuilder);
            OutMessageRef.RegisterType(bpmnModelBuilder);
            Outgoing.RegisterType(bpmnModelBuilder);
            OutputDataItemImpl.RegisterType(bpmnModelBuilder);
            OutputSetImpl.RegisterType(bpmnModelBuilder);
            OutputSetRefs.RegisterType(bpmnModelBuilder);
            ParallelGatewayImpl.RegisterType(bpmnModelBuilder);
            ParticipantAssociationImpl.RegisterType(bpmnModelBuilder);
            ParticipantImpl.RegisterType(bpmnModelBuilder);
            ParticipantMultiplicityImpl.RegisterType(bpmnModelBuilder);
            ParticipantRef.RegisterType(bpmnModelBuilder);
            PartitionElement.RegisterType(bpmnModelBuilder);
            PerformerImpl.RegisterType(bpmnModelBuilder);
            PotentialOwnerImpl.RegisterType(bpmnModelBuilder);
            ProcessImpl.RegisterType(bpmnModelBuilder);
            PropertyImpl.RegisterType(bpmnModelBuilder);
            ReceiveTaskImpl.RegisterType(bpmnModelBuilder);
            RelationshipImpl.RegisterType(bpmnModelBuilder);
            RenderingImpl.RegisterType(bpmnModelBuilder);
            ResourceAssignmentExpressionImpl.RegisterType(bpmnModelBuilder);
            ResourceImpl.RegisterType(bpmnModelBuilder);
            ResourceParameterBindingImpl.RegisterType(bpmnModelBuilder);
            ResourceParameterImpl.RegisterType(bpmnModelBuilder);
            ResourceRef.RegisterType(bpmnModelBuilder);
            ResourceRoleImpl.RegisterType(bpmnModelBuilder);
            RootElementImpl.RegisterType(bpmnModelBuilder);
            ScriptImpl.RegisterType(bpmnModelBuilder);
            ScriptTaskImpl.RegisterType(bpmnModelBuilder);
            SendTaskImpl.RegisterType(bpmnModelBuilder);
            SequenceFlowImpl.RegisterType(bpmnModelBuilder);
            ServiceTaskImpl.RegisterType(bpmnModelBuilder);
            SignalEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            SignalImpl.RegisterType(bpmnModelBuilder);
            Source.RegisterType(bpmnModelBuilder);
            SourceRef.RegisterType(bpmnModelBuilder);
            StartEventImpl.RegisterType(bpmnModelBuilder);
            SubConversationImpl.RegisterType(bpmnModelBuilder);
            SubProcessImpl.RegisterType(bpmnModelBuilder);
            SupportedInterfaceRef.RegisterType(bpmnModelBuilder);
            Supports.RegisterType(bpmnModelBuilder);
            Target.RegisterType(bpmnModelBuilder);
            TargetRef.RegisterType(bpmnModelBuilder);
            TaskImpl.RegisterType(bpmnModelBuilder);
            TerminateEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            TextImpl.RegisterType(bpmnModelBuilder);
            TextAnnotationImpl.RegisterType(bpmnModelBuilder);
            ThrowEventImpl.RegisterType(bpmnModelBuilder);
            TimeCycleImpl.RegisterType(bpmnModelBuilder);
            TimeDateImpl.RegisterType(bpmnModelBuilder);
            TimeDurationImpl.RegisterType(bpmnModelBuilder);
            TimerEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            To.RegisterType(bpmnModelBuilder);
            TransactionImpl.RegisterType(bpmnModelBuilder);
            Transformation.RegisterType(bpmnModelBuilder);
            UserTaskImpl.RegisterType(bpmnModelBuilder);
            WhileExecutingInputRefs.RegisterType(bpmnModelBuilder);
            WhileExecutingOutputRefs.RegisterType(bpmnModelBuilder);

            // DC
            FontImpl.RegisterType(bpmnModelBuilder);
            PointImpl.RegisterType(bpmnModelBuilder);
            BoundsImpl.RegisterType(bpmnModelBuilder);

            // DI
            DiagramImpl.RegisterType(bpmnModelBuilder);
            DiagramElementImpl.RegisterType(bpmnModelBuilder);
            EdgeImpl.RegisterType(bpmnModelBuilder);
            impl.instance.di.ExtensionImpl.RegisterType(bpmnModelBuilder);
            LabelImpl.RegisterType(bpmnModelBuilder);
            LabeledEdgeImpl.RegisterType(bpmnModelBuilder);
            LabeledShapeImpl.RegisterType(bpmnModelBuilder);
            NodeImpl.RegisterType(bpmnModelBuilder);
            PlaneImpl.RegisterType(bpmnModelBuilder);
            ShapeImpl.RegisterType(bpmnModelBuilder);
            StyleImpl.RegisterType(bpmnModelBuilder);
            WaypointImpl.RegisterType(bpmnModelBuilder);

            // BPMNDI
            BpmnDiagramImpl.RegisterType(bpmnModelBuilder);
            BpmnEdgeImpl.RegisterType(bpmnModelBuilder);
            BpmnLabelImpl.RegisterType(bpmnModelBuilder);
            BpmnLabelStyleImpl.RegisterType(bpmnModelBuilder);
            BpmnPlaneImpl.RegisterType(bpmnModelBuilder);
            BpmnShapeImpl.RegisterType(bpmnModelBuilder);

            // camunda extensions
            CamundaConnectorImpl.RegisterType(bpmnModelBuilder);
            CamundaConnectorIdImpl.RegisterType(bpmnModelBuilder);
            CamundaConstraintImpl.RegisterType(bpmnModelBuilder);
            CamundaEntryImpl.RegisterType(bpmnModelBuilder);
            CamundaExecutionListenerImpl.RegisterType(bpmnModelBuilder);
            CamundaExpressionImpl.RegisterType(bpmnModelBuilder);
            CamundaFailedJobRetryTimeCycleImpl.RegisterType(bpmnModelBuilder);
            CamundaFieldImpl.RegisterType(bpmnModelBuilder);
            CamundaFormDataImpl.RegisterType(bpmnModelBuilder);
            CamundaFormFieldImpl.RegisterType(bpmnModelBuilder);
            CamundaFormPropertyImpl.RegisterType(bpmnModelBuilder);
            CamundaInImpl.RegisterType(bpmnModelBuilder);
            CamundaInputOutputImpl.RegisterType(bpmnModelBuilder);
            CamundaInputParameterImpl.RegisterType(bpmnModelBuilder);
            CamundaListImpl.RegisterType(bpmnModelBuilder);
            CamundaMapImpl.RegisterType(bpmnModelBuilder);
            CamundaOutputParameterImpl.RegisterType(bpmnModelBuilder);
            CamundaOutImpl.RegisterType(bpmnModelBuilder);
            CamundaPotentialStarterImpl.RegisterType(bpmnModelBuilder);
            CamundaPropertiesImpl.RegisterType(bpmnModelBuilder);
            CamundaPropertyImpl.RegisterType(bpmnModelBuilder);
            CamundaScriptImpl.RegisterType(bpmnModelBuilder);
            CamundaStringImpl.RegisterType(bpmnModelBuilder);
            CamundaTaskListenerImpl.RegisterType(bpmnModelBuilder);
            CamundaValidationImpl.RegisterType(bpmnModelBuilder);
            CamundaValueImpl.RegisterType(bpmnModelBuilder);
        }
Esempio n. 18
0
        private static void ValidateIfReferencesHaveBeginBlock(Node topElement)
        {
            var ifSqlClause = topElement.ChildByName(SqlStructureConstants.ENAME_CONTAINER_SINGLESTATEMENT);

            if (ifSqlClause != null)
            {
                var sqlStmnt = ifSqlClause.ChildByName(SqlStructureConstants.ENAME_SQL_STATEMENT);
                if (sqlStmnt != null)
                {
                    var sqlClause = sqlStmnt.ChildByName(SqlStructureConstants.ENAME_SQL_CLAUSE);
                    //If there is no begin/end block adjust structure so that there is...
                    var beginEnd = sqlClause.ChildByName(SqlStructureConstants.ENAME_BEGIN_END_BLOCK);
                    if (beginEnd == null)
                    {
                        Node newStmnt = new NodeImpl()
                        {
                            Name      = SqlStructureConstants.ENAME_SQL_STATEMENT,
                            TextValue = string.Empty,
                        };
                        Node newClause = new NodeImpl()
                        {
                            Name      = SqlStructureConstants.ENAME_SQL_CLAUSE,
                            TextValue = string.Empty
                        };
                        Node beginEndBlock = new NodeImpl()
                        {
                            Name      = SqlStructureConstants.ENAME_BEGIN_END_BLOCK,
                            TextValue = ""
                        };
                        Node containerOpen = new NodeImpl()
                        {
                            Name      = SqlStructureConstants.ENAME_CONTAINER_OPEN,
                            TextValue = string.Empty
                        };

                        Node multiStmnt = new NodeImpl()
                        {
                            Name      = SqlStructureConstants.ENAME_CONTAINER_MULTISTATEMENT,
                            TextValue = string.Empty
                        };
                        Node containerClose = new NodeImpl()
                        {
                            Name      = SqlStructureConstants.ENAME_CONTAINER_CLOSE,
                            TextValue = string.Empty
                        };

                        containerOpen.AddChild(new NodeImpl()
                        {
                            Name      = SqlStructureConstants.ENAME_OTHERKEYWORD,
                            TextValue = "BEGIN"
                        });

                        containerClose.AddChild(new NodeImpl()
                        {
                            Name      = SqlStructureConstants.ENAME_OTHERKEYWORD,
                            TextValue = "END"
                        });

                        newStmnt.AddChild(newClause);
                        newClause.AddChild(beginEndBlock);


                        beginEndBlock.AddChild(containerOpen);
                        beginEndBlock.AddChild(multiStmnt);
                        beginEndBlock.AddChild(containerClose);

                        sqlStmnt.Parent.InsertChildBefore(newStmnt, sqlStmnt);
                        sqlStmnt.Parent.RemoveChild(sqlStmnt);

                        multiStmnt.AddChild(sqlStmnt);
                    }
                }
            }
        }