event listener is now used by the xml router and the publish method of the gateway is
[xmlrouter] / impl / src / main / java / org / wamblee / xmlrouter / impl / Transformations.java
index 212d36b2ef6c560d74c41f0adcf69a60b897e4e1..20455e8a5e2b8633d4d783a5e1e26fed46e2c602 100644 (file)
@@ -12,7 +12,7 @@
  * 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.
- */ 
+ */
 package org.wamblee.xmlrouter.impl;
 
 import java.util.ArrayList;
@@ -23,29 +23,29 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
 
 import org.wamblee.xmlrouter.common.Id;
 import org.wamblee.xmlrouter.config.Transformation;
 
 public class Transformations {
 
-    private AtomicInteger sequenceNumber;
-    private Map<Integer, Transformation> transformations;
+    private AtomicLong sequenceNumber;
+    private Map<Long, Transformation> transformations;
     private List<String> vertices;
     private TransformationPath[][] matrix;
 
     private Map<String, List<TransformationPath>> sequences;
 
     public Transformations() {
-        sequenceNumber = new AtomicInteger(1);
-        transformations = new LinkedHashMap<Integer, Transformation>();
+        sequenceNumber = new AtomicLong(1);
+        transformations = new LinkedHashMap<Long, Transformation>();
         vertices = new ArrayList<String>();
         matrix = new TransformationPath[0][0];
     }
 
     public Id<Transformation> addTransformation(Transformation aTransformation) {
-        int seqno = sequenceNumber.getAndIncrement();
+        long seqno = sequenceNumber.getAndIncrement();
         Id<Transformation> id = new Id<Transformation>(seqno);
         transformations.put(seqno,
             new RobustTransformation(id, aTransformation));
@@ -80,7 +80,7 @@ public class Transformations {
      */
     public TransformationPath getPath(String aFrom, String aTo) {
         int i = vertices.indexOf(aFrom);
-        if (i == -1) {
+        if (i < 0) {
             if (aFrom.equals(aTo)) {
                 return new TransformationPath();
             }
@@ -88,6 +88,9 @@ public class Transformations {
         }
 
         int j = vertices.indexOf(aTo);
+        if (j < 0) {
+            return null;
+        }
         return matrix[i][j];
     }