Esempio n. 1
0
        public Boolean Equals(Object o)
        {
            if (o is Triggerable)
            {
                Triggerable t = (Triggerable)o;
                if (this == t)
                {
                    return(true);
                }

                if (this.expr.Equals(t.expr))
                {
                    //check triggers
                    List <TreeReference> Atriggers = this.getTriggers();
                    List <TreeReference> Btriggers = t.getTriggers();

                    //order and quantity don't matter; all that matters is every trigger in A exists in B and vice versa
                    for (int k = 0; k < 2; k++)
                    {
                        List <TreeReference> v1 = (k == 0 ? Atriggers : Btriggers);
                        List <TreeReference> v2 = (k == 0 ? Btriggers : Atriggers);

                        for (int i = 0; i < v1.Count; i++)
                        {
                            if (v2.IndexOf(v1[i]) == -1)
                            {
                                return(false);
                            }
                        }
                    }
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Esempio n. 2
0
		public  override bool Equals(System.Object o)
		{
			if (o is Triggerable)
			{
				Triggerable t = (Triggerable) o;
				if (this == t)
					return true;
				
				if (this.expr.Equals(t.expr))
				{
					
					// The original logic did not make any sense --
					// the
					try
					{
						// resolved triggers should match...
						
						
						
						return (Atriggers.size() == Btriggers.size()) && Atriggers.containsAll(Btriggers);
					}
					catch (XPathException e)
					{
						return false;
					}
				}
				else
				{
					return false;
				}
			}
			else
			{
				return false;
			}
		}