1 16 package org.outerj.daisy.frontend; 17 18 import org.outerj.daisy.frontend.util.AbstractDaisyApple; 19 import org.outerj.daisy.frontend.util.FormHelper; 20 import org.outerj.daisy.frontend.components.userregistrar.UserRegistrar; 21 import org.outerj.daisy.repository.Repository; 22 import org.apache.cocoon.components.flow.apples.StatelessAppleController; 23 import org.apache.cocoon.components.flow.apples.AppleRequest; 24 import org.apache.cocoon.components.flow.apples.AppleResponse; 25 import org.apache.cocoon.forms.formmodel.Form; 26 import org.apache.cocoon.forms.FormContext; 27 import org.apache.cocoon.environment.Request; 28 import org.apache.avalon.framework.service.Serviceable; 29 import org.apache.avalon.framework.service.ServiceManager; 30 import org.apache.avalon.framework.service.ServiceException; 31 32 import java.util.HashMap ; 33 import java.util.Map ; 34 import java.util.Locale ; 35 36 public class PasswordReminderApple extends AbstractDaisyApple implements StatelessAppleController, Serviceable { 37 private ServiceManager serviceManager; 38 39 public void service(ServiceManager serviceManager) throws ServiceException { 40 this.serviceManager = serviceManager; 41 } 42 43 protected void processInternal(AppleRequest appleRequest, AppleResponse appleResponse) throws Exception { 44 Form form = FormHelper.createForm(serviceManager, "resources/form/passwordreminder_definition.xml"); 45 Request request = appleRequest.getCocoonRequest(); 46 Repository repository = WikiHelper.getRepository(appleRequest.getCocoonRequest(), serviceManager); 47 Locale locale = WikiHelper.getLocale(appleRequest.getCocoonRequest()); 48 49 Map viewData = new HashMap (); 50 viewData.put("pageContext", new PageContext(getMountPoint(), repository, getLayoutType(), getSkin(), SkinConfHelper.getGlobalSkinConf(serviceManager), getContext())); 51 viewData.put("locale", locale); 52 53 if (request.getMethod().equals("GET")) { 54 viewData.put("CocoonFormsInstance", form); 55 viewData.put("submitPath", getMountPoint() + "/passwordReminder"); 56 appleResponse.sendPage("Form-passwordreminder-Pipe", viewData); 57 } else if (request.getMethod().equals("POST")) { 58 boolean endProcessing = form.process(new FormContext(appleRequest.getCocoonRequest(), locale)); 60 61 if (!endProcessing) { 62 viewData.put("CocoonFormsInstance", form); 63 viewData.put("submitPath", getMountPoint() + "/passwordReminder"); 64 appleResponse.sendPage("Form-passwordreminder-Pipe", viewData); 65 } else { 66 String login = (String )form.getChild("login").getValue(); 67 UserRegistrar userRegistrar = (UserRegistrar)serviceManager.lookup(UserRegistrar.ROLE); 68 String server = RequestUtil.getServer(request); 69 userRegistrar.sendPasswordReminder(login, server, getMountPoint(), locale); 70 appleResponse.sendPage("Message-pwdremindersuccess-Pipe", viewData); 71 } 72 } 73 } 74 75 } 76 | Popular Tags |