@Override protected Map<String, Object> referenceData( HttpServletRequest request, Object command, Errors errors, int page) throws Exception { UserSessionData usd = getUserSessionData(request); Map<String, Object> referenceData = new HashMap<String, Object>(); int currentPage = getCurrentPage(request); log.debug("referenceData: Current page in refData " + currentPage); referenceData.put("dirtyFlag", usd.isDirty() ? "true" : "false"); referenceData.put("ImageUrlBuilder", urlBuilder); referenceData.put("allSizes", imageSizeDefMgr.getAllImageSizes()); referenceData.put("page", currentPage); MasterImageMetaData mimd = usd.getMimd(); if (usd.getPages() == null) { log.debug("referenceData: no pages defined yet"); setPagesDynamically(request, null); } int pageCount = usd.getPages().length; log.debug("Page count is " + pageCount); referenceData.put("pagecount", pageCount); if (currentPage == 0) { String sizedDivStyle = "none"; if (StringUtils.isNotBlank(mimd.getImageKey())) { sizedDivStyle = "block"; } referenceData.put("sizedDivStyle", sizedDivStyle); referenceData.put("allDisplaySizes", buildAllSizesList(mimd)); referenceData.put("metadata", buildMasterImageDisplay(mimd)); } if (currentPage > 0 && currentPage < getPageCount(request, command) - 1) { SizedImageMetaData simd = getCurrentSizedImage(mimd, currentPage - 1); referenceData.put("SizedImage", simd); Map<String, String> cropbox = buildCropBox(simd); referenceData.put("cropbox", cropbox); ImageSizeDefinition isd = simd.getSizeDefinition(); referenceData.put("sizecode", isd.getCode()); referenceData.put("sizelabel", isd.getLabel()); referenceData.put("definedHeight", isd.getHeight()); referenceData.put("definedWidth", isd.getWidth()); Map<String, String> displayImage = buildDisplayImage(usd); referenceData.put("displayImage", displayImage); } else if (currentPage == getPageCount(request, command) - 1) { // this is the confirm page. Map<String, String> displayImage = buildDisplayImage(usd); referenceData.put("displayImage", displayImage); List<Map<String, String>> sizedImagesDisplay = buildAllSizedImagesDisplay(mimd.getSizedImages()); referenceData.put("sizedImages", sizedImagesDisplay); } return referenceData; }
protected List<Map<String, String>> buildAllSizesList(MasterImageMetaData mimd) { List<Map<String, String>> allSizes = new ArrayList<Map<String, String>>(); Map<String, SizedImageMetaData> sizedImages = mimd.getSizedImages(); for (ImageSizeDefinition size : imageSizeDefMgr.getAllImageSizes()) { Map<String, String> sizeData = new HashMap<String, String>(); sizeData.put("code", size.getCode()); sizeData.put("label", size.getLabel()); if (sizedImages.containsKey(size.getCode())) { sizeData.put("checked", "checked"); } allSizes.add(sizeData); } return allSizes; }
public void init() throws Exception { if (imageCacheManager == null) { imageCacheManager = ImageCacheManagerLocator.getImageCacheManager(); } if (imageSizeDefMgr == null) { imageSizeDefMgr = ImageSizeDefinitionManagerLocator.getImageSizeDefinitionManager(); } // these should be initialized from the Spring bean defn. Validate.notNull(imageResizeMgr); Validate.notNull(urlBuilder); Validate.notNull(imagePersistenceManager); log.debug( "ImageEditorWizard: ---------------------------- Starting the ImageEditorWizard controller....----------------------------"); // Most pages possible for the wizard: int maxSize = 2 + imageSizeDefMgr.getAllImageSizes().size(); String[] wizardPages = new String[maxSize]; wizardPages[0] = MAIN_PAGE; wizardPages[maxSize - 1] = CONFIRM_PAGE; for (int i = 1; i < maxSize - 1; i++) { wizardPages[i] = SIZE_PAGE; } setPages(wizardPages); String outputWp = ""; for (int j = 0; j < wizardPages.length; j++) outputWp += "[" + wizardPages[j] + "] "; log.debug( "ImageEditorWizard: ---------------------------- Wizard Pages: " + outputWp + " ----------------------------"); log.debug( "ImageEditorWizard: ---------------------------- Wizard Pages length: " + wizardPages.length + " ----------------------------"); }