You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2017/03/07 19:39:27 UTC
[47/50] [abbrv] activemq-nms-msmq git commit: Apply patch for
AMQNET-556 from Stephane Ramet. Thanks Stephane!
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/InExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/InExpression.cs b/src/main/csharp/Selector/InExpression.cs
index cd2d7ea..cbf3e60 100644
--- a/src/main/csharp/Selector/InExpression.cs
+++ b/src/main/csharp/Selector/InExpression.cs
@@ -1,98 +1,97 @@
-\ufeffusing System;
-using System.Text;
-using System.Collections;
-using System.Collections.Generic;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// A boolean expression which checks if an expression value is
- /// contained in a list of defined values.
- /// </summary>
- public class InExpression : BooleanUnaryExpression
- {
- private bool notNot;
- private ArrayList elements;
- private HashSet<string> hashset;
-
- protected override string ExpressionSymbol
- {
- get { return notNot ? "IN" : "NOT IN"; }
- }
-
- public InExpression(IExpression right, ArrayList elements, bool notNot)
- : base(right)
- {
- this.notNot = notNot;
-
- this.elements = elements;
- this.hashset = new HashSet<string>();
-
- foreach(object element in elements)
- {
- hashset.Add((string)element);
- }
- }
-
- public override object Evaluate(MessageEvaluationContext message)
- {
- object rvalue = Right.Evaluate(message);
-
- bool answer = false;
- if(rvalue != null && (rvalue is string))
- {
- answer = hashset.Contains((string)rvalue);
- }
-
- return notNot ? answer : !answer;
- }
-
- public override string ToString()
- {
- StringBuilder answer = new StringBuilder();
- answer.Append(Right);
- answer.Append(" ");
- answer.Append(ExpressionSymbol);
- answer.Append(" (");
-
- for(int i = 0; i < elements.Count; i++)
- {
- if(i > 0) answer.Append(", ");
-
- string s = (string)elements[i];
-
- answer.Append('\'');
- for(int c = 0; c < s.Length; c++)
- {
- char ch = s[c];
- if(ch == '\'')
- {
- answer.Append(ch);
- }
- answer.Append(ch);
- }
- answer.Append('\'');
- }
-
- answer.Append(")");
- return answer.ToString();
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// A boolean expression which checks if an expression value is
+ /// contained in a list of defined values.
+ /// </summary>
+ public class InExpression : BooleanUnaryExpression
+ {
+ private bool notNot;
+ private ArrayList elements;
+ private HashSet<string> hashset;
+
+ protected override string ExpressionSymbol
+ {
+ get { return notNot ? "IN" : "NOT IN"; }
+ }
+
+ public InExpression(IExpression right, ArrayList elements, bool notNot)
+ : base(right)
+ {
+ this.notNot = notNot;
+
+ this.elements = elements;
+ this.hashset = new HashSet<string>();
+
+ foreach(object element in elements)
+ {
+ hashset.Add((string)element);
+ }
+ }
+
+ public override object Evaluate(MessageEvaluationContext message)
+ {
+ object rvalue = Right.Evaluate(message);
+
+ bool answer = false;
+ if(rvalue != null && (rvalue is string))
+ {
+ answer = hashset.Contains((string)rvalue);
+ }
+
+ return notNot ? answer : !answer;
+ }
+
+ public override string ToString()
+ {
+ StringBuilder answer = new StringBuilder();
+ answer.Append(Right);
+ answer.Append(" ");
+ answer.Append(ExpressionSymbol);
+ answer.Append(" (");
+
+ for(int i = 0; i < elements.Count; i++)
+ {
+ if(i > 0) answer.Append(", ");
+
+ string s = (string)elements[i];
+
+ answer.Append('\'');
+ for(int c = 0; c < s.Length; c++)
+ {
+ char ch = s[c];
+ if(ch == '\'')
+ {
+ answer.Append(ch);
+ }
+ answer.Append(ch);
+ }
+ answer.Append('\'');
+ }
+
+ answer.Append(")");
+ return answer.ToString();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/IsNullExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/IsNullExpression.cs b/src/main/csharp/Selector/IsNullExpression.cs
index 28d89a2..6ad0436 100644
--- a/src/main/csharp/Selector/IsNullExpression.cs
+++ b/src/main/csharp/Selector/IsNullExpression.cs
@@ -1,59 +1,58 @@
-\ufeffusing System;
-using System.Text;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// A boolean expression which checks if an expression value is null.
- /// </summary>
- public class IsNullExpression : BooleanUnaryExpression
- {
- private bool notNot;
-
- protected override string ExpressionSymbol
- {
- get { return notNot ? "IS NULL" : "IS NOT NULL"; }
- }
-
- public IsNullExpression(IExpression right, bool notNot)
- : base(right)
- {
- this.notNot = notNot;
- }
-
- public override object Evaluate(MessageEvaluationContext message)
- {
- object rvalue = Right.Evaluate(message);
-
- bool answer = (rvalue == null || rvalue == ConstantExpression.NULL);
-
- return notNot ? answer : !answer;
- }
-
- public override string ToString()
- {
- StringBuilder answer = new StringBuilder();
- answer.Append(Right);
- answer.Append(" ");
- answer.Append(ExpressionSymbol);
- return answer.ToString();
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+using System.Text;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// A boolean expression which checks if an expression value is null.
+ /// </summary>
+ public class IsNullExpression : BooleanUnaryExpression
+ {
+ private bool notNot;
+
+ protected override string ExpressionSymbol
+ {
+ get { return notNot ? "IS NULL" : "IS NOT NULL"; }
+ }
+
+ public IsNullExpression(IExpression right, bool notNot)
+ : base(right)
+ {
+ this.notNot = notNot;
+ }
+
+ public override object Evaluate(MessageEvaluationContext message)
+ {
+ object rvalue = Right.Evaluate(message);
+
+ bool answer = (rvalue == null || rvalue == ConstantExpression.NULL);
+
+ return notNot ? answer : !answer;
+ }
+
+ public override string ToString()
+ {
+ StringBuilder answer = new StringBuilder();
+ answer.Append(Right);
+ answer.Append(" ");
+ answer.Append(ExpressionSymbol);
+ return answer.ToString();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/LesserExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/LesserExpression.cs b/src/main/csharp/Selector/LesserExpression.cs
index 4be2c9d..24b707b 100644
--- a/src/main/csharp/Selector/LesserExpression.cs
+++ b/src/main/csharp/Selector/LesserExpression.cs
@@ -1,42 +1,41 @@
-\ufeffusing System;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// A filter performing a lesser than comparison of two expressions.
- /// </summary>
- public class LesserExpression : ComparisonExpression
- {
- protected override string ExpressionSymbol
- {
- get { return "<"; }
- }
-
- public LesserExpression(IExpression left, IExpression right)
- : base(left, right)
- {
- }
-
- public override bool AsBoolean(int? compared)
- {
- return compared.HasValue ? compared.Value < 0 : false;
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// A filter performing a lesser than comparison of two expressions.
+ /// </summary>
+ public class LesserExpression : ComparisonExpression
+ {
+ protected override string ExpressionSymbol
+ {
+ get { return "<"; }
+ }
+
+ public LesserExpression(IExpression left, IExpression right)
+ : base(left, right)
+ {
+ }
+
+ public override bool AsBoolean(int? compared)
+ {
+ return compared.HasValue ? compared.Value < 0 : false;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/LesserOrEqualExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/LesserOrEqualExpression.cs b/src/main/csharp/Selector/LesserOrEqualExpression.cs
index abdc7e5..f4a99db 100644
--- a/src/main/csharp/Selector/LesserOrEqualExpression.cs
+++ b/src/main/csharp/Selector/LesserOrEqualExpression.cs
@@ -1,43 +1,42 @@
-\ufeffusing System;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// A filter performing a lesser than or equal comparison
- /// of two expressions.
- /// </summary>
- public class LesserOrEqualExpression : ComparisonExpression
- {
- protected override string ExpressionSymbol
- {
- get { return "<="; }
- }
-
- public LesserOrEqualExpression(IExpression left, IExpression right)
- : base(left, right)
- {
- }
-
- public override bool AsBoolean(int? compared)
- {
- return compared.HasValue ? compared.Value <= 0 : false;
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// A filter performing a lesser than or equal comparison
+ /// of two expressions.
+ /// </summary>
+ public class LesserOrEqualExpression : ComparisonExpression
+ {
+ protected override string ExpressionSymbol
+ {
+ get { return "<="; }
+ }
+
+ public LesserOrEqualExpression(IExpression left, IExpression right)
+ : base(left, right)
+ {
+ }
+
+ public override bool AsBoolean(int? compared)
+ {
+ return compared.HasValue ? compared.Value <= 0 : false;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/LikeExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/LikeExpression.cs b/src/main/csharp/Selector/LikeExpression.cs
index 8317bd6..41be1bd 100644
--- a/src/main/csharp/Selector/LikeExpression.cs
+++ b/src/main/csharp/Selector/LikeExpression.cs
@@ -1,124 +1,123 @@
-\ufeffusing System;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Globalization;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// A filter performing a string matching comparison.
- /// </summary>
- public class LikeExpression : BooleanUnaryExpression
- {
- private bool notNot;
- private Regex pattern;
-
- protected override string ExpressionSymbol
- {
- get { return notNot ? "LIKE" : "NOT LIKE"; }
- }
-
- public LikeExpression(IExpression left, string like, string escape, bool notNot)
- : base(left)
- {
- this.notNot = notNot;
-
- bool doEscape = false;
- char escapeChar = '%';
-
- if(escape != null)
- {
- if(escape.Length != 1)
- {
- throw new ApplicationException("The ESCAPE string litteral is invalid. It can only be one character. Litteral used: " + escape);
- }
- doEscape = true;
- escapeChar = escape[0];
- }
-
- StringBuilder temp = new StringBuilder();
- StringBuilder regexp = new StringBuilder(like.Length * 2);
- regexp.Append("^"); // The beginning of the input
- for(int c = 0; c < like.Length; c++)
- {
- char ch = like[c];
- if(doEscape && (ch == escapeChar))
- {
- c++;
- if(c >= like.Length)
- {
- // nothing left to escape...
- break;
- }
- temp.Append(like[c]);
- }
- else if(ch == '%')
- {
- if(temp.Length > 0)
- {
- regexp.Append(Regex.Escape(temp.ToString()));
- temp.Length = 0;
- }
- regexp.Append(".*?"); // Do a non-greedy match
- }
- else if(c == '_')
- {
- if(temp.Length > 0)
- {
- regexp.Append(Regex.Escape(temp.ToString()));
- temp.Length = 0;
- }
- regexp.Append("."); // match one
- }
- else
- {
- temp.Append(ch);
- }
- }
- if(temp.Length > 0)
- {
- regexp.Append(Regex.Escape(temp.ToString()));
- }
- regexp.Append("$"); // The end of the input
-
- pattern = new Regex(regexp.ToString(), RegexOptions.Singleline | RegexOptions.Compiled);
- }
-
- public override object Evaluate(MessageEvaluationContext message)
- {
- object rvalue = this.Right.Evaluate(message);
-
- bool answer = false;
- if(rvalue != null)
- {
- if(rvalue is string)
- {
- answer = pattern.IsMatch((string)rvalue);
- }
- else
- {
- //throw new ApplicationException("LIKE can only operate on string identifiers. LIKE attemped on " + rvalue.GetType().ToString());
- }
- }
-
- return notNot ? answer : !answer;
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Globalization;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// A filter performing a string matching comparison.
+ /// </summary>
+ public class LikeExpression : BooleanUnaryExpression
+ {
+ private bool notNot;
+ private Regex pattern;
+
+ protected override string ExpressionSymbol
+ {
+ get { return notNot ? "LIKE" : "NOT LIKE"; }
+ }
+
+ public LikeExpression(IExpression left, string like, string escape, bool notNot)
+ : base(left)
+ {
+ this.notNot = notNot;
+
+ bool doEscape = false;
+ char escapeChar = '%';
+
+ if(escape != null)
+ {
+ if(escape.Length != 1)
+ {
+ throw new ApplicationException("The ESCAPE string litteral is invalid. It can only be one character. Litteral used: " + escape);
+ }
+ doEscape = true;
+ escapeChar = escape[0];
+ }
+
+ StringBuilder temp = new StringBuilder();
+ StringBuilder regexp = new StringBuilder(like.Length * 2);
+ regexp.Append("^"); // The beginning of the input
+ for(int c = 0; c < like.Length; c++)
+ {
+ char ch = like[c];
+ if(doEscape && (ch == escapeChar))
+ {
+ c++;
+ if(c >= like.Length)
+ {
+ // nothing left to escape...
+ break;
+ }
+ temp.Append(like[c]);
+ }
+ else if(ch == '%')
+ {
+ if(temp.Length > 0)
+ {
+ regexp.Append(Regex.Escape(temp.ToString()));
+ temp.Length = 0;
+ }
+ regexp.Append(".*?"); // Do a non-greedy match
+ }
+ else if(c == '_')
+ {
+ if(temp.Length > 0)
+ {
+ regexp.Append(Regex.Escape(temp.ToString()));
+ temp.Length = 0;
+ }
+ regexp.Append("."); // match one
+ }
+ else
+ {
+ temp.Append(ch);
+ }
+ }
+ if(temp.Length > 0)
+ {
+ regexp.Append(Regex.Escape(temp.ToString()));
+ }
+ regexp.Append("$"); // The end of the input
+
+ pattern = new Regex(regexp.ToString(), RegexOptions.Singleline | RegexOptions.Compiled);
+ }
+
+ public override object Evaluate(MessageEvaluationContext message)
+ {
+ object rvalue = this.Right.Evaluate(message);
+
+ bool answer = false;
+ if(rvalue != null)
+ {
+ if(rvalue is string)
+ {
+ answer = pattern.IsMatch((string)rvalue);
+ }
+ else
+ {
+ //throw new ApplicationException("LIKE can only operate on string identifiers. LIKE attemped on " + rvalue.GetType().ToString());
+ }
+ }
+
+ return notNot ? answer : !answer;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/LogicExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/LogicExpression.cs b/src/main/csharp/Selector/LogicExpression.cs
index 61617a4..8e60fb0 100644
--- a/src/main/csharp/Selector/LogicExpression.cs
+++ b/src/main/csharp/Selector/LogicExpression.cs
@@ -1,48 +1,47 @@
-\ufeffusing System;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// A filter performing a logical combination of two objects.
- /// </summary>
- public abstract class LogicExpression : BinaryExpression, IBooleanExpression
- {
- public LogicExpression(IBooleanExpression left, IBooleanExpression right)
- : base(left, right)
- {
- }
-
- public bool Matches(MessageEvaluationContext message)
- {
- object value = Evaluate(message);
- return value != null && (bool)value;
- }
-
- public static IBooleanExpression CreateOR(IBooleanExpression left, IBooleanExpression right)
- {
- return new ORExpression(left, right);
- }
-
- public static IBooleanExpression CreateAND(IBooleanExpression left, IBooleanExpression right)
- {
- return new ANDExpression(left, right);
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// A filter performing a logical combination of two objects.
+ /// </summary>
+ public abstract class LogicExpression : BinaryExpression, IBooleanExpression
+ {
+ public LogicExpression(IBooleanExpression left, IBooleanExpression right)
+ : base(left, right)
+ {
+ }
+
+ public bool Matches(MessageEvaluationContext message)
+ {
+ object value = Evaluate(message);
+ return value != null && (bool)value;
+ }
+
+ public static IBooleanExpression CreateOR(IBooleanExpression left, IBooleanExpression right)
+ {
+ return new ORExpression(left, right);
+ }
+
+ public static IBooleanExpression CreateAND(IBooleanExpression left, IBooleanExpression right)
+ {
+ return new ANDExpression(left, right);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/MessageEvaluationContext.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/MessageEvaluationContext.cs b/src/main/csharp/Selector/MessageEvaluationContext.cs
index 054d911..6f26d0f 100644
--- a/src/main/csharp/Selector/MessageEvaluationContext.cs
+++ b/src/main/csharp/Selector/MessageEvaluationContext.cs
@@ -1,78 +1,77 @@
-\ufeffusing System;
-using Apache.NMS;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// MessageEvaluationContext is used to cache selection results.
- ///
- /// A message usually has multiple selectors applied against it. Some selector
- /// have a high cost of evaluating against the message. Those selectors may whish
- /// to cache evaluation results associated with the message in the
- /// MessageEvaluationContext.
- /// </summary>
- public class MessageEvaluationContext
- {
- private IMessage nmsMessage;
- public IMessage Message
- {
- get { return nmsMessage; }
- set { nmsMessage = value; }
- }
-
- public MessageEvaluationContext(IMessage message)
- {
- nmsMessage = message;
- }
-
- public object GetProperty(string name)
- {
- if(name.Length > 3 &&
- string.Compare(name.Substring(0, 3), "JMS", true) == 0)
- {
- if(string.Compare(name, "JMSCorrelationID", true) == 0)
- {
- return nmsMessage.NMSCorrelationID;
- }
- if(string.Compare(name, "JMSMessageID", true) == 0)
- {
- return nmsMessage.NMSMessageId;
- }
- if(string.Compare(name, "JMSPriority", true) == 0)
- {
- return nmsMessage.NMSPriority;
- }
- if(string.Compare(name, "JMSTimestamp", true) == 0)
- {
- return nmsMessage.NMSTimestamp;
- }
- if(string.Compare(name, "JMSType", true) == 0)
- {
- return nmsMessage.NMSType;
- }
- if(string.Compare(name, "JMSDeliveryMode", true) == 0)
- {
- return nmsMessage.NMSDeliveryMode;
- }
- }
- return nmsMessage.Properties[name];
- }
- }
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+using Apache.NMS;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// MessageEvaluationContext is used to cache selection results.
+ ///
+ /// A message usually has multiple selectors applied against it. Some selector
+ /// have a high cost of evaluating against the message. Those selectors may whish
+ /// to cache evaluation results associated with the message in the
+ /// MessageEvaluationContext.
+ /// </summary>
+ public class MessageEvaluationContext
+ {
+ private IMessage nmsMessage;
+ public IMessage Message
+ {
+ get { return nmsMessage; }
+ set { nmsMessage = value; }
+ }
+
+ public MessageEvaluationContext(IMessage message)
+ {
+ nmsMessage = message;
+ }
+
+ public object GetProperty(string name)
+ {
+ if(name.Length > 3 &&
+ string.Compare(name.Substring(0, 3), "JMS", true) == 0)
+ {
+ if(string.Compare(name, "JMSCorrelationID", true) == 0)
+ {
+ return nmsMessage.NMSCorrelationID;
+ }
+ if(string.Compare(name, "JMSMessageID", true) == 0)
+ {
+ return nmsMessage.NMSMessageId;
+ }
+ if(string.Compare(name, "JMSPriority", true) == 0)
+ {
+ return nmsMessage.NMSPriority;
+ }
+ if(string.Compare(name, "JMSTimestamp", true) == 0)
+ {
+ return nmsMessage.NMSTimestamp;
+ }
+ if(string.Compare(name, "JMSType", true) == 0)
+ {
+ return nmsMessage.NMSType;
+ }
+ if(string.Compare(name, "JMSDeliveryMode", true) == 0)
+ {
+ return nmsMessage.NMSDeliveryMode;
+ }
+ }
+ return nmsMessage.Properties[name];
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/MinusExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/MinusExpression.cs b/src/main/csharp/Selector/MinusExpression.cs
index 260e5e8..b2bc845 100644
--- a/src/main/csharp/Selector/MinusExpression.cs
+++ b/src/main/csharp/Selector/MinusExpression.cs
@@ -1,67 +1,66 @@
-\ufeffusing System;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// A filter performing a substraction of two expressions.
- /// </summary>
- public class MinusExpression : ArithmeticExpression
- {
- protected override string ExpressionSymbol
- {
- get { return "-"; }
- }
-
- public MinusExpression(IExpression left, IExpression right)
- : base(left, right)
- {
- }
-
- public override object Evaluate(MessageEvaluationContext message)
- {
- object lvalue = Left.Evaluate(message);
- if(lvalue == null) return null;
-
- object rvalue = Right.Evaluate(message);
- if(rvalue == null) return null;
-
- AlignedNumericValues values = new AlignedNumericValues(lvalue, rvalue);
-
- object result = null;
-
- switch(values.TypeEnum)
- {
- case AlignedNumericValues.T.SByteType : result = (sbyte )values.Left - (sbyte )values.Right; break;
- case AlignedNumericValues.T.ByteType : result = (byte )values.Left - (byte )values.Right; break;
- case AlignedNumericValues.T.CharType : result = (char )values.Left - (char )values.Right; break;
- case AlignedNumericValues.T.ShortType : result = (short )values.Left - (short )values.Right; break;
- case AlignedNumericValues.T.UShortType: result = (ushort)values.Left - (ushort)values.Right; break;
- case AlignedNumericValues.T.IntType : result = (int )values.Left - (int )values.Right; break;
- case AlignedNumericValues.T.UIntType : result = (uint )values.Left - (uint )values.Right; break;
- case AlignedNumericValues.T.LongType : result = (long )values.Left - (long )values.Right; break;
- case AlignedNumericValues.T.ULongType : result = (ulong )values.Left - (ulong )values.Right; break;
- case AlignedNumericValues.T.FloatType : result = (float )values.Left - (float )values.Right; break;
- case AlignedNumericValues.T.DoubleType: result = (double)values.Left - (double)values.Right; break;
- }
-
- return result;
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// A filter performing a substraction of two expressions.
+ /// </summary>
+ public class MinusExpression : ArithmeticExpression
+ {
+ protected override string ExpressionSymbol
+ {
+ get { return "-"; }
+ }
+
+ public MinusExpression(IExpression left, IExpression right)
+ : base(left, right)
+ {
+ }
+
+ public override object Evaluate(MessageEvaluationContext message)
+ {
+ object lvalue = Left.Evaluate(message);
+ if(lvalue == null) return null;
+
+ object rvalue = Right.Evaluate(message);
+ if(rvalue == null) return null;
+
+ AlignedNumericValues values = new AlignedNumericValues(lvalue, rvalue);
+
+ object result = null;
+
+ switch(values.TypeEnum)
+ {
+ case AlignedNumericValues.T.SByteType : result = (sbyte )values.Left - (sbyte )values.Right; break;
+ case AlignedNumericValues.T.ByteType : result = (byte )values.Left - (byte )values.Right; break;
+ case AlignedNumericValues.T.CharType : result = (char )values.Left - (char )values.Right; break;
+ case AlignedNumericValues.T.ShortType : result = (short )values.Left - (short )values.Right; break;
+ case AlignedNumericValues.T.UShortType: result = (ushort)values.Left - (ushort)values.Right; break;
+ case AlignedNumericValues.T.IntType : result = (int )values.Left - (int )values.Right; break;
+ case AlignedNumericValues.T.UIntType : result = (uint )values.Left - (uint )values.Right; break;
+ case AlignedNumericValues.T.LongType : result = (long )values.Left - (long )values.Right; break;
+ case AlignedNumericValues.T.ULongType : result = (ulong )values.Left - (ulong )values.Right; break;
+ case AlignedNumericValues.T.FloatType : result = (float )values.Left - (float )values.Right; break;
+ case AlignedNumericValues.T.DoubleType: result = (double)values.Left - (double)values.Right; break;
+ }
+
+ return result;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/ModExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/ModExpression.cs b/src/main/csharp/Selector/ModExpression.cs
index 386c08d..0ed5234 100644
--- a/src/main/csharp/Selector/ModExpression.cs
+++ b/src/main/csharp/Selector/ModExpression.cs
@@ -1,67 +1,66 @@
-\ufeffusing System;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// A filter performing a modulo of two expressions.
- /// </summary>
- public class ModExpression : ArithmeticExpression
- {
- protected override string ExpressionSymbol
- {
- get { return "%"; }
- }
-
- public ModExpression(IExpression left, IExpression right)
- : base(left, right)
- {
- }
-
- public override object Evaluate(MessageEvaluationContext message)
- {
- object lvalue = Left.Evaluate(message);
- if(lvalue == null) return null;
-
- object rvalue = Right.Evaluate(message);
- if(rvalue == null) return null;
-
- AlignedNumericValues values = new AlignedNumericValues(lvalue, rvalue);
-
- object result = null;
-
- switch(values.TypeEnum)
- {
- case AlignedNumericValues.T.SByteType : result = (sbyte )values.Left % (sbyte )values.Right; break;
- case AlignedNumericValues.T.ByteType : result = (byte )values.Left % (byte )values.Right; break;
- case AlignedNumericValues.T.CharType : result = (char )values.Left % (char )values.Right; break;
- case AlignedNumericValues.T.ShortType : result = (short )values.Left % (short )values.Right; break;
- case AlignedNumericValues.T.UShortType: result = (ushort)values.Left % (ushort)values.Right; break;
- case AlignedNumericValues.T.IntType : result = (int )values.Left % (int )values.Right; break;
- case AlignedNumericValues.T.UIntType : result = (uint )values.Left % (uint )values.Right; break;
- case AlignedNumericValues.T.LongType : result = (long )values.Left % (long )values.Right; break;
- case AlignedNumericValues.T.ULongType : result = (ulong )values.Left % (ulong )values.Right; break;
- case AlignedNumericValues.T.FloatType : result = (float )values.Left % (float )values.Right; break;
- case AlignedNumericValues.T.DoubleType: result = (double)values.Left % (double)values.Right; break;
- }
-
- return result;
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// A filter performing a modulo of two expressions.
+ /// </summary>
+ public class ModExpression : ArithmeticExpression
+ {
+ protected override string ExpressionSymbol
+ {
+ get { return "%"; }
+ }
+
+ public ModExpression(IExpression left, IExpression right)
+ : base(left, right)
+ {
+ }
+
+ public override object Evaluate(MessageEvaluationContext message)
+ {
+ object lvalue = Left.Evaluate(message);
+ if(lvalue == null) return null;
+
+ object rvalue = Right.Evaluate(message);
+ if(rvalue == null) return null;
+
+ AlignedNumericValues values = new AlignedNumericValues(lvalue, rvalue);
+
+ object result = null;
+
+ switch(values.TypeEnum)
+ {
+ case AlignedNumericValues.T.SByteType : result = (sbyte )values.Left % (sbyte )values.Right; break;
+ case AlignedNumericValues.T.ByteType : result = (byte )values.Left % (byte )values.Right; break;
+ case AlignedNumericValues.T.CharType : result = (char )values.Left % (char )values.Right; break;
+ case AlignedNumericValues.T.ShortType : result = (short )values.Left % (short )values.Right; break;
+ case AlignedNumericValues.T.UShortType: result = (ushort)values.Left % (ushort)values.Right; break;
+ case AlignedNumericValues.T.IntType : result = (int )values.Left % (int )values.Right; break;
+ case AlignedNumericValues.T.UIntType : result = (uint )values.Left % (uint )values.Right; break;
+ case AlignedNumericValues.T.LongType : result = (long )values.Left % (long )values.Right; break;
+ case AlignedNumericValues.T.ULongType : result = (ulong )values.Left % (ulong )values.Right; break;
+ case AlignedNumericValues.T.FloatType : result = (float )values.Left % (float )values.Right; break;
+ case AlignedNumericValues.T.DoubleType: result = (double)values.Left % (double)values.Right; break;
+ }
+
+ return result;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/MultiplyExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/MultiplyExpression.cs b/src/main/csharp/Selector/MultiplyExpression.cs
index 0009092..130783f 100644
--- a/src/main/csharp/Selector/MultiplyExpression.cs
+++ b/src/main/csharp/Selector/MultiplyExpression.cs
@@ -1,67 +1,66 @@
-\ufeffusing System;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// A filter performing a multiplication of two expressions.
- /// </summary>
- public class MultiplyExpression : ArithmeticExpression
- {
- protected override string ExpressionSymbol
- {
- get { return "*"; }
- }
-
- public MultiplyExpression(IExpression left, IExpression right)
- : base(left, right)
- {
- }
-
- public override object Evaluate(MessageEvaluationContext message)
- {
- object lvalue = Left.Evaluate(message);
- if(lvalue == null) return null;
-
- object rvalue = Right.Evaluate(message);
- if(rvalue == null) return null;
-
- AlignedNumericValues values = new AlignedNumericValues(lvalue, rvalue);
-
- object result = null;
-
- switch(values.TypeEnum)
- {
- case AlignedNumericValues.T.SByteType : result = (sbyte )values.Left * (sbyte )values.Right; break;
- case AlignedNumericValues.T.ByteType : result = (byte )values.Left * (byte )values.Right; break;
- case AlignedNumericValues.T.CharType : result = (char )values.Left * (char )values.Right; break;
- case AlignedNumericValues.T.ShortType : result = (short )values.Left * (short )values.Right; break;
- case AlignedNumericValues.T.UShortType: result = (ushort)values.Left * (ushort)values.Right; break;
- case AlignedNumericValues.T.IntType : result = (int )values.Left * (int )values.Right; break;
- case AlignedNumericValues.T.UIntType : result = (uint )values.Left * (uint )values.Right; break;
- case AlignedNumericValues.T.LongType : result = (long )values.Left * (long )values.Right; break;
- case AlignedNumericValues.T.ULongType : result = (ulong )values.Left * (ulong )values.Right; break;
- case AlignedNumericValues.T.FloatType : result = (float )values.Left * (float )values.Right; break;
- case AlignedNumericValues.T.DoubleType: result = (double)values.Left * (double)values.Right; break;
- }
-
- return result;
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// A filter performing a multiplication of two expressions.
+ /// </summary>
+ public class MultiplyExpression : ArithmeticExpression
+ {
+ protected override string ExpressionSymbol
+ {
+ get { return "*"; }
+ }
+
+ public MultiplyExpression(IExpression left, IExpression right)
+ : base(left, right)
+ {
+ }
+
+ public override object Evaluate(MessageEvaluationContext message)
+ {
+ object lvalue = Left.Evaluate(message);
+ if(lvalue == null) return null;
+
+ object rvalue = Right.Evaluate(message);
+ if(rvalue == null) return null;
+
+ AlignedNumericValues values = new AlignedNumericValues(lvalue, rvalue);
+
+ object result = null;
+
+ switch(values.TypeEnum)
+ {
+ case AlignedNumericValues.T.SByteType : result = (sbyte )values.Left * (sbyte )values.Right; break;
+ case AlignedNumericValues.T.ByteType : result = (byte )values.Left * (byte )values.Right; break;
+ case AlignedNumericValues.T.CharType : result = (char )values.Left * (char )values.Right; break;
+ case AlignedNumericValues.T.ShortType : result = (short )values.Left * (short )values.Right; break;
+ case AlignedNumericValues.T.UShortType: result = (ushort)values.Left * (ushort)values.Right; break;
+ case AlignedNumericValues.T.IntType : result = (int )values.Left * (int )values.Right; break;
+ case AlignedNumericValues.T.UIntType : result = (uint )values.Left * (uint )values.Right; break;
+ case AlignedNumericValues.T.LongType : result = (long )values.Left * (long )values.Right; break;
+ case AlignedNumericValues.T.ULongType : result = (ulong )values.Left * (ulong )values.Right; break;
+ case AlignedNumericValues.T.FloatType : result = (float )values.Left * (float )values.Right; break;
+ case AlignedNumericValues.T.DoubleType: result = (double)values.Left * (double)values.Right; break;
+ }
+
+ return result;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/NOTExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/NOTExpression.cs b/src/main/csharp/Selector/NOTExpression.cs
index 6d6ef55..a8b1c33 100644
--- a/src/main/csharp/Selector/NOTExpression.cs
+++ b/src/main/csharp/Selector/NOTExpression.cs
@@ -1,45 +1,44 @@
-\ufeffusing System;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// An expression which negates a boolean expression value.
- /// </summary>
- public class NOTExpression : BooleanUnaryExpression
- {
- protected override string ExpressionSymbol
- {
- get { return "NOT"; }
- }
-
- public NOTExpression(IExpression left)
- : base(left)
- {
- }
-
- public override object Evaluate(MessageEvaluationContext message)
- {
- object rvalue = Right.Evaluate(message);
- if(rvalue == null ) return null;
- if(rvalue is bool ) return !(bool)rvalue;
- return null;
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// An expression which negates a boolean expression value.
+ /// </summary>
+ public class NOTExpression : BooleanUnaryExpression
+ {
+ protected override string ExpressionSymbol
+ {
+ get { return "NOT"; }
+ }
+
+ public NOTExpression(IExpression left)
+ : base(left)
+ {
+ }
+
+ public override object Evaluate(MessageEvaluationContext message)
+ {
+ object rvalue = Right.Evaluate(message);
+ if(rvalue == null ) return null;
+ if(rvalue is bool ) return !(bool)rvalue;
+ return null;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/NegateExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/NegateExpression.cs b/src/main/csharp/Selector/NegateExpression.cs
index 0496b6f..f074590 100644
--- a/src/main/csharp/Selector/NegateExpression.cs
+++ b/src/main/csharp/Selector/NegateExpression.cs
@@ -1,51 +1,50 @@
-\ufeffusing System;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// An expression which negates a numeric expression value.
- /// </summary>
- public class NegateExpression : UnaryExpression
- {
- protected override string ExpressionSymbol
- {
- get { return "-"; }
- }
-
- public NegateExpression(IExpression left)
- : base(left)
- {
- }
-
- public override object Evaluate(MessageEvaluationContext message)
- {
- object rvalue = Right.Evaluate(message);
- if(rvalue == null ) return null;
- if(rvalue is int ) return -(int )rvalue;
- if(rvalue is long ) return -(long )rvalue;
- if(rvalue is double ) return -(double )rvalue;
- if(rvalue is float ) return -(float )rvalue;
- if(rvalue is decimal) return -(decimal)rvalue;
- if(rvalue is short ) return -(short )rvalue;
- if(rvalue is byte ) return -(byte )rvalue;
- return null;
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// An expression which negates a numeric expression value.
+ /// </summary>
+ public class NegateExpression : UnaryExpression
+ {
+ protected override string ExpressionSymbol
+ {
+ get { return "-"; }
+ }
+
+ public NegateExpression(IExpression left)
+ : base(left)
+ {
+ }
+
+ public override object Evaluate(MessageEvaluationContext message)
+ {
+ object rvalue = Right.Evaluate(message);
+ if(rvalue == null ) return null;
+ if(rvalue is int ) return -(int )rvalue;
+ if(rvalue is long ) return -(long )rvalue;
+ if(rvalue is double ) return -(double )rvalue;
+ if(rvalue is float ) return -(float )rvalue;
+ if(rvalue is decimal) return -(decimal)rvalue;
+ if(rvalue is short ) return -(short )rvalue;
+ if(rvalue is byte ) return -(byte )rvalue;
+ return null;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/ORExpression.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/ORExpression.cs b/src/main/csharp/Selector/ORExpression.cs
index 86648bc..b2ed7f3 100644
--- a/src/main/csharp/Selector/ORExpression.cs
+++ b/src/main/csharp/Selector/ORExpression.cs
@@ -1,46 +1,45 @@
-\ufeffusing System;
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.NMS.Selector
-{
- /// <summary>
- /// A filter performing a logical OR combination of two expressions.
- /// </summary>
- public class ORExpression : LogicExpression
- {
- protected override string ExpressionSymbol
- {
- get { return "OR"; }
- }
-
- public ORExpression(IBooleanExpression left, IBooleanExpression right)
- : base(left, right)
- {
- }
-
- public override object Evaluate(MessageEvaluationContext message)
- {
- object lvalue = Left.Evaluate(message);
- if(lvalue != null && (bool)lvalue) return true;
-
- object rvalue = Right.Evaluate(message);
- return rvalue == null ? null : rvalue;
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+
+namespace Apache.NMS.Selector
+{
+ /// <summary>
+ /// A filter performing a logical OR combination of two expressions.
+ /// </summary>
+ public class ORExpression : LogicExpression
+ {
+ protected override string ExpressionSymbol
+ {
+ get { return "OR"; }
+ }
+
+ public ORExpression(IBooleanExpression left, IBooleanExpression right)
+ : base(left, right)
+ {
+ }
+
+ public override object Evaluate(MessageEvaluationContext message)
+ {
+ object lvalue = Left.Evaluate(message);
+ if(lvalue != null && (bool)lvalue) return true;
+
+ object rvalue = Right.Evaluate(message);
+ return rvalue == null ? null : rvalue;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-nms-msmq/blob/7274a80a/src/main/csharp/Selector/ParseException.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Selector/ParseException.cs b/src/main/csharp/Selector/ParseException.cs
index f1b6d60..17706e1 100644
--- a/src/main/csharp/Selector/ParseException.cs
+++ b/src/main/csharp/Selector/ParseException.cs
@@ -1,197 +1,197 @@
-/* Generated By:CSharpCC: Do not edit this line. ParseException.cs Version 3.2 */
-/// <summary>
-/// This exception is thrown when parse errors are encountered.
-/// </summary>
-/// <remarks>
-/// You can explicitly create objects of this exception type by
-/// calling the method GenerateParseException in the generated
-/// parser.
-/// <para>
-/// You can modify this class to customize your error reporting
-/// mechanisms so long as you retain the public fields.
-/// </para>
-/// </remarks>
-public class ParseException : System.Exception {
-
- /**
- * This constructor is used by the method "GenerateParseException"
- * in the generated parser. Calling this constructor generates
- * a new object of this type with the fields "currentToken",
- * "expectedTokenSequences", and "tokenImage" set. The boolean
- * flag "specialConstructor" is also set to true to indicate that
- * this constructor was used to create this object.
- * This constructor calls its super class with the empty string
- * to force the "toString" method of parent class "Throwable" to
- * print the error message in the form:
- * ParseException: result of getMessage
- */
- public ParseException(Token currentTokenVal,
- int[][] expectedTokenSequencesVal,
- string[] tokenImageVal
- ) : base("") {
- specialConstructor = true;
- currentToken = currentTokenVal;
- expectedTokenSequences = expectedTokenSequencesVal;
- tokenImage = tokenImageVal;
- }
-
- /**
- * The following constructors are for use by you for whatever
- * purpose you can think of. Constructing the exception in this
- * manner makes the exception behave in the normal way - i.e., as
- * documented in the class "Exception". The fields "errorToken",
- * "expectedTokenSequences", and "tokenImage" do not contain
- * relevant information. The CSharpCC generated code does not use
- * these constructors.
- */
-
- public ParseException() :
- base() {
- specialConstructor = false;
- }
-
- public ParseException(string message) :
- base(message) {
- specialConstructor = false;
- }
-
- /**
- * This variable determines which constructor was used to create
- * this object and thereby affects the semantics of the
- * "getMessage" method (see below).
- */
- protected bool specialConstructor;
-
- /**
- * This is the last token that has been consumed successfully. If
- * this object has been created due to a parse error, the token
- * followng this token will (therefore) be the first error token.
- */
- public Token currentToken;
-
- /**
- * Each entry in this array is an array of integers. Each array
- * of integers represents a sequence of tokens (by their ordinal
- * values) that is expected at this point of the parse.
- */
- public int[][] expectedTokenSequences;
-
- /**
- * This is a reference to the "tokenImage" array of the generated
- * parser within which the parse error occurred. This array is
- * defined in the generated ...Constants interface.
- */
- public string[] tokenImage;
-
- /**
- * This method has the standard behavior when this object has been
- * created using the standard constructors. Otherwise, it uses
- * "currentToken" and "expectedTokenSequences" to generate a parse
- * error message and returns it. If this object has been created
- * due to a parse error, and you do not catch it (it gets thrown
- * from the parser), then this method is called during the printing
- * of the final stack trace, and hence the correct error message
- * gets displayed.
- */
- public override string Message {
- get {
- if (!specialConstructor) {
- return base.Message;
- }
- string expected = "";
- int maxSize = 0;
- for (int i = 0; i < expectedTokenSequences.Length; i++) {
- if (maxSize < expectedTokenSequences[i].Length) {
- maxSize = expectedTokenSequences[i].Length;
- }
- for (int j = 0; j < expectedTokenSequences[i].Length; j++) {
- expected += tokenImage[expectedTokenSequences[i][j]] + " ";
- }
- if (expectedTokenSequences[i][expectedTokenSequences[i].Length - 1] != 0) {
- expected += "...";
- }
- expected += eol + " ";
- }
- string retval = "Encountered \"";
- Token tok = currentToken.next;
- for (int i = 0; i < maxSize; i++) {
- if (i != 0) retval += " ";
- if (tok.kind == 0) {
- retval += tokenImage[0];
- break;
- }
- retval += AddEscapes(tok.image);
- tok = tok.next;
- }
- if (currentToken.next.kind == 0) {
- retval += "\" after line ";
- } else {
- retval += "\" at line ";
- }
- retval += currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
- retval += "." + eol;
- if (expectedTokenSequences.Length == 1) {
- retval += "Was expecting:" + eol + " ";
- } else {
- retval += "Was expecting one of:" + eol + " ";
- }
- retval += expected;
- return retval;
- }
- }
-
- /**
- * The end of line string for this machine.
- */
- protected string eol = System.Environment.NewLine;
-
- /**
- * Used to convert raw characters to their escaped version
- * when these raw version cannot be used as part of an ASCII
- * string literal.
- */
- protected string AddEscapes(string str) {
- System.Text.StringBuilder retval = new System.Text.StringBuilder();
- char ch;
- for (int i = 0; i < str.Length; i++) {
- switch (str[i]) {
- case '\0' :
- continue;
- case '\b':
- retval.Append("\\b");
- continue;
- case '\t':
- retval.Append("\\t");
- continue;
- case '\n':
- retval.Append("\\n");
- continue;
- case '\f':
- retval.Append("\\f");
- continue;
- case '\r':
- retval.Append("\\r");
- continue;
- case '\"':
- retval.Append("\\\"");
- continue;
- case '\'':
- retval.Append("\\\'");
- continue;
- case '\\':
- retval.Append("\\\\");
- continue;
- default:
- if ((ch = str[i]) < 0x20 || ch > 0x7e) {
- string s = "0000" + System.Convert.ToString((int)ch, 16);
- retval.Append("\\u" + s.Substring(s.Length - 4, s.Length - (s.Length - 4)));
- } else {
- retval.Append(ch);
- }
- continue;
- }
- }
- return retval.ToString();
- }
-
-}
+/* Generated By:CSharpCC: Do not edit this line. ParseException.cs Version 3.2 */
+/// <summary>
+/// This exception is thrown when parse errors are encountered.
+/// </summary>
+/// <remarks>
+/// You can explicitly create objects of this exception type by
+/// calling the method GenerateParseException in the generated
+/// parser.
+/// <para>
+/// You can modify this class to customize your error reporting
+/// mechanisms so long as you retain the public fields.
+/// </para>
+/// </remarks>
+public class ParseException : System.Exception {
+
+ /**
+ * This constructor is used by the method "GenerateParseException"
+ * in the generated parser. Calling this constructor generates
+ * a new object of this type with the fields "currentToken",
+ * "expectedTokenSequences", and "tokenImage" set. The boolean
+ * flag "specialConstructor" is also set to true to indicate that
+ * this constructor was used to create this object.
+ * This constructor calls its super class with the empty string
+ * to force the "toString" method of parent class "Throwable" to
+ * print the error message in the form:
+ * ParseException: result of getMessage
+ */
+ public ParseException(Token currentTokenVal,
+ int[][] expectedTokenSequencesVal,
+ string[] tokenImageVal
+ ) : base("") {
+ specialConstructor = true;
+ currentToken = currentTokenVal;
+ expectedTokenSequences = expectedTokenSequencesVal;
+ tokenImage = tokenImageVal;
+ }
+
+ /**
+ * The following constructors are for use by you for whatever
+ * purpose you can think of. Constructing the exception in this
+ * manner makes the exception behave in the normal way - i.e., as
+ * documented in the class "Exception". The fields "errorToken",
+ * "expectedTokenSequences", and "tokenImage" do not contain
+ * relevant information. The CSharpCC generated code does not use
+ * these constructors.
+ */
+
+ public ParseException() :
+ base() {
+ specialConstructor = false;
+ }
+
+ public ParseException(string message) :
+ base(message) {
+ specialConstructor = false;
+ }
+
+ /**
+ * This variable determines which constructor was used to create
+ * this object and thereby affects the semantics of the
+ * "getMessage" method (see below).
+ */
+ protected bool specialConstructor;
+
+ /**
+ * This is the last token that has been consumed successfully. If
+ * this object has been created due to a parse error, the token
+ * followng this token will (therefore) be the first error token.
+ */
+ public Token currentToken;
+
+ /**
+ * Each entry in this array is an array of integers. Each array
+ * of integers represents a sequence of tokens (by their ordinal
+ * values) that is expected at this point of the parse.
+ */
+ public int[][] expectedTokenSequences;
+
+ /**
+ * This is a reference to the "tokenImage" array of the generated
+ * parser within which the parse error occurred. This array is
+ * defined in the generated ...Constants interface.
+ */
+ public string[] tokenImage;
+
+ /**
+ * This method has the standard behavior when this object has been
+ * created using the standard constructors. Otherwise, it uses
+ * "currentToken" and "expectedTokenSequences" to generate a parse
+ * error message and returns it. If this object has been created
+ * due to a parse error, and you do not catch it (it gets thrown
+ * from the parser), then this method is called during the printing
+ * of the final stack trace, and hence the correct error message
+ * gets displayed.
+ */
+ public override string Message {
+ get {
+ if (!specialConstructor) {
+ return base.Message;
+ }
+ string expected = "";
+ int maxSize = 0;
+ for (int i = 0; i < expectedTokenSequences.Length; i++) {
+ if (maxSize < expectedTokenSequences[i].Length) {
+ maxSize = expectedTokenSequences[i].Length;
+ }
+ for (int j = 0; j < expectedTokenSequences[i].Length; j++) {
+ expected += tokenImage[expectedTokenSequences[i][j]] + " ";
+ }
+ if (expectedTokenSequences[i][expectedTokenSequences[i].Length - 1] != 0) {
+ expected += "...";
+ }
+ expected += eol + " ";
+ }
+ string retval = "Encountered \"";
+ Token tok = currentToken.next;
+ for (int i = 0; i < maxSize; i++) {
+ if (i != 0) retval += " ";
+ if (tok.kind == 0) {
+ retval += tokenImage[0];
+ break;
+ }
+ retval += AddEscapes(tok.image);
+ tok = tok.next;
+ }
+ if (currentToken.next.kind == 0) {
+ retval += "\" after line ";
+ } else {
+ retval += "\" at line ";
+ }
+ retval += currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
+ retval += "." + eol;
+ if (expectedTokenSequences.Length == 1) {
+ retval += "Was expecting:" + eol + " ";
+ } else {
+ retval += "Was expecting one of:" + eol + " ";
+ }
+ retval += expected;
+ return retval;
+ }
+ }
+
+ /**
+ * The end of line string for this machine.
+ */
+ protected string eol = System.Environment.NewLine;
+
+ /**
+ * Used to convert raw characters to their escaped version
+ * when these raw version cannot be used as part of an ASCII
+ * string literal.
+ */
+ protected string AddEscapes(string str) {
+ System.Text.StringBuilder retval = new System.Text.StringBuilder();
+ char ch;
+ for (int i = 0; i < str.Length; i++) {
+ switch (str[i]) {
+ case '\0' :
+ continue;
+ case '\b':
+ retval.Append("\\b");
+ continue;
+ case '\t':
+ retval.Append("\\t");
+ continue;
+ case '\n':
+ retval.Append("\\n");
+ continue;
+ case '\f':
+ retval.Append("\\f");
+ continue;
+ case '\r':
+ retval.Append("\\r");
+ continue;
+ case '\"':
+ retval.Append("\\\"");
+ continue;
+ case '\'':
+ retval.Append("\\\'");
+ continue;
+ case '\\':
+ retval.Append("\\\\");
+ continue;
+ default:
+ if ((ch = str[i]) < 0x20 || ch > 0x7e) {
+ string s = "0000" + System.Convert.ToString((int)ch, 16);
+ retval.Append("\\u" + s.Substring(s.Length - 4, s.Length - (s.Length - 4)));
+ } else {
+ retval.Append(ch);
+ }
+ continue;
+ }
+ }
+ return retval.ToString();
+ }
+
+}