1 24 package org.riotfamily.components.render; 25 26 import java.io.IOException ; 27 import java.util.Locale ; 28 29 import javax.servlet.http.HttpServletRequest ; 30 import javax.servlet.http.HttpServletResponse ; 31 32 import org.riotfamily.components.ComponentList; 33 import org.riotfamily.components.ComponentRepository; 34 import org.riotfamily.components.Location; 35 import org.riotfamily.components.config.ComponentListConfiguration; 36 import org.riotfamily.components.dao.ComponentDao; 37 import org.riotfamily.components.editor.EditModeUtils; 38 import org.springframework.context.MessageSource; 39 import org.springframework.web.servlet.support.RequestContextUtils; 40 41 public class InheritingRenderStrategy extends PreviewModeRenderStrategy { 42 43 private MessageSource messageSource; 44 45 public InheritingRenderStrategy(ComponentDao dao, 46 ComponentRepository repository, ComponentListConfiguration config, 47 HttpServletRequest request, HttpServletResponse response) 48 throws IOException { 49 50 super(dao, repository, config, request, response); 51 this.messageSource = repository.getMessageSource(); 52 } 53 54 protected void renderComponentList(ComponentList list) throws IOException { 55 boolean live = EditModeUtils.isEditMode(request); 56 EditModeUtils.setLiveMode(request, true); 57 super.renderComponentList(list); 58 EditModeUtils.setLiveMode(request, live); 59 } 60 61 protected void onListNotFound(Location location) throws IOException { 62 Locale locale = RequestContextUtils.getLocale(request); 63 out.print("<div class=\"riot-no-inheritance\">"); 64 out.print(messageSource.getMessage( 65 "components.inheritance.noParentList", null, 66 "No parent list available", locale)); 67 68 out.print("</div>"); 69 } 70 71 protected void onEmptyComponentList() throws IOException { 72 Locale locale = RequestContextUtils.getLocale(request); 73 out.print("<div class=\"riot-no-inheritance\">"); 74 out.print(messageSource.getMessage( 75 "components.inheritance.emptyParentList", null, 76 "The parent list does not contain any components", locale)); 77 78 out.print("</div>"); 79 } 80 81 } | Popular Tags |