1 16 package org.outerj.daisy.httpconnector.handlers; 17 18 import org.mortbay.http.HttpRequest; 19 import org.mortbay.http.HttpResponse; 20 import org.outerj.daisy.repository.Repository; 21 import org.outerj.daisy.repository.variant.VariantManager; 22 import org.outerj.daisy.repository.variant.Language; 23 import org.outerj.daisy.repository.variant.Languages; 24 import org.outerj.daisy.httpconnector.RequestHandler; 25 import org.outerj.daisy.xmlutil.LocalSAXParserFactory; 26 import org.outerx.daisy.x10.LanguageDocument; 27 import org.apache.xmlbeans.XmlOptions; 28 29 import java.util.Map ; 30 31 public class LanguagesHandler implements RequestHandler { 32 public String getPathPattern() { 33 return "/language"; 34 } 35 36 public void handleRequest(Map matchMap, HttpRequest request, HttpResponse response, Repository repository) throws Exception { 37 VariantManager variantManager = repository.getVariantManager(); 38 39 if (request.getMethod().equals(HttpRequest.__POST)) { 40 XmlOptions xmlOptions = new XmlOptions().setLoadUseXMLReader(LocalSAXParserFactory.newXmlReader()); 42 LanguageDocument languageDocument = LanguageDocument.Factory.parse(request.getInputStream(), xmlOptions); 43 LanguageDocument.Language languageXml = languageDocument.getLanguage(); 44 Language language = variantManager.createLanguage(languageXml.getName()); 45 language.setAllFromXml(languageXml); 46 language.save(); 47 48 languageDocument = language.getXml(); 49 languageDocument.save(response.getOutputStream()); 50 response.commit(); 51 52 return; 53 } else if (request.getMethod().equals(HttpRequest.__GET)) { 54 Languages languages = variantManager.getAllLanguages(true); 56 languages.getXml().save(response.getOutputStream()); 57 response.commit(); 58 } else { 59 response.sendError(HttpResponse.__405_Method_Not_Allowed); 60 return; 61 } 62 } 63 } 64 | Popular Tags |