Stepping through this was very very helpful.
Thanks Claude.
Lewis

On Thu, Aug 1, 2013 at 11:37 PM, Claude Warren <cla...@xenei.com> wrote:

> Lewis,
>
> It has been awhile since I was in this part of the code base but....
>
> in the tpl you will find:
>
> [snip]
> #set( $ds = $mgt.dataset($request, "") )
> #set( $srvQuery = $mgt.serviceQuery($ds) )
> [snip]
>
>       <form action="${ds}/${srvQuery}" method="GET"
>  accept-charset="UTF-8">
> [snip]
>
> so when the form is submitted it will call whatever the dataset
> serviceQuery url is.
>
> The SPARQLServer.java contains the code that configures the server.
>  Without knowing what changes you have made to your configuration the rest
> of this gets a bit difficult, but I will attempt to follow the standard
> flow.
>
> in org.apache.jena.fuseki.server.SPARQLServer.builderServer() at approx
> line 238 (I'm looking at v 2.10.2-SNAPSHOT)
>
> [snip]
>  if ( installManager || installServices ) {
>             // TODO Respect port.
>             if ( serverConfig.pagesPort != serverConfig.port )
>                 serverLog.warn("Not supported yet - pages on a different
> port to services") ;
>
>             String base = serverConfig.pages ;
>             Map<String, Object> data = new HashMap<String, Object>() ;
>             data.put("mgt", new MgtFunctions()) ;
>             SimpleVelocityServlet templateEngine = new
> SimpleVelocityServlet(base, data) ;
>             addServlet(context, templateEngine, "*.tpl", false) ;
>         }
> [snip]
>
> This codes provides the mgt variable ($mgt above) in the tpl file.
> All *.tpl flow through the templateEngine servlet.
>
> At line approx line 320 you will find
>
> [snip]
>         HttpServlet sparqlQuery = new SPARQL_QueryDataset() ;
>         HttpServlet sparqlUpdate = new SPARQL_Update() ;
>         HttpServlet sparqlUpload = new SPARQL_Upload() ;
>         HttpServlet sparqlHttpR = new SPARQL_REST_R() ;
>         HttpServlet sparqlHttpRW = new SPARQL_REST_RW() ;
>         HttpServlet sparqlDataset = new SPARQL_UberServlet.AccessByConfig()
> ;
>
>         if ( !überServlet ) {
>             // If uberserver, these are unnecessary but can be used.
>             // If just means the überservlet isn't handling these
> operations.
>             addServlet(context, datasetPath, sparqlQuery, dsDesc.query,
> enableCompression) ;
>             addServlet(context, datasetPath, sparqlUpdate, dsDesc.update,
> false) ;
>             addServlet(context, datasetPath, sparqlUpload, dsDesc.upload,
> false) ; // No point - no results of any size.
>             addServlet(context, datasetPath, sparqlHttpR,
> dsDesc.readGraphStore, enableCompression) ;
>             addServlet(context, datasetPath, sparqlHttpRW,
> dsDesc.readWriteGraphStore, enableCompression) ;
>             // This adds direct operations on the dataset itself.
>             // addServlet(context, datasetPath, sparqlDataset,
>             // ListOfEmptyString, enableCompression) ;
>         } else {
>  [snip]
>
> This is where the sparqlQuery servlet is registered to handle the general
> /{dataset}/sparql endpoint.
>
> in org.apache.jena.fuseki.servlets.SPARQL_QueryDataset at approx line 44 is
> the method decideDataset().  That method should be called when fuseki
> attempts to match the query with the dataset you want to query.  A
> breakpoint in that method should get you into the code that is executing.
>
> Hope this helps,
> Claude
>
>
> On Fri, Aug 2, 2013 at 12:58 AM, Lewis John Mcgibbney <
> lewis.mcgibb...@gmail.com> wrote:
>
> > Hi Andy,
> > On Wed, Jul 24, 2013 at 12:32 AM, Andy Seaborne <a...@apache.org> wrote:
> >
> > >
> > > Also I've never worked with .tpl files before... they look similar but
> I
> > am
> > >> not familiar...
> > >>
> > >
> > > .tpl files are Velocity files.  I decided to hide the technology used
> by
> > > calling them "tpl" not "vm" in case it changes.
> > >
> > >
> >
> > I have the feeling that I need to edit the velocity file (.tpl) as well
> as
> > the .html if I want to add modify the query form.
> > Can you confirm if this is the case.
> > I am trying to follow my query through from form submission to execution
> of
> > the Java code within the Fuseki servlets... right now this is not
> happening
> > for me.
> > Any guidance on how I can get dug in here would be great.
> > It would also make my life that little bit easier... oh and my upcoming
> > weekend (what weekend!!!) that little bit easier :0)
> > Thank you v much.
> > Lewis
> >
>
>
>
> --
> I like: Like Like - The likeliest place on the web<
> http://like-like.xenei.com>
> Identity: https://www.identify.nu/user.php?cla...@xenei.com
> LinkedIn: http://www.linkedin.com/in/claudewarren
>



-- 
*Lewis*

Reply via email to