# HG changeset patch # User dwinter # Date 1325168369 -3600 # Node ID dfd72ea936ffec5302d2b2cb59d17f6c8509ce9d # Parent f13ac4acbb0dfedf202bfb5810e23a9f75b58d29 search by ids nd names of persons diff -r f13ac4acbb0d -r dfd72ea936ff .project --- a/.project Fri Dec 02 08:38:08 2011 +0100 +++ b/.project Thu Dec 29 15:19:29 2011 +0100 @@ -7,6 +7,7 @@ NamedIdentityManager protege protege-core + TripleStoreManager diff -r f13ac4acbb0d -r dfd72ea936ff .settings/org.eclipse.wst.common.component --- a/.settings/org.eclipse.wst.common.component Fri Dec 02 08:38:08 2011 +0100 +++ b/.settings/org.eclipse.wst.common.component Thu Dec 29 15:19:29 2011 +0100 @@ -132,6 +132,9 @@ uses + + uses + diff -r f13ac4acbb0d -r dfd72ea936ff src/de/mpiwg/itgroup/metaDataManagerRestlet/RestServer.java --- a/src/de/mpiwg/itgroup/metaDataManagerRestlet/RestServer.java Fri Dec 02 08:38:08 2011 +0100 +++ b/src/de/mpiwg/itgroup/metaDataManagerRestlet/RestServer.java Thu Dec 29 15:19:29 2011 +0100 @@ -11,8 +11,11 @@ import org.restlet.routing.TemplateRoute; import de.mpiwg.itgroup.metaDataManagerRestlet.pid.PIDcreator; +import de.mpiwg.itgroup.metaDataManagerRestlet.ui.GeneralInfo; +import de.mpiwg.itgroup.metaDataManagerRestlet.ui.SearchPersons; import de.mpiwg.itgroup.metadataManager.indexMeta.server.IndexMetaProvider; import de.mpiwg.itgroup.nimanager.persons.PersonByNameService; +import de.mpiwg.itgroup.nimanager.persons.PersonByIDService; import de.mpiwg.itgroup.nimanager.persons.PersonListService; //import de.mpiwg.itgroup.nimanager.persons.PersonService; import de.mpiwg.itgroup.nimanager.persons.PersonService; @@ -34,11 +37,14 @@ public synchronized Restlet createInboundRoot(){ Router router = new Router(getContext()); + router.attach("/",GeneralInfo.class); router.attach("/PID",PIDcreator.class); + router.attach("/searchPersons",SearchPersons.class); router.attach("/person/name/{name}",PersonByNameService.class); router.attach("/persons",PersonListService.class); router.attach("/person/id/{personId}",PersonService.class); router.attach("/person/id/{personId}/{graphId}",PersonService.class); + router.attach("/ids",PersonByIDService.class); TemplateRoute route = router.attach("/indexMeta", IndexMetaProvider.class); route.setMatchingMode(Template.MODE_STARTS_WITH); diff -r f13ac4acbb0d -r dfd72ea936ff src/de/mpiwg/itgroup/metaDataManagerRestlet/staticPages/generalInfo.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/de/mpiwg/itgroup/metaDataManagerRestlet/staticPages/generalInfo.html Thu Dec 29 15:19:29 2011 +0100 @@ -0,0 +1,6 @@ + +

MPIWG Metadata Manager

+ +SearchPersons +ids + \ No newline at end of file diff -r f13ac4acbb0d -r dfd72ea936ff src/de/mpiwg/itgroup/metaDataManagerRestlet/staticPages/searchPersons.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/de/mpiwg/itgroup/metaDataManagerRestlet/staticPages/searchPersons.html Thu Dec 29 15:19:29 2011 +0100 @@ -0,0 +1,27 @@ + + +

MPIWG norm data search service

+

Search in name or firstname

+

The only currently implemented search mode is "begins with" of parts of a name. Search is not case sensitive.

+

i.e. Search for "einst" gives, Einstein and Fiala-Einstein, but not Feinstein...

+
+ + +
+ + +

Search Person by ID

+

This services searches the MPIWG authority server for id of person names. +

This can be either +

+

+

Search: +

id:
+

+ + \ No newline at end of file diff -r f13ac4acbb0d -r dfd72ea936ff src/de/mpiwg/itgroup/metaDataManagerRestlet/ui/GeneralInfo.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/de/mpiwg/itgroup/metaDataManagerRestlet/ui/GeneralInfo.java Thu Dec 29 15:19:29 2011 +0100 @@ -0,0 +1,52 @@ +package de.mpiwg.itgroup.metaDataManagerRestlet.ui; + +import java.io.InputStream; + +import org.apache.log4j.Logger; +import org.restlet.data.Form; +import org.restlet.data.MediaType; +import org.restlet.representation.InputRepresentation; +import org.restlet.representation.Representation; +import org.restlet.representation.StringRepresentation; +import org.restlet.resource.Get; +import org.restlet.resource.Options; +import org.restlet.resource.Post; +import org.restlet.resource.ServerResource; + +import de.mpiwg.itgroup.metadataManager.pid.PidGenerator; + + + +public class GeneralInfo extends ServerResource { + +private Logger logger = Logger.getRootLogger(); + + /** + * Erlaubt cross scripting bei Aufruf aus Javascript + * @param entity + */ + @Options + public void doOptions(Representation entity) { + Form responseHeaders = (Form) getResponse().getAttributes().get("org.restlet.http.headers"); + if (responseHeaders == null) { + responseHeaders = new Form(); + getResponse().getAttributes().put("org.restlet.http.headers", responseHeaders); + } + responseHeaders.add("Access-Control-Allow-Origin", "*"); + responseHeaders.add("Access-Control-Allow-Methods", "POST,OPTIONS,GET"); + responseHeaders.add("Access-Control-Allow-Headers", "Content-Type"); + responseHeaders.add("Access-Control-Allow-Credentials", "false"); + responseHeaders.add("Access-Control-Max-Age", "60"); + } + + + @Get("html") + public Representation getHTML(){ + InputStream is = getClass().getResourceAsStream("/de/mpiwg/itgroup/metaDataManagerRestlet/staticPages/generalInfo.html"); + + Representation rep = new InputRepresentation(is,MediaType.TEXT_HTML); + return rep; + + } + +} \ No newline at end of file diff -r f13ac4acbb0d -r dfd72ea936ff src/de/mpiwg/itgroup/metaDataManagerRestlet/ui/SearchPersons.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/de/mpiwg/itgroup/metaDataManagerRestlet/ui/SearchPersons.java Thu Dec 29 15:19:29 2011 +0100 @@ -0,0 +1,52 @@ +package de.mpiwg.itgroup.metaDataManagerRestlet.ui; + +import java.io.InputStream; + +import org.apache.log4j.Logger; +import org.restlet.data.Form; +import org.restlet.data.MediaType; +import org.restlet.representation.InputRepresentation; +import org.restlet.representation.Representation; +import org.restlet.representation.StringRepresentation; +import org.restlet.resource.Get; +import org.restlet.resource.Options; +import org.restlet.resource.Post; +import org.restlet.resource.ServerResource; + +import de.mpiwg.itgroup.metadataManager.pid.PidGenerator; + + + +public class SearchPersons extends ServerResource { + +private Logger logger = Logger.getRootLogger(); + + /** + * Erlaubt cross scripting bei Aufruf aus Javascript + * @param entity + */ + @Options + public void doOptions(Representation entity) { + Form responseHeaders = (Form) getResponse().getAttributes().get("org.restlet.http.headers"); + if (responseHeaders == null) { + responseHeaders = new Form(); + getResponse().getAttributes().put("org.restlet.http.headers", responseHeaders); + } + responseHeaders.add("Access-Control-Allow-Origin", "*"); + responseHeaders.add("Access-Control-Allow-Methods", "POST,OPTIONS,GET"); + responseHeaders.add("Access-Control-Allow-Headers", "Content-Type"); + responseHeaders.add("Access-Control-Allow-Credentials", "false"); + responseHeaders.add("Access-Control-Max-Age", "60"); + } + + + @Get("html") + public Representation getHTML(){ + InputStream is = getClass().getResourceAsStream("/de/mpiwg/itgroup/metaDataManagerRestlet/staticPages/searchPersons.html"); + + Representation rep = new InputRepresentation(is,MediaType.TEXT_HTML); + return rep; + + } + +}