[graphl-cvs] graphl/src/org/mediavirus/graphl/jaxen GraphlContext.java GraphlXPath.java DocumentNav
Status: Pre-Alpha
Brought to you by:
flo1
From: Flo L. <fl...@us...> - 2006-07-11 18:34:46
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/jaxen In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv16361/src/org/mediavirus/graphl/jaxen Modified Files: GraphlXPath.java DocumentNavigator.java Added Files: GraphlContext.java Log Message: backup commit - first implementation of xpath-based structural filters Index: GraphlXPath.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/jaxen/GraphlXPath.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GraphlXPath.java 30 Jun 2006 14:31:33 -0000 1.1 --- GraphlXPath.java 11 Jul 2006 18:34:31 -0000 1.2 *************** *** 5,13 **** --- 5,17 ---- package org.mediavirus.graphl.jaxen; + import java.util.List; + import org.jaxen.BaseXPath; + import org.jaxen.Context; import org.jaxen.JaxenException; import org.jaxen.SimpleFunctionContext; import org.jaxen.SimpleNamespaceContext; import org.jaxen.XPathFunctionContext; + import org.jaxen.util.SingletonList; import org.mediavirus.graphl.GraphlRegistry; *************** *** 26,29 **** --- 30,56 ---- this.setNamespaceContext(GraphlRegistry.instance().getVocabularyRegistry()); } + + public List selectPaths(Object contextNode) throws JaxenException{ + Context context; + + if (contextNode instanceof Context) { + context = (Context) contextNode; + } + else { + context = new GraphlContext(getContextSupport(), true); + + if (contextNode instanceof List) { + context.setNodeSet((List) contextNode); + } + else { + List list = new SingletonList(contextNode); + context.setNodeSet(list); + } + } + + return selectNodesForContext( context ); + + } + } Index: DocumentNavigator.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/jaxen/DocumentNavigator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DocumentNavigator.java 3 Jul 2006 15:26:32 -0000 1.2 --- DocumentNavigator.java 11 Jul 2006 18:34:31 -0000 1.3 *************** *** 15,18 **** --- 15,19 ---- import org.jaxen.UnsupportedAxisException; import org.jaxen.XPath; + import org.jaxen.expr.Step; import org.jaxen.saxpath.Axis; import org.jaxen.saxpath.SAXPathException; *************** *** 213,215 **** --- 214,226 ---- return matchingElements.iterator(); } + + public void visit(Step step, Object context, List resultNodeSet) { + System.out.println("####"); + System.out.println(" Visiting step: " + step.toString()); + System.out.println(" Context: " + context.toString()); + for (Object o : resultNodeSet) { + System.out.println(" Result: " + o.toString()); + } + + } } --- NEW FILE: GraphlContext.java --- /* * Created on 11.07.2006 */ package org.mediavirus.graphl.jaxen; import org.jaxen.Context; import org.jaxen.ContextSupport; public class GraphlContext extends Context { protected boolean getPath = false; public GraphlContext(ContextSupport contextSupport, boolean getPath) { super(contextSupport); this.getPath = getPath; } public boolean isGetPath() { return getPath; } } |