Author: lgiessmann Date: Fri Nov 26 11:55:18 2010 New Revision: 354
Log: REST-interface: splitted the webserver into a webserver for the UI => RDF/XTM/JSON-handlers and into an atom-webserver
Modified: trunk/src/ajax/javascripts/datamodel.js trunk/src/rest_interface/rest-interface.lisp
Modified: trunk/src/ajax/javascripts/datamodel.js ============================================================================== --- trunk/src/ajax/javascripts/datamodel.js (original) +++ trunk/src/ajax/javascripts/datamodel.js Fri Nov 26 11:55:18 2010 @@ -4414,7 +4414,6 @@ }
commitDeletedObject(delMessage, function(xhr){ - alert("Objected deleted"); if(type === "Topic"){ $(CLASSES.subPage()).update(); setNaviClasses($(PAGES.home)); @@ -4428,7 +4427,6 @@ else { if(type === "Occurrence"){ objectToDelete.__value__.setValue(""); - objectToDelete.disable(); } else { objectToDelete.__value__.__frames__[0].__content__.setValue(""); @@ -4436,13 +4434,14 @@ objectToDelete.__variants__ = new VariantContainerC(null, objectToDelete); vars.append(objectToDelete.__variants__.getFrame()); vars.remove(); - objectToDelete.disable(); } + objectToDelete.disable(); var ii = objectToDelete.__itemIdentity__; objectToDelete.__itemIdentity__ = new ItemIdentityC(null, objectToDelete); ii.append(objectToDelete.__itemIdentity__.getFrame()); ii.remove(); } } + alert("Objected deleted"); }); } \ No newline at end of file
Modified: trunk/src/rest_interface/rest-interface.lisp ============================================================================== --- trunk/src/rest_interface/rest-interface.lisp (original) +++ trunk/src/rest_interface/rest-interface.lisp Fri Nov 26 11:55:18 2010 @@ -25,8 +25,10 @@ :import-tm-feed :read-url :read-fragment-feed - :start-tm-engine - :shutdown-tm-engine + :start-json-engine + :start-atom-engine + :shutdown-json-engine + :shutdown-atom-engine :*json-get-prefix* :*get-rdf-prefix* :*json-commit-url* @@ -61,15 +63,47 @@ (apply page-function (coerce matched-registers 'list))))))))
-(defvar *server-acceptor* nil) +(defvar *json-server-acceptor* nil) +(defvar *atom-server-acceptor* nil)
-(defun start-tm-engine (repository-path &key (conffile "atom/conf.lisp") - (host-name "localhost") (port 8000)) - "Start the Topic Map Engine on a given port, assuming a given - hostname. Use the repository under repository-path" - (when *server-acceptor* - (error "Ther server is already running")) +(defun start-json-engine (repository-path &key + (host-name "localhost") (port 8000)) + "Start the Topic Maps Engine on a given port, assuming a given + hostname. Use the repository under repository-path. + This function starts only the json/xtm/rdf handlers for the UI, + The atom interface has to be started separately." + (when *json-server-acceptor* + (error "The json-server is already running")) + (setf hunchentoot:*show-lisp-errors-p* t) ;for now + (setf hunchentoot:*hunchentoot-default-external-format* + (flex:make-external-format :utf-8 :eol-style :lf)) + (unless elephant:*store-controller* + (elephant:open-store + (xml-importer:get-store-spec repository-path))) + (set-up-json-interface) + (setf *json-server-acceptor* + (make-instance 'hunchentoot:acceptor :address host-name :port port)) + (setf hunchentoot:*lisp-errors-log-level* :info) + (setf hunchentoot:*message-log-pathname* "./json-hunchentoot-errors.log") + (hunchentoot:start *json-server-acceptor*)) + + +(defun shutdown-json-engine () + "Shut down the Topic Map Engine, only the json part." + (hunchentoot:stop *json-server-acceptor*) + (setf *json-server-acceptor* nil) + (elephant:close-store)) + + +(defun start-atom-engine (repository-path &key (conf-file "atom/conf.lisp") + (host-name "localhost") (port 8001)) + "Start the Topic Maps Engine on a given port, assuming a given + hostname. Use the repository under repository-path. + This function starts only the atom interface. + The json/xtm/rdf interface has to be started separately." + (when *atom-server-acceptor* + (error "The atom-server is already running")) (setf hunchentoot:*show-lisp-errors-p* t) ;for now (setf hunchentoot:*hunchentoot-default-external-format* (flex:make-external-format :utf-8 :eol-style :lf)) @@ -77,16 +111,17 @@ (unless elephant:*store-controller* (elephant:open-store (xml-importer:get-store-spec repository-path))) - (load conffile) + (load conf-file) (publish-feed atom:*tm-feed*) - (set-up-json-interface) - (setf *server-acceptor* (make-instance 'hunchentoot:acceptor :address host-name :port port)) + (setf *atom-server-acceptor* + (make-instance 'hunchentoot:acceptor :address host-name :port port)) (setf hunchentoot:*lisp-errors-log-level* :info) - (setf hunchentoot:*message-log-pathname* "./hunchentoot-errors.log") - (hunchentoot:start *server-acceptor*)) + (setf hunchentoot:*message-log-pathname* "./atom-hunchentoot-errors.log") + (hunchentoot:start *atom-server-acceptor*)) +
-(defun shutdown-tm-engine () - "Shut down the Topic Map Engine" - (hunchentoot:stop *server-acceptor*) - (setf *server-acceptor* nil) +(defun shutdown-atom-engine () + "Shut down the Topic Map Engine, only the atom part." + (hunchentoot:stop *atom-server-acceptor*) + (setf *atom-server-acceptor* nil) (elephant:close-store)) \ No newline at end of file