[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] fenfire/org/fenfire/loom Cursor.java Cursor.tes...
From: |
Benja Fallenstein |
Subject: |
[Gzz-commits] fenfire/org/fenfire/loom Cursor.java Cursor.tes... |
Date: |
Tue, 04 Mar 2003 07:28:39 -0500 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Changes by: Benja Fallenstein <address@hidden> 03/03/04 07:28:39
Modified files:
org/fenfire/loom: Cursor.java Cursor.test Loom.java
SimpleView.test WheelView.test
Log message:
Order connections first by property, then by subject/object
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/Cursor.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/Cursor.test.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/Loom.java.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/SimpleView.test.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/WheelView.test.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
Patches:
Index: fenfire/org/fenfire/loom/Cursor.java
diff -u fenfire/org/fenfire/loom/Cursor.java:1.3
fenfire/org/fenfire/loom/Cursor.java:1.4
--- fenfire/org/fenfire/loom/Cursor.java:1.3 Tue Mar 4 06:17:19 2003
+++ fenfire/org/fenfire/loom/Cursor.java Tue Mar 4 07:28:39 2003
@@ -45,44 +45,31 @@
*/
public int rotation;
- /** The comparator used to order the nodes in the graph.
- * The vertical order of nodes is determined by this Comparator.
+ /** The comparator used to order statements by subject.
+ * The vertical order of object nodes
+ * is determined by this Comparator.
*/
- public Comparator order;
+ protected Comparator subjOrder;
- /** Compare statements by their subjects.
- * <code>subjOrder</code> orders statements by applying
- * <code>order</code> to their subjects.
+ /** The comparator used to order statements by object.
+ * The vertical order of subject nodes
+ * is determined by this Comparator.
*/
- protected Comparator subjOrder = new Comparator() {
- public int compare(Object o1, Object o2) {
- Statement s1 = (Statement)o1, s2 = (Statement)o2;
- return order.compare(s1.getSubject(), s2.getSubject());
- }
- };
-
- /** Compare statements by their objects.
- * <code>objOrder</code> orders statements by applying
- * <code>order</code> to their objects.
- */
- protected Comparator objOrder = new Comparator() {
- public int compare(Object o1, Object o2) {
- Statement s1 = (Statement)o1, s2 = (Statement)o2;
- return order.compare(s1.getObject(), s2.getObject());
- }
- };
+ protected Comparator objOrder;
/** Create a new cursor without giving it a position yet.
*/
- public Cursor(Comparator order) {
- this.order = order;
+ public Cursor(Comparator subjOrder, Comparator objOrder) {
+ this.subjOrder = subjOrder;
+ this.objOrder = objOrder;
}
/** Create a new cursor and give it a position.
*/
- public Cursor(Comparator order, Resource focus, int dir,
+ public Cursor(Comparator subjOrder, Comparator objOrder,
+ Resource focus, int dir,
RDFNode rotation) {
- this(order);
+ this(subjOrder, objOrder);
set(focus, dir, rotation);
}
Index: fenfire/org/fenfire/loom/Cursor.test
diff -u fenfire/org/fenfire/loom/Cursor.test:1.4
fenfire/org/fenfire/loom/Cursor.test:1.5
--- fenfire/org/fenfire/loom/Cursor.test:1.4 Tue Mar 4 06:17:19 2003
+++ fenfire/org/fenfire/loom/Cursor.test Tue Mar 4 07:28:39 2003
@@ -25,13 +25,19 @@
from com.hp.hpl.mesa.rdf import jena
class Cmp(java.util.Comparator):
+ def __init__(self, get):
+ self.get = get
+
def compare(self, r1, r2):
if (not r1) or (not r2):
raise java.lang.NullPointerException("r1=%r, r2=%r" % (r1, r2))
- # Nodes are compared by order of index:
- # n[4] > n[2], n[7] > n[4] etc.
- return n.index(r1) - n.index(r2)
+ # Nodes are compared by order of subject's index:
+ # n[4] > n[2], n[7] > n[4] etc.
+ return n.index(self.get(r1)) - n.index(self.get(r2))
+
+subjectCmp = Cmp(lambda stmt: stmt.getSubject())
+objectCmp = Cmp(lambda stmt: stmt.getObject())
def list(set):
l = []; i = set.iterator()
@@ -56,7 +62,7 @@
for i in range(3,10):
n[2].addProperty(p, n[i])
- c = gzz.loom.Cursor(Cmp())
+ c = gzz.loom.Cursor(subjectCmp, objectCmp)
def testGetConnections():
Index: fenfire/org/fenfire/loom/Loom.java
diff -u fenfire/org/fenfire/loom/Loom.java:1.4
fenfire/org/fenfire/loom/Loom.java:1.5
--- fenfire/org/fenfire/loom/Loom.java:1.4 Tue Mar 4 06:17:19 2003
+++ fenfire/org/fenfire/loom/Loom.java Tue Mar 4 07:28:39 2003
@@ -79,13 +79,32 @@
final Statement stmt = model.listStatements().next();
final GraphicsAPI api = GraphicsAPI.getInstance();
- final Comparator order = new Comparator() {
+ final Comparator subjOrder = new Comparator() {
public int compare(Object o1, Object o2) {
- return o1.toString().compareTo(o2.toString());
+ Statement s1 = (Statement)o1, s2 = (Statement)o2;
+ int cmp = s1.getPredicate().toString()
+ .compareTo(s2.getPredicate().toString());
+ if(cmp == 0)
+ cmp = s1.getSubject().toString()
+ .compareTo(s2.getSubject().toString());
+ return cmp;
}
};
+ final Comparator objOrder = new Comparator() {
+ public int compare(Object o1, Object o2) {
+ Statement s1 = (Statement)o1, s2 = (Statement)o2;
+ int cmp = s1.getPredicate().toString()
+ .compareTo(s2.getPredicate().toString());
+ if(cmp == 0)
+ cmp = s1.getObject().toString()
+ .compareTo(s2.getObject().toString());
+ return cmp;
+ }
+ };
+
final Cursor cursor =
- new Cursor(order, stmt.getSubject(), 1, stmt.getObject());
+ new Cursor(subjOrder, objOrder,
+ stmt.getSubject(), 1, stmt.getObject());
final TextStyle style = api.getTextStyle("Serif", 0, 12);
final NodeView nodeView = new NodeView() {
Index: fenfire/org/fenfire/loom/SimpleView.test
diff -u fenfire/org/fenfire/loom/SimpleView.test:1.4
fenfire/org/fenfire/loom/SimpleView.test:1.5
--- fenfire/org/fenfire/loom/SimpleView.test:1.4 Tue Mar 4 07:02:50 2003
+++ fenfire/org/fenfire/loom/SimpleView.test Tue Mar 4 07:28:39 2003
@@ -49,15 +49,19 @@
props[node] = prop
class Cmp(java.util.Comparator):
+ def __init__(self, get): self.get = get
+
def compare(self, r1, r2):
- return [t,r,s,v,u,w].index(r1) - [t,r,s,v,u,w].index(r2)
+ return [t,r,s,v,u,w].index(self.get(r1)) \
+ - [t,r,s,v,u,w].index(self.get(r2))
def testNullRotation():
r.addProperty(p, s)
r.addProperty(p, t)
vs = getvs()
- cursor = gzz.loom.Cursor(Cmp())
+ cursor = gzz.loom.Cursor(Cmp(lambda stmt: stmt.getSubject()),
+ Cmp(lambda stmt: stmt.getObject()))
cursor.set(r)
view.render(vs, 0, cursor)
@@ -82,7 +86,9 @@
w.addProperty(p, r)
vs = getvs()
- cursor = gzz.loom.Cursor(Cmp(), r, 1, s)
+ cursor = gzz.loom.Cursor(Cmp(lambda stmt: stmt.getSubject()),
+ Cmp(lambda stmt: stmt.getObject()),
+ r, 1, s)
assert cursor.rotation == 0
view.render(vs, 0, cursor)
Index: fenfire/org/fenfire/loom/WheelView.test
diff -u fenfire/org/fenfire/loom/WheelView.test:1.4
fenfire/org/fenfire/loom/WheelView.test:1.5
--- fenfire/org/fenfire/loom/WheelView.test:1.4 Tue Mar 4 07:02:50 2003
+++ fenfire/org/fenfire/loom/WheelView.test Tue Mar 4 07:28:39 2003
@@ -50,8 +50,11 @@
props[node] = prop
class Cmp(java.util.Comparator):
+ def __init__(self, get): self.get = get
+
def compare(self, r1, r2):
- return [t,r,s,v,u,w].index(r1) - [t,r,s,v,u,w].index(r2)
+ return [t,r,s,v,u,w].index(self.get(r1)) \
+ - [t,r,s,v,u,w].index(self.get(r2))
def distance(p1, p2):
@@ -94,7 +97,9 @@
w.addProperty(p, r)
vs = getvs()
- cursor = gzz.loom.Cursor(Cmp(), r, 1, s)
+ cursor = gzz.loom.Cursor(Cmp(lambda stmt: stmt.getSubject()),
+ Cmp(lambda stmt: stmt.getObject()),
+ r, 1, s)
assert cursor.rotation == 0
view.render(vs, 0, cursor)