gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] fenfire/org/fenfire/swamp ConstGraph.java Graph...


From: Tuomas J. Lukka
Subject: [Gzz-commits] fenfire/org/fenfire/swamp ConstGraph.java Graph...
Date: Mon, 14 Apr 2003 08:21:21 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Changes by:     Tuomas J. Lukka <address@hidden>        03/04/14 08:21:20

Modified files:
        org/fenfire/swamp: ConstGraph.java Graph.java graphtest.py 
                           makeswamp.py observablegraphtest.py 
        org/fenfire/swamp/impl: AbstractConstGraph.java 
                                AbstractGraph.java HashGraph.java 
                                StdObservedConstGraph.java 
                                StdObservedGraph.java 

Log message:
        Code generation for swamp. Sorry about generated files in CVS for now...

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/swamp/ConstGraph.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/swamp/Graph.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/swamp/graphtest.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/swamp/makeswamp.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/swamp/observablegraphtest.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/swamp/impl/AbstractConstGraph.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/swamp/impl/AbstractGraph.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/swamp/impl/HashGraph.java.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/swamp/impl/StdObservedConstGraph.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/swamp/impl/StdObservedGraph.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/swamp/ConstGraph.java
diff -u fenfire/org/fenfire/swamp/ConstGraph.java:1.2 
fenfire/org/fenfire/swamp/ConstGraph.java:1.3
--- fenfire/org/fenfire/swamp/ConstGraph.java:1.2       Sun Apr 13 03:49:05 2003
+++ fenfire/org/fenfire/swamp/ConstGraph.java   Mon Apr 14 08:21:20 2003
@@ -1,18 +1,36 @@
-// (c) Tuomas J. Lukka
+// AUTOGENERATED By makeswamp.py - DO NOT EDIT.
 
 package org.fenfire.swamp;
 import java.util.Iterator;
 import org.fenfire.Obs;
 
+/** A non-modifiable RDF graph.
+ */
 public interface ConstGraph {
-    ConstGraph getObservedConstGraph(Obs o);
+    ConstGraph getObservedConstGraph(org.fenfire.Obs o);
+    void close();
 
-    Object find1_11X(Object subject, Object predicate);
-    Iterator findN_11X_Iter(Object subject, Object predicate);
-    Object find1_11X(Object subject, Object predicate, Obs o);
-    Iterator findN_11X_Iter(Object subject, Object predicate, Obs o);
+    Object find1_11X(Object e0,Object e1) ;
+Object find1_1X1(Object e0,Object e2) ;
+Object find1_X11(Object e1,Object e2) ;
+Object find1_1XA(Object e0) ;
+Object find1_XAA() ;
+Iterator findN_11X_Iter(Object e0,Object e1) ;
+Iterator findN_1X1_Iter(Object e0,Object e2) ;
+Iterator findN_X11_Iter(Object e1,Object e2) ;
+Iterator findN_1XA_Iter(Object e0) ;
+Iterator findN_XAA_Iter() ;
 
-    void close();
+    Object find1_11X(Object e0,Object e1,Obs obs) ;
+Object find1_1X1(Object e0,Object e2,Obs obs) ;
+Object find1_X11(Object e1,Object e2,Obs obs) ;
+Object find1_1XA(Object e0,Obs obs) ;
+Object find1_XAA(Obs obs) ;
+Iterator findN_11X_Iter(Object e0,Object e1,Obs obs) ;
+Iterator findN_1X1_Iter(Object e0,Object e2,Obs obs) ;
+Iterator findN_X11_Iter(Object e1,Object e2,Obs obs) ;
+Iterator findN_1XA_Iter(Object e0,Obs obs) ;
+Iterator findN_XAA_Iter(Obs obs) ;
 
 
 }
Index: fenfire/org/fenfire/swamp/Graph.java
diff -u fenfire/org/fenfire/swamp/Graph.java:1.3 
fenfire/org/fenfire/swamp/Graph.java:1.4
--- fenfire/org/fenfire/swamp/Graph.java:1.3    Sun Apr 13 03:49:05 2003
+++ fenfire/org/fenfire/swamp/Graph.java        Mon Apr 14 08:21:20 2003
@@ -1,13 +1,19 @@
-// (c) Tuomas J. Lukka
+// AUTOGENERATED By makeswamp.py - DO NOT EDIT.
 
 package org.fenfire.swamp;
+import java.util.Iterator;
+import org.fenfire.Obs;
 
 /** A modifiable RDF graph.
  */
 public interface Graph extends ConstGraph {
     Graph getObservedGraph(org.fenfire.Obs o);
     void set1_11X(Object subject, Object predicate, Object object);
-//    void rm_1XX(Object subject);
-    void rm_11X(Object subject, Object predicate);
-    void rm_111(Object subject, Object predicate, Object object);
+
+    void rm_111(Object e0,Object e1,Object e2) ;
+void rm_11A(Object e0,Object e1) ;
+void rm_1AA(Object e0) ;
+
+
 }
+
Index: fenfire/org/fenfire/swamp/graphtest.py
diff -u fenfire/org/fenfire/swamp/graphtest.py:1.2 
fenfire/org/fenfire/swamp/graphtest.py:1.3
--- fenfire/org/fenfire/swamp/graphtest.py:1.2  Sat Apr 12 06:39:12 2003
+++ fenfire/org/fenfire/swamp/graphtest.py      Mon Apr 14 08:21:20 2003
@@ -25,12 +25,12 @@
 
     # Remove a different triple
     graph.rm_111(node[0], node[1], node[3])
-    graph.rm_11X(node[1], node[0])
+    graph.rm_11A(node[1], node[0])
 
     assert graph.find1_11X(node[0], node[1]) == node[2]
 
     # Remove the original triple
-    graph.rm_11X(node[0], node[1])
+    graph.rm_11A(node[0], node[1])
 
 
 
Index: fenfire/org/fenfire/swamp/impl/AbstractConstGraph.java
diff -u fenfire/org/fenfire/swamp/impl/AbstractConstGraph.java:1.1 
fenfire/org/fenfire/swamp/impl/AbstractConstGraph.java:1.2
--- fenfire/org/fenfire/swamp/impl/AbstractConstGraph.java:1.1  Sun Apr 13 
03:49:05 2003
+++ fenfire/org/fenfire/swamp/impl/AbstractConstGraph.java      Mon Apr 14 
08:21:20 2003
@@ -1,4 +1,4 @@
-// (c) Tuomas J. Lukka
+// AUTOGENERATED By makeswamp.py - DO NOT EDIT.
 
 package org.fenfire.swamp.impl;
 import org.fenfire.Obs;
@@ -11,11 +11,37 @@
        return new StdObservedConstGraph(this, obs);
     }
     public void close() { }
-    public Object find1_11X(Object subject, Object predicate) {
-       return find1_11X(subject, predicate, null);
-    }
-    public Iterator findN_11X_Iter(Object subject, Object predicate) {
-       return findN_11X_Iter(subject, predicate, null);
-    }
+
+    public Object find1_11X(Object e0,Object e1) {
+        return  this.find1_11X(e0,e1,null);
+}
+public Object find1_1X1(Object e0,Object e2) {
+        return  this.find1_1X1(e0,e2,null);
+}
+public Object find1_X11(Object e1,Object e2) {
+        return  this.find1_X11(e1,e2,null);
+}
+public Object find1_1XA(Object e0) {
+        return  this.find1_1XA(e0,null);
+}
+public Object find1_XAA() {
+        return  this.find1_XAA(null);
+}
+public Iterator findN_11X_Iter(Object e0,Object e1) {
+        return  this.findN_11X_Iter(e0,e1,null);
+}
+public Iterator findN_1X1_Iter(Object e0,Object e2) {
+        return  this.findN_1X1_Iter(e0,e2,null);
+}
+public Iterator findN_X11_Iter(Object e1,Object e2) {
+        return  this.findN_X11_Iter(e1,e2,null);
+}
+public Iterator findN_1XA_Iter(Object e0) {
+        return  this.findN_1XA_Iter(e0,null);
+}
+public Iterator findN_XAA_Iter() {
+        return  this.findN_XAA_Iter(null);
+}
+
 
 }
Index: fenfire/org/fenfire/swamp/impl/AbstractGraph.java
diff -u fenfire/org/fenfire/swamp/impl/AbstractGraph.java:1.1 
fenfire/org/fenfire/swamp/impl/AbstractGraph.java:1.2
--- fenfire/org/fenfire/swamp/impl/AbstractGraph.java:1.1       Sun Apr 13 
03:49:05 2003
+++ fenfire/org/fenfire/swamp/impl/AbstractGraph.java   Mon Apr 14 08:21:20 2003
@@ -4,10 +4,27 @@
 import org.fenfire.Obs;
 import org.fenfire.swamp.*;
 import java.util.Iterator;
+import java.util.ArrayList;
 
 abstract public class AbstractGraph extends AbstractConstGraph implements 
Graph {
     public Graph getObservedGraph(org.fenfire.Obs o) {
        return new StdObservedGraph(this, o);
+    }
+
+    public void rm_11A(Object e0,Object e1) {
+       Iterator i = findN_11X_Iter(e0, e1);
+       ArrayList l = new ArrayList();
+       while(i.hasNext())
+           l.add(i.next());
+       for(i = l.iterator(); i.hasNext();)
+           rm_111(e0, e1, i.next());
+    }
+    public void rm_1AA(Object e0) {
+       while(true) {
+           Iterator i = findN_1XA_Iter(e0);
+           if(!i.hasNext()) return;
+           rm_11A(e0, i.next());
+       }
     }
 }
 
Index: fenfire/org/fenfire/swamp/impl/HashGraph.java
diff -u fenfire/org/fenfire/swamp/impl/HashGraph.java:1.4 
fenfire/org/fenfire/swamp/impl/HashGraph.java:1.5
--- fenfire/org/fenfire/swamp/impl/HashGraph.java:1.4   Sun Apr 13 03:49:05 2003
+++ fenfire/org/fenfire/swamp/impl/HashGraph.java       Mon Apr 14 08:21:20 2003
@@ -1,114 +1,228 @@
-// (c) Tuomas J. Lukka
+// AUTOGENERATED By makeswamp.py - DO NOT EDIT.
 
-package org.fenfire.swamp.impl;
-import org.fenfire.Obs;
-import org.fenfire.swamp.*;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-/** An RDF Graph implemented by HashMaps.
- * Relatively inefficient but a basic implementation
- * that can be used as a reference.
- */
-public class HashGraph extends AbstractGraph {
-
-    /** Map: key = subject, value = (Map: key=predicate, value = 
-     * (Set: r/l)).
+    package org.fenfire.swamp.impl;
+    import org.fenfire.Obs;
+    import org.fenfire.swamp.*;
+
+    import java.util.HashMap;
+    import java.util.Set;
+    import java.util.HashSet;
+    import java.util.ArrayList;
+    import java.util.Iterator;
+
+    /** An RDF Graph implemented by HashMaps.
+     * Relatively inefficient but a basic implementation
+     * that can be used as a reference.
      */
-    private HashMap spo = new HashMap();
-
-
-    private HashSet emptySet = new HashSet();
+    public class HashGraph extends AbstractGraph {
 
-    private StdObserver observer = new StdObserver();
+       private HashMap ind_012 = new HashMap();
+private HashMap ind_021 = new HashMap();
+private HashMap ind_120 = new HashMap();
+
+
+       private HashSet emptySet = new HashSet();
+       private StdObserver observer = new StdObserver();
+
+       private final void rm_ind(HashMap ind, Object o1, Object o2, Object o3) 
{
+           HashMap m2 = (HashMap)ind.get(o1);
+           if(m2 == null) return;
+           HashSet m3 = (HashSet)m2.get(o2);
+           if(m3 == null) return;
+           m3.remove(o3);
+       }
 
-    private HashSet get_HHS(boolean create, HashMap m,
-                   Object o1, Object o2) {
-       HashMap m2 = (HashMap)m.get(o1);
-       if(m2 == null) {
-           if(create) {
+       private final void add_ind(HashMap ind, Object o1, Object o2, Object 
o3) {
+           HashMap m2 = (HashMap)ind.get(o1);
+           if(m2 == null) {
                m2 = new HashMap();
-               m.put(o1, m2);
-           } else {
-               return null;
+               ind.put(o1, m2);
            }
-       }
-       HashSet s = (HashSet)m2.get(o2);
-       if(s == null) {
-           if(create) {
+           HashSet s = (HashSet)m2.get(o2);
+           if(s == null) {
                s = new HashSet();
                m2.put(o2, s);
-           } else {
-               return null;
            }
+           s.add(o3);
        }
-       return s;
-    }
 
-    public Object find1_11X(Object subject, Object predicate, Obs obs) {
-       observer.addObs(subject, predicate, observer.WILDCARD, obs);
-       HashSet s = get_HHS(false, spo, subject, predicate);
-       if(s == null) return null;
-       int size = s.size();
-       if(size == 0) return null;
-       if(size != 1) throw new  NotUniqueError(subject, predicate, null);
-       // urgh...
-       return s.iterator().next();
-    }
+       public void set1_11X(Object subject, Object predicate, Object object) {
+           rm_11A(subject, predicate);
 
+           add(subject, predicate, object);
+       }
 
-    public Iterator findN_11X_Iter(Object subject, Object predicate, Obs obs) {
-       observer.addObs(subject, predicate, observer.WILDCARD, obs);
-       HashSet s = get_HHS(false, spo, subject, predicate);
-       if(s == null) 
-           return emptySet.iterator();
-       int size = s.size();
-       return s.iterator();
-    }
 
+       //////////////////
+       // Finds
+
+       public Object find1_11X(Object e0,Object e1,Obs obs) {
+if(obs != null) observer.addObs(e0, e1, observer.WILDCARD, obs);
+
+                   HashMap hash1 = (HashMap) ind_012.get(e0);
+                   if(hash1 == null) return null; 
+               
+                   HashSet hash2 = (HashSet) hash1.get(e1);
+                   if(hash2 == null) return null; 
+               
+                       HashSet resSet = hash2;
+                   
+               if(resSet.size() == 0) return null;
+               if(resSet.size() == 1) return resSet.iterator().next();
+               throw new NotUniqueError(e0,e1,null);
+           }
 
+public Object find1_1X1(Object e0,Object e2,Obs obs) {
+if(obs != null) observer.addObs(e0, observer.WILDCARD, e2, obs);
 
-    // --------------------------------
-    // Methods which modify the structure by calling the single-triple
-    // methods below.
-    //
+                   HashMap hash1 = (HashMap) ind_021.get(e0);
+                   if(hash1 == null) return null; 
+               
+                   HashSet hash2 = (HashSet) hash1.get(e2);
+                   if(hash2 == null) return null; 
+               
+                       HashSet resSet = hash2;
+                   
+               if(resSet.size() == 0) return null;
+               if(resSet.size() == 1) return resSet.iterator().next();
+               throw new NotUniqueError(e0,null,e2);
+           }
 
+public Object find1_X11(Object e1,Object e2,Obs obs) {
+if(obs != null) observer.addObs(observer.WILDCARD, e1, e2, obs);
 
-    public void set1_11X(Object subject, Object predicate, Object object) {
-       rm_11X(subject, predicate);
+                   HashMap hash1 = (HashMap) ind_120.get(e1);
+                   if(hash1 == null) return null; 
+               
+                   HashSet hash2 = (HashSet) hash1.get(e2);
+                   if(hash2 == null) return null; 
+               
+                       HashSet resSet = hash2;
+                   
+               if(resSet.size() == 0) return null;
+               if(resSet.size() == 1) return resSet.iterator().next();
+               throw new NotUniqueError(null,e1,e2);
+           }
 
-       add(subject, predicate, object);
-    }
+public Object find1_1XA(Object e0,Obs obs) {
+if(obs != null) observer.addObs(e0, observer.WILDCARD, observer.WILDCARD, obs);
 
-    public void rm_11X(Object subject, Object predicate) {
-       HashSet s = get_HHS(false, spo, subject, predicate);
-       if(s == null) return;
-       ArrayList l = new ArrayList(s);
-       for(Iterator i = l.iterator(); i.hasNext(); ) 
-           rm_111(subject, predicate, i.next());
-    }
+                   HashMap hash1 = (HashMap) ind_012.get(e0);
+                   if(hash1 == null) return null; 
+               
+                       Set resSet = hash1.keySet();
+                   
+               if(resSet.size() == 0) return null;
+               if(resSet.size() == 1) return resSet.iterator().next();
+               throw new NotUniqueError(e0,null,null);
+           }
 
+public Object find1_XAA(Obs obs) {
+if(obs != null) observer.addObs(observer.WILDCARD, observer.WILDCARD, 
observer.WILDCARD, obs);
 
-    // --------------------------------
-    // Methods which actually modify the structure
-    //
-
-    public void rm_111(Object subject, Object predicate, Object object) {
-       HashSet s = get_HHS(false, spo, subject, predicate);
-       if(s == null) return;
-       s.remove(object);
-       observer.triggerObs(subject, predicate, object);
-    }
+                       Set resSet = ind_012.keySet();
+                   
+               if(resSet.size() == 0) return null;
+               if(resSet.size() == 1) return resSet.iterator().next();
+               throw new NotUniqueError(null,null,null);
+           }
 
-    public void add(Object subject, Object predicate, Object object) {
-       get_HHS(true, spo, subject, predicate).add(object);
-       observer.triggerObs(subject, predicate, object);
-    }
+public Iterator findN_11X_Iter(Object e0,Object e1,Obs obs) {
+if(obs != null) observer.addObs(e0, e1, observer.WILDCARD, obs);
+
+                   HashMap hash1 = (HashMap) ind_012.get(e0);
+                   if(hash1 == null) return emptySet.iterator(); 
+               
+                   HashSet hash2 = (HashSet) hash1.get(e1);
+                   if(hash2 == null) return emptySet.iterator(); 
+               
+                       HashSet resSet = hash2;
+                   return resSet.iterator();
+}
 
+public Iterator findN_1X1_Iter(Object e0,Object e2,Obs obs) {
+if(obs != null) observer.addObs(e0, observer.WILDCARD, e2, obs);
+
+                   HashMap hash1 = (HashMap) ind_021.get(e0);
+                   if(hash1 == null) return emptySet.iterator(); 
+               
+                   HashSet hash2 = (HashSet) hash1.get(e2);
+                   if(hash2 == null) return emptySet.iterator(); 
+               
+                       HashSet resSet = hash2;
+                   return resSet.iterator();
+}
+
+public Iterator findN_X11_Iter(Object e1,Object e2,Obs obs) {
+if(obs != null) observer.addObs(observer.WILDCARD, e1, e2, obs);
+
+                   HashMap hash1 = (HashMap) ind_120.get(e1);
+                   if(hash1 == null) return emptySet.iterator(); 
+               
+                   HashSet hash2 = (HashSet) hash1.get(e2);
+                   if(hash2 == null) return emptySet.iterator(); 
+               
+                       HashSet resSet = hash2;
+                   return resSet.iterator();
 }
 
+public Iterator findN_1XA_Iter(Object e0,Obs obs) {
+if(obs != null) observer.addObs(e0, observer.WILDCARD, observer.WILDCARD, obs);
+
+                   HashMap hash1 = (HashMap) ind_012.get(e0);
+                   if(hash1 == null) return emptySet.iterator(); 
+               
+                       Set resSet = hash1.keySet();
+                   return resSet.iterator();
+}
+
+public Iterator findN_XAA_Iter(Obs obs) {
+if(obs != null) observer.addObs(observer.WILDCARD, observer.WILDCARD, 
observer.WILDCARD, obs);
+
+                       Set resSet = ind_012.keySet();
+                   return resSet.iterator();
+}
+
+
+
+
+       // --------------------------------
+       // Methods which modify the structure by calling the single-triple
+       // methods below.
+       //
+
+
+       // --------------------------------
+       // Methods which actually modify the structure
+       //
+
+       public void rm_111(Object e0, Object e1, Object e2) {
+           
+           rm_ind(ind_012, e0, e1, e2);
+       
+           rm_ind(ind_021, e0, e2, e1);
+       
+           rm_ind(ind_120, e1, e2, e0);
+       
+
+           observer.triggerObs(e0, e1, e2);
+       }
+
+       public void add(Object e0, Object e1, Object e2) {
+           
+           add_ind(ind_012, e0, e1, e2);
+       
+           add_ind(ind_021, e0, e2, e1);
+       
+           add_ind(ind_120, e1, e2, e0);
+       
+
+           observer.triggerObs(e0, e1, e2);
+       }
+
+    }
+
+
 
 
+    
\ No newline at end of file
Index: fenfire/org/fenfire/swamp/impl/StdObservedConstGraph.java
diff -u fenfire/org/fenfire/swamp/impl/StdObservedConstGraph.java:1.1 
fenfire/org/fenfire/swamp/impl/StdObservedConstGraph.java:1.2
--- fenfire/org/fenfire/swamp/impl/StdObservedConstGraph.java:1.1       Sun Apr 
13 03:49:05 2003
+++ fenfire/org/fenfire/swamp/impl/StdObservedConstGraph.java   Mon Apr 14 
08:21:20 2003
@@ -1,4 +1,4 @@
-// (c) Tuomas J. Lukka
+// AUTOGENERATED By makeswamp.py - DO NOT EDIT.
 
 package org.fenfire.swamp.impl;
 import org.fenfire.Obs;
@@ -24,18 +24,69 @@
 
     public void close() { }
 
-    public Object find1_11X(Object subject, Object predicate) {
-       return constgraph.find1_11X(subject, predicate, obs);
+    public Object find1_11X(Object e0,Object e1) {
+        return  constgraph.find1_11X(e0,e1,obs);
+}
+public Object find1_1X1(Object e0,Object e2) {
+        return  constgraph.find1_1X1(e0,e2,obs);
+}
+public Object find1_X11(Object e1,Object e2) {
+        return  constgraph.find1_X11(e1,e2,obs);
+}
+public Object find1_1XA(Object e0) {
+        return  constgraph.find1_1XA(e0,obs);
+}
+public Object find1_XAA() {
+        return  constgraph.find1_XAA(obs);
+}
+public Iterator findN_11X_Iter(Object e0,Object e1) {
+        return  constgraph.findN_11X_Iter(e0,e1,obs);
+}
+public Iterator findN_1X1_Iter(Object e0,Object e2) {
+        return  constgraph.findN_1X1_Iter(e0,e2,obs);
+}
+public Iterator findN_X11_Iter(Object e1,Object e2) {
+        return  constgraph.findN_X11_Iter(e1,e2,obs);
+}
+public Iterator findN_1XA_Iter(Object e0) {
+        return  constgraph.findN_1XA_Iter(e0,obs);
+}
+public Iterator findN_XAA_Iter() {
+        return  constgraph.findN_XAA_Iter(obs);
+}
+
+    public Object find1_11X(Object e0,Object e1,Obs obs) {
+       throw new Error("DoubleObs");
     }
-    public Iterator findN_11X_Iter(Object subject, Object predicate) {
-       return constgraph.findN_11X_Iter(subject, predicate, obs);
+public Object find1_1X1(Object e0,Object e2,Obs obs) {
+       throw new Error("DoubleObs");
     }
-    public Object find1_11X(Object subject, Object predicate, Obs o) {
-       throw new Error("No double observations yet");
+public Object find1_X11(Object e1,Object e2,Obs obs) {
+       throw new Error("DoubleObs");
     }
-    public Iterator findN_11X_Iter(Object subject, Object predicate, Obs o) {
-       throw new Error("No double observations yet");
+public Object find1_1XA(Object e0,Obs obs) {
+       throw new Error("DoubleObs");
     }
+public Object find1_XAA(Obs obs) {
+       throw new Error("DoubleObs");
+    }
+public Iterator findN_11X_Iter(Object e0,Object e1,Obs obs) {
+       throw new Error("DoubleObs");
+    }
+public Iterator findN_1X1_Iter(Object e0,Object e2,Obs obs) {
+       throw new Error("DoubleObs");
+    }
+public Iterator findN_X11_Iter(Object e1,Object e2,Obs obs) {
+       throw new Error("DoubleObs");
+    }
+public Iterator findN_1XA_Iter(Object e0,Obs obs) {
+       throw new Error("DoubleObs");
+    }
+public Iterator findN_XAA_Iter(Obs obs) {
+       throw new Error("DoubleObs");
+    }
+
 
 
 }
+
Index: fenfire/org/fenfire/swamp/impl/StdObservedGraph.java
diff -u fenfire/org/fenfire/swamp/impl/StdObservedGraph.java:1.2 
fenfire/org/fenfire/swamp/impl/StdObservedGraph.java:1.3
--- fenfire/org/fenfire/swamp/impl/StdObservedGraph.java:1.2    Sun Apr 13 
03:49:05 2003
+++ fenfire/org/fenfire/swamp/impl/StdObservedGraph.java        Mon Apr 14 
08:21:20 2003
@@ -1,4 +1,4 @@
-// (c) Tuomas J. Lukka
+// AUTOGENERATED By makeswamp.py - DO NOT EDIT.
 
 package org.fenfire.swamp.impl;
 import org.fenfire.Obs;
@@ -13,15 +13,19 @@
        this.graph = graph;
        this.obs = obs;
     }
-
     public void set1_11X(Object subject, Object predicate, Object object) {
        graph.set1_11X(subject, predicate, object);
     }
-    public void rm_11X(Object subject, Object predicate) {
-       graph.rm_11X(subject, predicate);
-    }
-    public void rm_111(Object subject, Object predicate, Object object) {
-       graph.rm_111(subject, predicate, object);
-    }
+
+    public void rm_111(Object e0,Object e1,Object e2) {
+         graph.rm_111(e0,e1,e2);
+}
+public void rm_11A(Object e0,Object e1) {
+         graph.rm_11A(e0,e1);
+}
+public void rm_1AA(Object e0) {
+         graph.rm_1AA(e0);
+}
 
 }
+
Index: fenfire/org/fenfire/swamp/makeswamp.py
diff -u fenfire/org/fenfire/swamp/makeswamp.py:1.2 
fenfire/org/fenfire/swamp/makeswamp.py:1.3
--- fenfire/org/fenfire/swamp/makeswamp.py:1.2  Mon Apr 14 06:25:37 2003
+++ fenfire/org/fenfire/swamp/makeswamp.py      Mon Apr 14 08:21:20 2003
@@ -73,7 +73,7 @@
     pars = []
     pars.extend(["Object "+i for i in g["Params"]])
     if obs:
-       pars.append("Obs o")
+       pars.append("Obs obs")
     return (g["FRet"] + " "+g["FName"]+"("+ 
            ",".join(pars) +
            ") ")
@@ -81,17 +81,22 @@
 def decl(g, obs=0):
     return proto(g, obs) + ";\n"
 
-def callObs(g, whatToCall, obs = None):
+def callObs(g, whatToCall, obs = None, ret = 1):
     ps = []
     ps.extend(g["Params"])
     if obs:
        ps.append(obs)
-    return (proto(g) + 
-           "{ \n\t"+whatToCall+"."+
+    if ret:
+       retu = "return "
+    else:
+       retu = ""
+    print g, ret, retu
+    return ("public "+proto(g) + 
+           "{\n\t "+retu+" "+whatToCall+"."+
            g["FName"]+"("+",".join(ps) + ");\n}\n")
 
 def noDoubleObs(g):
-    return proto(g, 1) + """{
+    return "public "+proto(g, 1) + """{
        throw new Error("DoubleObs");
     }"""+"\n"
 
@@ -106,20 +111,24 @@
                callObs(g, "constgraph", "obs") for g in constgraph])
 const_obs_nodouble = "".join([ noDoubleObs(g) for g in constgraph])
 
-graph_callother = "".join([ callObs(g, "graph") for g in graph ])
+graph_callother = "".join([ callObs(g, "graph", ret=0) for g in graph ])
 
 def mkFile(a,b):
-    print a
-    print "// AUTOGENERATED By makeswamp.py - DO NOT EDIT."
-    print b,"\n\n====================\n\n"
+    f = open(a,"w")
+    f.write("// AUTOGENERATED By makeswamp.py - DO NOT EDIT.\n")
+    f.write(b)
+    f.close()
 
-mkFile("org/fenfire/swamp/ConstGraph.nava", """
+mkFile("org/fenfire/swamp/ConstGraph.java", """
 package org.fenfire.swamp;
+import java.util.Iterator;
+import org.fenfire.Obs;
 
 /** A non-modifiable RDF graph.
  */
-public interface Graph extends ConstGraph {
+public interface ConstGraph {
     ConstGraph getObservedConstGraph(org.fenfire.Obs o);
+    void close();
 
     %(nonobs_findprotos)s
     %(obs_findprotos)s
@@ -128,14 +137,15 @@
 
 """ % locals())
 
-mkFile("org/fenfire/swamp/Graph.nava", """
+mkFile("org/fenfire/swamp/Graph.java", """
 package org.fenfire.swamp;
+import java.util.Iterator;
+import org.fenfire.Obs;
 
 /** A modifiable RDF graph.
  */
 public interface Graph extends ConstGraph {
     Graph getObservedGraph(org.fenfire.Obs o);
-    void close();
     void set1_11X(Object subject, Object predicate, Object object);
 
     %(nonobs_modprotos)s
@@ -144,7 +154,12 @@
 
 """ % locals())
 
-mkFile("org/fenfire/swamp/impl/AbstractConstGraph.nava", """
+mkFile("org/fenfire/swamp/impl/AbstractConstGraph.java", """
+package org.fenfire.swamp.impl;
+import org.fenfire.Obs;
+import org.fenfire.swamp.*;
+import java.util.Iterator;
+
 abstract public class AbstractConstGraph implements ConstGraph {
 
     public ConstGraph getObservedConstGraph(Obs obs) {
@@ -157,7 +172,7 @@
 }
 """ % locals())
 
-mkFile("org/fenfire/swamp/impl/StdObservedConstGraph.nava", """
+mkFile("org/fenfire/swamp/impl/StdObservedConstGraph.java", """
 package org.fenfire.swamp.impl;
 import org.fenfire.Obs;
 import org.fenfire.swamp.*;
@@ -190,7 +205,7 @@
 
 """ % locals())
 
-mkFile("org/fenfire/swamp/impl/StdObservedConstGraph.nava", """
+mkFile("org/fenfire/swamp/impl/StdObservedGraph.java", """
 package org.fenfire.swamp.impl;
 import org.fenfire.Obs;
 import org.fenfire.swamp.*;
@@ -204,7 +219,7 @@
        this.graph = graph;
        this.obs = obs;
     }
-    void set1_11X(Object subject, Object predicate, Object object) {
+    public void set1_11X(Object subject, Object predicate, Object object) {
        graph.set1_11X(subject, predicate, object);
     }
 
@@ -229,8 +244,7 @@
            for name in hashNames])
     
     def makeFind(g):
-       code = ""
-       code += proto(g, 1) + "{\n";
+       code = "public "+ proto(g, 1) + "{\n";
        def ow(i, wild):
            if g["Pattern"][i] == "1": return "e"+str(i)
            else: return wild
@@ -283,7 +297,7 @@
            elif p == "X":
                if i < 2:
                    code += """
-                       HashSet resSet = %(curHash)s.keySet();
+                       Set resSet = %(curHash)s.keySet();
                    """ % locals()
                else:
                    code += """
@@ -299,7 +313,7 @@
        else:
            code += """
                if(resSet.size() == 0) return null;
-               if(resSet.size() == 1) return resSet().iterator().next();
+               if(resSet.size() == 1) return resSet.iterator().next();
                throw new NotUniqueError(%(notUniqueParams)s);
            """ % locals()
            code = code.replace("RETURN_NONE", "return null; ")
@@ -311,6 +325,7 @@
 
     finds = "".join([makeFind(g) for g in constgraph])
 
+
     rm_triple = ""
     add_triple = ""
     for ind in range(0, len(hashIndices)):
@@ -325,12 +340,13 @@
            add_ind(%(name)s, e%(s0)s, e%(s1)s, e%(s2)s);
        """ % locals()
 
-    mkFile("org/fenfire/swamp/impl/HashGraph.nava", """
+    mkFile("org/fenfire/swamp/impl/HashGraph.java", """
     package org.fenfire.swamp.impl;
     import org.fenfire.Obs;
     import org.fenfire.swamp.*;
 
     import java.util.HashMap;
+    import java.util.Set;
     import java.util.HashSet;
     import java.util.ArrayList;
     import java.util.Iterator;
@@ -349,7 +365,7 @@
        private final void rm_ind(HashMap ind, Object o1, Object o2, Object o3) 
{
            HashMap m2 = (HashMap)ind.get(o1);
            if(m2 == null) return;
-           HashSet m3 = (HashMap)m2.get(o2);
+           HashSet m3 = (HashSet)m2.get(o2);
            if(m3 == null) return;
            m3.remove(o3);
        }
@@ -357,27 +373,19 @@
        private final void add_ind(HashMap ind, Object o1, Object o2, Object 
o3) {
            HashMap m2 = (HashMap)ind.get(o1);
            if(m2 == null) {
-               if(create) {
-                   m2 = new HashMap();
-                   m.put(o1, m2);
-               } else {
-                   return null;
-               }
+               m2 = new HashMap();
+               ind.put(o1, m2);
            }
            HashSet s = (HashSet)m2.get(o2);
            if(s == null) {
-               if(create) {
-                   s = new HashSet();
-                   m2.put(o2, s);
-               } else {
-                   return null;
-               }
+               s = new HashSet();
+               m2.put(o2, s);
            }
            s.add(o3);
        }
 
        public void set1_11X(Object subject, Object predicate, Object object) {
-           rm_11X(subject, predicate);
+           rm_11A(subject, predicate);
 
            add(subject, predicate, object);
        }
@@ -393,15 +401,6 @@
        // Methods which modify the structure by calling the single-triple
        // methods below.
        //
-
-
-       public void rm_11X(Object subject, Object predicate) {
-           HashSet s = get_HHS(false, spo, subject, predicate);
-           if(s == null) return;
-           ArrayList l = new ArrayList(s);
-           for(Iterator i = l.iterator(); i.hasNext(); ) 
-               rm_111(subject, predicate, i.next());
-       }
 
 
        // --------------------------------
Index: fenfire/org/fenfire/swamp/observablegraphtest.py
diff -u fenfire/org/fenfire/swamp/observablegraphtest.py:1.1 
fenfire/org/fenfire/swamp/observablegraphtest.py:1.2
--- fenfire/org/fenfire/swamp/observablegraphtest.py:1.1        Sat Apr 12 
06:39:12 2003
+++ fenfire/org/fenfire/swamp/observablegraphtest.py    Mon Apr 14 08:21:20 2003
@@ -30,7 +30,7 @@
     assert o2.t == 1
     assert graph.find1_11X(node[0], node[1]) == node[2]
 
-    graph.rm_11X(node[0], node[1])
+    graph.rm_11A(node[0], node[1])
 
     assert o1.t == 1
     assert o2.t == 1
@@ -42,7 +42,7 @@
     assert graph.find1_11X(node[0], node[1], o1) == node[2]
     assert graph.find1_11X(node[0], node[1], o2) == node[2]
 
-    graph.rm_11X(node[0], node[1])
+    graph.rm_11A(node[0], node[1])
 
     assert o1.t == 2
     assert o2.t == 2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]