package kr.ac.kaist.resl.lilliput.rest; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import org.restlet.Application; import org.restlet.Restlet; import org.restlet.routing.Router; public class LilliputAPI extends Application { private final ConcurrentMap<String, String> items = new ConcurrentHashMap<String, String>(); @Override public synchronized Restlet createInboundRoot() { // Create a router Restlet that defines routes. Router router = new Router(getContext()); router.attach("/LatencyTest", LatencyTest.class); //Atomic APIs //#1 all social relationship router.attach("/REL/allRelationships", AllSocialRelationship.class); //#4 all data type router.attach("/DataType/allDatatypeProperties", AllDataType.class); //#2 all social relationship realted to EPC router.attach("/REL/{epc}", RelatedRelationship.class); //#5 all datatype related to EPC router.attach("/DataType/{ind_name}", RelatedDataType.class); //#7 getting UtilizeDatabase router.attach("/Information/{epc}", UtilizeDatabase.class); //#6 utilize datatype router.attach("/DataType/{ind_name}/{property}", UtilizeDataType.class); //#8 STIS EPCIS router.attach("/STIS/{epc}", STISBroker.class); //#3 utilizeRelationship router.attach("/REL/{subject}/{property}/{object}", UtilizeRelationship.class); //Composite APIs /* router.attach("/KDTest1/{uid}", KDTest1.class); router.attach("/KDTest2/{uid}", KDTest2.class); //#1 login 1/login router.attach("/login/{uid}/{password}", Login.class); //#2 // Defines a route for the resource "list of items" //#3 get All socialRelationships //router.attach("/socialRelationships", SocialRelationships.class); //#24 All Relationships router.attach("/allRelationships", AllRelationships.class); //#4 get All Individuals //router.attach("/{uid}/allIndividuals", RelatedIndividuals.class); //#5 get All EPCs //router.attach("/{uid}/allEPCs", RelatedEPCs.class); //#6 get my Information //router.attach("/{uid}", Information.class); //#20 get my place ( epc ) router.attach("/{uid}/myPlace", GetMyPlace.class); //#21 get my People ( epc ) router.attach("/{uid}/myPeople", GetMyPeople.class); //#22 get my things ( place view ) router.attach("/{uid}/myThings", GetMyThings.class); //#23 get my all router.attach("/{uid}/myAll", GetAll.class); //#9 get the place events 4/events //router.attach("/{uid}/events", PlaceEvents.class ); //#10 get the newest events 4/eventOne //router.attach("/{uid}/event", PlaceEvent.class ); //#11 presence Reasoning On 4/presenceReasoning //router.attach("/{uid}/presenceReasoning", PresenceReasoning.class); //#11 sensor On 4/spaceEventOn //router.attach("/{uid}/spaceEventOn", SpaceEventOn.class); //#12: get the presence list 4/presenceList //router.attach("/{uid}/presenceList", PresenceOfPlace.class); //#7 get all sociallist and informations ( type ac social relationships ) 1/3 // router.attach("/{subject}/{object}", BetSocialRelationships.class ); //#8 on off the social relationships between them 1/3/relationshipname //#26 STIS broker router.attach("/STIS/{epc}", STISBroker.class); router.attach("/Push/{service}", PushService.class); router.attach("/Subscribe/{service}", PubSubService.class); //#24 relationship toggling router.attach("/Toggle/{subject}/{property}/{object}", ToggleRelationship.class); //#25 inser datatype property router.attach("/Data/{target}/{property}", InsertDataType.class); */ //End return router; } public ConcurrentMap<String, String> getItems() { return items; } }