gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] fenfire ./build.xml org/fenfire/Space.java org/...


From: Matti Katila
Subject: [Gzz-commits] fenfire ./build.xml org/fenfire/Space.java org/...
Date: Mon, 31 Mar 2003 07:37:48 -0500

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Changes by:     Matti Katila <address@hidden>   03/03/31 07:37:48

Modified files:
        .              : build.xml 
        org/fenfire    : Space.java 
        org/fenfire/impl: AbstractSpace.java 
        org/fenfire/modules/pp: BgVob.java PPActionsImpl.java 
                                PPActionsImpl.test PPCanvasCursor.java 
                                PPCanvasNode.java 
        org/fenfire/util: ShortRDF.java 
        org/fenfire/view: CoordinatePlaneView.java 
        org/fenfire/view/buoy: PPLinker.java PPLinker.test 
Added files:
        org/fenfire/modules/pp: Pp.java SinglePaper.java 
                                UniquePaperVob.java 
        org/fenfire/view: SpatialPlane.java 
        org/fenfire/view/buoy: BuoyAdaptor.java 

Log message:
        start the awt port of pp.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/build.xml.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/Space.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/impl/AbstractSpace.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/Pp.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/SinglePaper.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/UniquePaperVob.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/BgVob.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/PPActionsImpl.java.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/PPActionsImpl.test.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/PPCanvasCursor.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/modules/pp/PPCanvasNode.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/util/ShortRDF.java.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/SpatialPlane.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/CoordinatePlaneView.java.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/BuoyAdaptor.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/PPLinker.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/buoy/PPLinker.test.diff?tr1=1.3&tr2=1.4&r1=text&r2=text

Patches:
Index: fenfire/build.xml
diff -u fenfire/build.xml:1.23 fenfire/build.xml:1.24
--- fenfire/build.xml:1.23      Thu Mar 27 06:27:53 2003
+++ fenfire/build.xml   Mon Mar 31 07:37:47 2003
@@ -73,6 +73,14 @@
        </java>
     </target>
 
+    <target name="pp">
+        <java classname="org.fenfire.modules.pp.Pp" fork="true">
+           <arg value="${file}"/>
+           <classpath refid="theClassPath"/>
+       </java>
+    </target>
+
+
     <target name="run-gl">
         <java classname="org.fenfire.loom.Loom" fork="true">
            <sysproperty key="vob.api" value="gl"/> 
Index: fenfire/org/fenfire/Space.java
diff -u fenfire/org/fenfire/Space.java:1.2 fenfire/org/fenfire/Space.java:1.3
--- fenfire/org/fenfire/Space.java:1.2  Wed Mar 26 21:26:40 2003
+++ fenfire/org/fenfire/Space.java      Mon Mar 31 07:37:47 2003
@@ -2,25 +2,28 @@
 
 
 package org.fenfire;
+import org.nongnu.alph.*;
 import java.util.Set;
 import com.hp.hpl.mesa.rdf.jena.model.*;
 import com.hp.hpl.mesa.rdf.jena.common.*;
 
 
 
-/** A ZZ space - a set of nodes and connections.
- * @diagram zzstruct
+/** An RDF space - a set of triplets
  * @diagram delta
  */
 
 public interface Space {
-String rcsid = "$Id: Space.java,v 1.2 2003/03/27 02:26:40 mudyc Exp $";
+String rcsid = "$Id: Space.java,v 1.3 2003/03/31 12:37:47 mudyc Exp $";
 
     /** There are many plases where model is needed
      * and this provides it.
      */
     Model getModel();
 
+    /** XXX
+     */
+    Enfilade1D getEnfilade(RDFNode node);
 
     /** Get a subject node by its ID.
      * @diagram zzstruct
@@ -81,6 +84,18 @@
     RDFNode N(RDFNode inSlice, Dim dim, int dir, Obs o);
     RDFNode N(RDFNode inSlice, RDFNode dim, int dir, Obs o);
     */
+
+    /** Makes a new alph text node.
+     */
+    Resource N();
+
+    /** Makes a new alph text node with param text content.
+     */
+    Resource N(String text);
+
+    /** Make a new node from param subject with param property
+     */
+    Resource N(String text, Resource subject, Property property);
 
     /** Delete a given node.
      * @diagram zzstruct
Index: fenfire/org/fenfire/impl/AbstractSpace.java
diff -u fenfire/org/fenfire/impl/AbstractSpace.java:1.2 
fenfire/org/fenfire/impl/AbstractSpace.java:1.3
--- fenfire/org/fenfire/impl/AbstractSpace.java:1.2     Thu Mar 27 02:53:07 2003
+++ fenfire/org/fenfire/impl/AbstractSpace.java Mon Mar 31 07:37:47 2003
@@ -29,7 +29,8 @@
 package org.fenfire.impl;
 import org.fenfire.*;
 import org.fenfire.util.*;
-//import org.fenfire.errors.*;
+import org.fenfire.vocab.*;
+import org.nongnu.alph.*;
 
 import com.hp.hpl.mesa.rdf.jena.vocabulary.RDF;
 import com.hp.hpl.mesa.rdf.jena.model.*;
@@ -42,7 +43,8 @@
  */
 
 public abstract class AbstractSpace implements Space{
-public static final String rcsid = "$Id: AbstractSpace.java,v 1.2 2003/03/27 
07:53:07 tjl Exp $";
+public static final String rcsid = "$Id: AbstractSpace.java,v 1.3 2003/03/31 
12:37:47 mudyc Exp $";
+    private static void pa(String s) { 
System.out.println("AbstractSpace::"+s); }
 
     protected ModularNodeTexter nodeTexter;
     protected JavaObjector javaObjector;
@@ -59,6 +61,17 @@
 
     public Model getModel() { return model; }
 
+    public Enfilade1D getEnfilade(RDFNode node) {
+       if (!(node instanceof Resource)) return null;
+
+       RDFNode n = node;
+       if (ShortRDF.isNodeType(model, n, ALPH.cloneType))
+           n = ShortRDF.getRes(model, n, ALPH.clone);
+       
+       return ((VStreamNodeTexter)nodeTexter).getEnfilade(n, null);
+    }
+
+
     /*
 
     public Dim getDim(String s) {
@@ -67,6 +80,33 @@
 
     abstract public Dim getCloneDim();
 
+    */
+
+    public Resource N() { return N(""); }
+    public Resource N(String text) 
+    {
+       RDFNode clone = ShortRDF.newNode(model, ALPH.cloneType);
+       RDFNode data = ShortRDF.newNode(model, clone, ALPH.clone, 
ALPH.dataType);
+       nodeTexter.setText(data, text);
+
+       return (Resource)clone;
+    }
+
+    public Resource N(String text, Resource subject, Property property) 
+    { try {
+       // Do we need more checks!?
+
+       Resource obj = N(text);
+       subject.addProperty(property, obj);
+       return obj;
+
+    } catch (RDFException e) {
+       pa("Fault creating a new node: "+e);
+       throw new Error("Error in creating a new node.");
+    }}
+
+
+    /*
     public final Node N() {
        return N(getHomeNode());
     }
Index: fenfire/org/fenfire/modules/pp/BgVob.java
diff -u fenfire/org/fenfire/modules/pp/BgVob.java:1.1 
fenfire/org/fenfire/modules/pp/BgVob.java:1.2
--- fenfire/org/fenfire/modules/pp/BgVob.java:1.1       Thu Mar 27 05:32:17 2003
+++ fenfire/org/fenfire/modules/pp/BgVob.java   Mon Mar 31 07:37:47 2003
@@ -25,7 +25,7 @@
 /*
  * Written by Tuukka Hastrup
  */
-package org.fenfire.modules.pp.vob;
+package org.fenfire.modules.pp;
 import org.fenfire.impl.*;
 import org.fenfire.*;
 import org.nongnu.libvob.*;
@@ -43,7 +43,7 @@
  * used to pan pretty easily.
  */
 public class BgVob extends org.nongnu.libvob.Vob {
-public static final String rcsid = "$Id: BgVob.java,v 1.1 2003/03/27 10:32:17 
mudyc Exp $";
+public static final String rcsid = "$Id: BgVob.java,v 1.2 2003/03/31 12:37:47 
mudyc Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.err.println(s); }
 
Index: fenfire/org/fenfire/modules/pp/PPActionsImpl.java
diff -u fenfire/org/fenfire/modules/pp/PPActionsImpl.java:1.12 
fenfire/org/fenfire/modules/pp/PPActionsImpl.java:1.13
--- fenfire/org/fenfire/modules/pp/PPActionsImpl.java:1.12      Wed Mar 26 
09:00:24 2003
+++ fenfire/org/fenfire/modules/pp/PPActionsImpl.java   Mon Mar 31 07:37:47 2003
@@ -1,6 +1,7 @@
 //(c): Tuomas J. Lukka and Matti Katila
 
 package org.fenfire.modules.pp;
+import org.fenfire.*;
 import org.fenfire.vocab.*;
 import org.fenfire.util.*;
 import java.io.IOException;
@@ -13,17 +14,17 @@
 /** The implementation of PPActions.
  */
 public class PPActionsImpl extends UnicastRemoteObject implements PPActions {
-public static final String rcsid = "$Id: PPActionsImpl.java,v 1.12 2003/03/26 
14:00:24 mudyc Exp $";
+public static final String rcsid = "$Id: PPActionsImpl.java,v 1.13 2003/03/31 
12:37:47 mudyc Exp $";
     public static final boolean dbg = true;
     protected static void p(String s) { if(dbg) pa(s); }
     protected static void pa(String s) { System.out.println(s); }
 
-    private Model model;
-    public void setModel(Model model) { this.model = model; }
+    private Space space;
+    public void setSpace(Space space) { this.space = space; }
 
-    public PPActionsImpl(Model model) throws RemoteException {
+    public PPActionsImpl(Space space) throws RemoteException {
        super();
-       setModel(model);
+       setSpace(space);
     }
 
 
@@ -31,27 +32,22 @@
     // --- implement PPActions
     //
     public String newPaper() throws RemoteException 
-    { synchronized(model) { try {
+    { synchronized(space) { try {
 
-       // We need a unique uri for paper       
-       String uri = URN5Namespace.instance.generateId();
-       Resource paper = model.createResource(uri);
-
-       // and resource must be also paper..
-       paper.addProperty(RDF.type, PP.paperType);
+       Resource paper = (Resource)ShortRDF.newNode(space.getModel(), 
PP.paperType);
 
        // set creation time
        // XXX we need iso 8601 time presentation here
        paper.addProperty(PP.creationTime, "123");  
        
-       return uri;
+       return paper.toString();
     } catch (RDFException e) {
        return "";
     }}}
 
 
     public void deletePaper(String paperURI) throws RemoteException 
-    { synchronized(model) {
+    { synchronized(space) {
        /*
        // must delete all notes first
        Cell paper = space.getCell(paperId).h(d.contains, -1);
@@ -73,19 +69,19 @@
 
     public String newNote(String paperURI, int x, int y, String text)  
        throws RemoteException 
-    { synchronized(model) { try {
+    { synchronized(space) { try {
 
        // find the paper
-       Resource paper = model.getResource(paperURI);
+       Resource paper = space.getModel().getResource(paperURI);
+       if (paper == null) {
+           pa("Paper is NULL!!");
+           return "";
+       }
        
        // note doesn't exist so we need to make one
-       String note_uri = URN5Namespace.instance.generateId();
-       Resource note = model.createResource(note_uri);
+       Resource note = (Resource)space.N(text, paper, PP.contains);
        note.addProperty(RDF.type, PP.noteType);
        
-       // set note to paper
-       paper.addProperty(PP.contains, note);
-
        // set coords
        note.addProperty(SPATIAL.coordX, ""+x);
        note.addProperty(SPATIAL.coordY, ""+y);
@@ -95,10 +91,7 @@
 
        // scale etc..  XXX
 
-
-       // XXX use real Alph!!!!
-       note.addProperty(ALPH.content, text);
-       return note_uri;
+       return note.toString();
 
     } catch (RDFException e) {
        pa("Fault creating a new note: "+e);
@@ -108,7 +101,7 @@
 
     public void deleteNote(String noteURI)
                    throws RemoteException 
-    { synchronized(model) { try {
+    { synchronized(space) { try {
        /*
        // MUST DELETE ALL ASSOCS FIRST
 
@@ -144,7 +137,7 @@
        // not implemented
        // ===============
 
-       Resource note = model.getResource(noteURI);
+       Resource note = space.getModel().getResource(noteURI);
 
     } catch (RDFException e) {
        pa("Fault deleting a note: "+e);
@@ -152,14 +145,14 @@
 
     public void moveNote(String noteURI, int x, int y)
        throws RemoteException 
-    { synchronized(model) { try {
+    { synchronized(space) { try {
 
-       Resource note = model.getResource(noteURI);
+       Resource note = space.getModel().getResource(noteURI);
        if (note == null) return;
 
        // delete all old coords
-       ShortRDF.rmObj(model, note, SPATIAL.coordX);
-       ShortRDF.rmObj(model, note, SPATIAL.coordY);
+       ShortRDF.rmObj(space.getModel(), note, SPATIAL.coordX);
+       ShortRDF.rmObj(space.getModel(), note, SPATIAL.coordY);
 
        // set coords
        note.addProperty(SPATIAL.coordX, ""+x);
@@ -171,9 +164,9 @@
 
     public void assocNotes(String noteURI, int side, String assocURI)
        throws RemoteException 
-    { synchronized(model) { try {
-       Resource note = model.getResource(noteURI);
-       Resource assoc = model.getResource(assocURI);
+    { synchronized(space) { try {
+       Resource note = space.getModel().getResource(noteURI);
+       Resource assoc = space.getModel().getResource(assocURI);
 
        if (note == assoc) {
            pa("link to itself???");
@@ -182,7 +175,7 @@
 
        if (side < 0) {
            // check if already associated
-           if (((ModelCom)model).contains(assoc, PP.association, 
(RDFNode)note)) {
+           if (((ModelCom)space.getModel()).contains(assoc, PP.association, 
(RDFNode)note)) {
                pa("Already associated!");
                return;
            }
@@ -191,7 +184,7 @@
            assoc.addProperty(PP.association, note);
        } else {
            // check if already associated
-           if (((ModelCom)model).contains(note, PP.association, 
(RDFNode)assoc)) {
+           if (((ModelCom)space.getModel()).contains(note, PP.association, 
(RDFNode)assoc)) {
                pa("Already associated!");
                return;
            }
@@ -205,7 +198,7 @@
 
     public void detachNotes(String id1, int side, String id2)
        throws RemoteException 
-    { synchronized(model) { 
+    { synchronized(space) { 
 
            /*
        Cell c1 = space.getCell(id1).h(d.clone);
@@ -234,7 +227,7 @@
 
     public void insertText(String noteURI, int offs, String text)
        throws RemoteException 
-    { synchronized(model) { //try {
+    { synchronized(space) { //try {
            /*
        Cell note = space.getCell(noteId);
        note.insertText(offs, text);
@@ -277,7 +270,7 @@
 
     public void deleteText(String noteURI, int begin, int end)
        throws RemoteException 
-    { synchronized(model) { // try {
+    { synchronized(space) { // try {
            /*
        Cell note = space.getCell(noteId);
        note.deleteText(begin, end);
Index: fenfire/org/fenfire/modules/pp/PPActionsImpl.test
diff -u fenfire/org/fenfire/modules/pp/PPActionsImpl.test:1.3 
fenfire/org/fenfire/modules/pp/PPActionsImpl.test:1.4
--- fenfire/org/fenfire/modules/pp/PPActionsImpl.test:1.3       Wed Mar 26 
09:00:24 2003
+++ fenfire/org/fenfire/modules/pp/PPActionsImpl.test   Mon Mar 31 07:37:47 2003
@@ -1,36 +1,39 @@
 #(c): Matti Katila
 
-from org.fenfire.vocab import PP, SPATIAL
+from org.fenfire.vocab import PP, SPATIAL, ALPH
 from org.fenfire.modules.pp import *
+from org.fenfire.impl import ModularSpace, SimpleVStreamTexter
 from org.fenfire.util import URN5Namespace
+from org.nongnu.alph import impl
 from com.hp.hpl.mesa.rdf import jena
 from com.hp.hpl.mesa.rdf.jena.vocabulary import RDF
 
 def setUp():
-    global model, ppact
+    global model, space, ppact
     model = jena.mem.ModelMem()
-    ppact = PPActionsImpl(model)
+    space = ModularSpace(SimpleVStreamTexter(
+        impl.FakeSpanMaker(),
+        impl.Enfilade1DImpl.Enfilade1DImplMaker()),
+                         model)
+    ppact = PPActionsImpl(space)
 
+def checkIter(slctr):
+    iter = model.listStatements(slctr)
+    assert iter.hasNext() == 1
+    stmt = iter.next()
+    assert iter.hasNext() == 0
+    return stmt
+ 
 def testNewPaper():
     paper = ppact.newPaper()
     assert paper != ''
 
     slctr = jena.common.SelectorImpl(None, RDF.type, PP.paperType)
-    iter = model.listStatements(slctr)
-    assert iter.hasNext() == 1
-    stmt = iter.next()
-    assert iter.hasNext() == 0
+    stmt = checkIter(slctr)
     assert stmt.getSubject().toString() == paper
 
     # XXX does not check creation time
 
-def checkIter(slctr):
-    iter = model.listStatements(slctr)
-    assert iter.hasNext() == 1
-    stmt = iter.next()
-    assert iter.hasNext() == 0
-    return stmt
- 
 def testNewNote():
     paper = URN5Namespace.instance.generateId()
     paperRes = jena.common.ResourceImpl(paper)
@@ -39,6 +42,11 @@
 
     # type test - NoteType
     slctr = jena.common.SelectorImpl(noteRes, RDF.type, PP.noteType)
+    stmt = checkIter(slctr)
+    assert stmt.getSubject().toString() == note
+
+    # has note any content?
+    slctr = jena.common.SelectorImpl(noteRes, RDF.type, ALPH.cloneType)
     stmt = checkIter(slctr)
     assert stmt.getSubject().toString() == note
     
Index: fenfire/org/fenfire/modules/pp/PPCanvasCursor.java
diff -u fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.1 
fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.2
--- fenfire/org/fenfire/modules/pp/PPCanvasCursor.java:1.1      Wed Mar 26 
04:12:24 2003
+++ fenfire/org/fenfire/modules/pp/PPCanvasCursor.java  Mon Mar 31 07:37:47 2003
@@ -4,9 +4,12 @@
 import org.fenfire.view.*;
 import org.fenfire.view.buoy.*;
 import org.fenfire.util.*;
+import org.fenfire.*;
+import org.fenfire.vocab.PP;
 import org.nongnu.libvob.*;
 import org.nongnu.libvob.gl.*;
 import org.nongnu.libvob.impl.*;
+import org.nongnu.libvob.impl.gl.*;
 import org.nongnu.libvob.buoy.*;
 import com.hp.hpl.mesa.rdf.jena.model.*;
 import com.hp.hpl.mesa.rdf.jena.common.*;
@@ -20,9 +23,9 @@
 /** XXX
  */
 public class PPCanvasCursor implements BuoyViewMainNode {
-private static final String rcsid = "$Id: PPCanvasCursor.java,v 1.1 2003/03/26 
09:12:24 mudyc Exp $";  
+private static final String rcsid = "$Id: PPCanvasCursor.java,v 1.2 2003/03/31 
12:37:47 mudyc Exp $";  
     public static boolean dbg = false;
-    private static void pa(String s) { 
System.out.println("PPCanvasCursor:"+s); }
+    private static void pa(String s) { 
System.out.println("PPCanvasCursor::"+s); }
 
     // Geometry
 
@@ -95,16 +98,18 @@
 
 
 
-    private Object content;
+    private RDFNode node;
     private NodePlacementHook hook;
     private GraphicsAPI.Window window;
+    private Space space;
     
-    public PPCanvasCursor(Object content,
+    public PPCanvasCursor(RDFNode node,
                          NodePlacementHook hook, 
-                         GraphicsAPI.Window w) {
-       this.content = content;
+                         GraphicsAPI.Window w, Space space) {
+       this.node = node;
        this.hook = hook;
        this.window = w;
+       this.space = space;
 
        /*
        SimpleVStreamTexter sct = (SimpleVStreamTexter)space.getNodeTexter();
@@ -145,11 +150,24 @@
          vs.matcher.add(into, c2fCS, "C2F");
          vs.matcher.add(into, c2fCSInv, "C2FINV");
        */
-       c2fCS = vs.orthoCS(into, "C2F",0,0,0, 10,10);
-       int c2fCSInv = vs.orthoCS(into, "C2FINV",0,0,0, 10,10);
 
-       setZoomPan(vs, into);
-       // XXX SinglePaper.i(space, d, window, current).render(vs, into, c2fCS, 
c2fCSInv, hook);
+       if (GraphicsAPI.getInstance() instanceof GLAPI) {
+           c2fCS = vs.orthoCS(into, "C2F",0,0,0, 10,10);
+           int c2fCSInv = vs.orthoCS(into, "C2FINV",0,0,0, 10,10);
+           
+           setZoomPan(vs, into);
+           // XXX SinglePaper.i(space, d, window, current).render(vs, into, 
c2fCS, c2fCSInv, hook);
+       } else {
+
+           // kludge
+           int focusCtr = vs.matcher.getCS("FocusCtr");
+
+           int zo = (int)(zoom * 100000);
+           int geometry = vs.orthoCS(focusCtr, "FocusGeometry",0, zo,0, panx, 
pany);  
+           
+           vs.map.put(new UniquePaperVob(URN5Namespace.instance.generateId()), 
into, geometry);
+           (new SpatialPlane(PP.noteType, PP.contains)).renderAWT(vs, into, 
geometry, node, space, hook);
+       }
     }
 
     public void keystroke(String s) {
Index: fenfire/org/fenfire/modules/pp/PPCanvasNode.java
diff -u fenfire/org/fenfire/modules/pp/PPCanvasNode.java:1.3 
fenfire/org/fenfire/modules/pp/PPCanvasNode.java:1.4
--- fenfire/org/fenfire/modules/pp/PPCanvasNode.java:1.3        Thu Mar 27 
05:42:37 2003
+++ fenfire/org/fenfire/modules/pp/PPCanvasNode.java    Mon Mar 31 07:37:47 2003
@@ -20,9 +20,9 @@
 import com.hp.hpl.mesa.rdf.jena.vocabulary.*;
 
 public class PPCanvasNode implements NodeBuoyViewNodeType {
-private static final String rcsid = "$Id: PPCanvasNode.java,v 1.3 2003/03/27 
10:42:37 mudyc Exp $";  
+private static final String rcsid = "$Id: PPCanvasNode.java,v 1.4 2003/03/31 
12:37:47 mudyc Exp $";  
     public static boolean dbg = false;
-    private static void pa(String s) { System.out.println("PPCanvasNode:"+s); }
+    private static void pa(String s) { System.out.println("PPCanvasNode::"+s); 
}
 
     private Space space;
     private GraphicsAPI.Window win;
@@ -111,10 +111,7 @@
     }
 
     public BuoyViewMainNode createMainNode(RDFNode node, Object content, 
NodePlacementHook hook) {
-       
-       // XXX
-
-       return null;
+       return new PPCanvasCursor(node, hook, win, space);
     }
 
 
Index: fenfire/org/fenfire/util/ShortRDF.java
diff -u fenfire/org/fenfire/util/ShortRDF.java:1.15 
fenfire/org/fenfire/util/ShortRDF.java:1.16
--- fenfire/org/fenfire/util/ShortRDF.java:1.15 Thu Mar 27 05:10:38 2003
+++ fenfire/org/fenfire/util/ShortRDF.java      Mon Mar 31 07:37:47 2003
@@ -8,7 +8,7 @@
 
 
 public class ShortRDF {
-public static final String rcsid = "$Id: ShortRDF.java,v 1.15 2003/03/27 
10:10:38 mudyc Exp $";
+public static final String rcsid = "$Id: ShortRDF.java,v 1.16 2003/03/31 
12:37:47 mudyc Exp $";
     private static void pa(String s) { System.out.println("ShortRDF"+s); }
 
     public static Resource getRes(Model model, RDFNode node, Property 
predicate) 
@@ -25,6 +25,21 @@
        throw new Error("ShortRDF has RDFException!");
     }} 
 
+    public static Resource getSubj(Model model, RDFNode obj, Property 
predicate) 
+    { try {
+       Selector selector = new SelectorImpl(null, predicate, obj);
+        StmtIterator iter = model.listStatements(selector);
+       if (iter.hasNext()) {
+           Statement stmt = iter.next();
+           return (Resource)stmt.getSubject();
+       }
+       else throw new Error("No available resources!");
+    } catch (RDFException e) {
+       pa("Exception ocurred!: "+e);
+       throw new Error("ShortRDF has RDFException!");
+    }} 
+
+
     public static int getInt(Model model, RDFNode node, Property predicate) 
     { try {
        Selector selector = new SelectorImpl((Resource)node, predicate, 
(RDFNode) null);
@@ -60,10 +75,19 @@
      */
     public static boolean isNodeType(Model model, RDFNode node, RDFNode type)
     { try {
+       Selector selector = new SelectorImpl((Resource)node, RDF.type, type);
+        StmtIterator iter = model.listStatements(selector);
+       while (iter.hasNext()) {
+           Statement stmt = iter.next();
+           if (stmt.getSubject().equals((Resource)node))
+               return true;
+       }
+       /*
        if ( 
((Resource)node).getProperty(RDF.type).getObject().equals((Resource)type))
            return true;
        else
-           return false;
+       */
+       return false;
     } catch (RDFException e) {
        pa("Exception ocurred!: "+e);
        throw new Error("ShortRDF has RDFException!");
@@ -73,14 +97,14 @@
     static public RDFNode newNode(Model model) {
        return newNode(model, null);
     }
-    static public RDFNode newNode(Model model, RDFNode object) 
+    static public RDFNode newNode(Model model, RDFNode type) 
     { try {
        String uri = URN5Namespace.instance.generateId();
-       if (object == null) {
+       if (type == null) {
            return model.createResource(uri);
        } else {
            Resource res = model.createResource(uri);
-           res.addProperty(RDF.type, (Resource)object);
+           res.addProperty(RDF.type, (Resource)type);
            return res;
        }
     } catch (RDFException e) {
@@ -112,13 +136,6 @@
 
        ((Resource)node).addProperty(property, res);
        res.addProperty(RDF.type, (Resource)type);
-
-       pa("node: "+ res);
-       pa("foo: " + res.getProperty(RDF.type));
-       if ( ((Resource)res).getProperty(RDF.type).equals((Resource)type))
-           pa("ALL RIGHT!");
-       if(!isNodeType(model, res, type)) throw new Error("ARGH");
-
        return res;
 
     } catch (RDFException e) {
Index: fenfire/org/fenfire/view/CoordinatePlaneView.java
diff -u fenfire/org/fenfire/view/CoordinatePlaneView.java:1.4 
fenfire/org/fenfire/view/CoordinatePlaneView.java:1.5
--- fenfire/org/fenfire/view/CoordinatePlaneView.java:1.4       Thu Mar 27 
04:02:32 2003
+++ fenfire/org/fenfire/view/CoordinatePlaneView.java   Mon Mar 31 07:37:47 2003
@@ -25,7 +25,7 @@
  */
 
 public class CoordinatePlaneView {
-public static final String rcsid = "$Id: CoordinatePlaneView.java,v 1.4 
2003/03/27 09:02:32 mudyc Exp $";
+public static final String rcsid = "$Id: CoordinatePlaneView.java,v 1.5 
2003/03/31 12:37:47 mudyc Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { 
System.out.println("CoordinatePlaneView"+s); }
 
@@ -44,7 +44,7 @@
                "Vertex 1 1\n" +
                "Vertex 1 0\n" +
                "End\n" +
-               "PopAttrib\n"
+               "PopAttrib"
                );
        }
     }
@@ -56,26 +56,36 @@
     /** Render with culling.
      * @param cullCS is the clip cs or under zero if not used.
      */
-    //    public void render(VobScene vs, int into, 
-    //                AbstractViewContext context, int cullCS, 
-    //                Space space, NodePlacementHook hook) 
-    //{
-       /*
-         try {
+    public void render(VobScene vs, int into, 
+                      RDFNode node, int cullCS, 
+                      Space space, NodePlacementHook hook) 
+    { // try {
+
+       Model mod = space.getModel();
+       RDFNode current = node;
+       RDFNode paper = current;
+
+       if (ShortRDF.isNodeType(mod, current, PP.noteType)) {
+           paper = ShortRDF.getSubj(mod, current, PP.contains);
+       }
+
+
+           /*
+
        float[] bs = new float[2];
        cursorBox = -1;
-
+       
        RDFNode node = context.getAccurse();
        
-
+       
        NodeView orig_nv = context.getNodeView();
-
+       
        Selector slctr = new SelectorImpl(node, PP.contains, (RDFNode) null);
        StmtIterator iter = model.listStatements(slctr);
        Statement stmt = null;
        while (iter.hasNext()) {
            RDFNode node = ((Statement)iter.next()).getSubject();
-             
+           
            SimpleVStreamTexter sct = 
(SimpleVStreamTexter)space.getCellTexter();
            Enfilade1DImpl enf = (Enfilade1DImpl)sct.getEnfilade(node, null);
            java.util.List enfList= enf.getList();
@@ -114,6 +124,8 @@
 
            // get size XXX
            boolean drawFrame = false;
+
+           */
            /*
              from nodeview nv.getSize(note, bs)
            
@@ -150,6 +162,7 @@
        throw new Error("PPLinker error: Failed to doLink!!");
     }
        */
-    //}
+
+    }
 
 }
Index: fenfire/org/fenfire/view/buoy/PPLinker.java
diff -u fenfire/org/fenfire/view/buoy/PPLinker.java:1.2 
fenfire/org/fenfire/view/buoy/PPLinker.java:1.3
--- fenfire/org/fenfire/view/buoy/PPLinker.java:1.2     Wed Mar 26 09:00:25 2003
+++ fenfire/org/fenfire/view/buoy/PPLinker.java Mon Mar 31 07:37:47 2003
@@ -1,6 +1,7 @@
 //(c): Matti Katila
 
 package org.fenfire.modules.pp;
+import org.fenfire.*;
 import org.fenfire.view.buoy.*;
 import org.fenfire.util.*;
 import org.fenfire.vocab.*;
@@ -12,13 +13,13 @@
 /** Make the kinds of links familiar from PP structure.
  */
 public class PPLinker implements BuoyNodeViewLinker {
-public static final String rcsid = "$Id: PPLinker.java,v 1.2 2003/03/26 
14:00:25 mudyc Exp $";
+public static final String rcsid = "$Id: PPLinker.java,v 1.3 2003/03/31 
12:37:47 mudyc Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.out.println("PPLinker:"+s); }
 
-    private Model model;
-    public PPLinker(Model model) {
-       this.model = model;
+    private Space space;
+    public PPLinker(Space space) {
+       this.space = space;
     }
 
     public void doLinks(RDFNode node, VobScene vs, int cs, 
@@ -36,7 +37,7 @@
 
        // Right links!
        Selector slctr = new SelectorImpl(n, PP.association, (RDFNode) null);
-       StmtIterator iter = model.listStatements(slctr);
+       StmtIterator iter = space.getModel().listStatements(slctr);
        Statement stmt = null;
 
        while (iter.hasNext()) {
@@ -48,7 +49,7 @@
 
        // Left links!
        slctr = new SelectorImpl(null, PP.association, n);
-       iter = model.listStatements(slctr);
+       iter = space.getModel().listStatements(slctr);
        while (iter.hasNext()) {
            stmt = iter.next();
            l.link(-1,cs,nodeType, 
Index: fenfire/org/fenfire/view/buoy/PPLinker.test
diff -u fenfire/org/fenfire/view/buoy/PPLinker.test:1.3 
fenfire/org/fenfire/view/buoy/PPLinker.test:1.4
--- fenfire/org/fenfire/view/buoy/PPLinker.test:1.3     Wed Mar 26 09:00:25 2003
+++ fenfire/org/fenfire/view/buoy/PPLinker.test Mon Mar 31 07:37:47 2003
@@ -2,18 +2,24 @@
 
 from org.fenfire.modules.pp import *
 from org.fenfire.vocab import PP
+from org.fenfire.impl import ModularSpace, SimpleVStreamTexter
 import org.fenfire.view.buoy
 from org.fenfire.util import URN5Namespace, Pair
 from org.nongnu.libvob.buoy import BuoyViewNodeType,\
      BuoyLinkListener
+from org.nongnu.alph import impl
 from com.hp.hpl.mesa.rdf import jena
 
 from org.fenfire.test.gfx import getvs
 
 
 def setUp():
-    global model
+    global model, space
     model = jena.mem.ModelMem()
+    space = ModularSpace(SimpleVStreamTexter(
+        impl.FakeSpanMaker(),
+        impl.Enfilade1DImpl.Enfilade1DImplMaker()),
+                         model)
 
     global uriA, uriB
     global nodeA, nodeB
@@ -27,7 +33,7 @@
     nodeA.addProperty(PP.association, nodeB)
 
     global ppLinker
-    ppLinker = PPLinker(model)
+    ppLinker = PPLinker(space)
 
 class NodeType(BuoyViewNodeType):
     def getSizde(self, linkId, anchor, wh):




reply via email to

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