/** * Copyright (c) 2009 Juwi MacMillan Group GmbH * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // license-header java merge-point /** * This is only generated once! It will never be overwritten. * You can (and have to!) safely modify it by hand. */ package de.juwimm.cms.model; import javax.swing.ImageIcon; import org.tizzit.util.Base64; import de.juwimm.cms.vo.PictureSlimValue; import de.juwimm.cms.vo.PictureSlimstValue; import de.juwimm.cms.vo.PictureValue; /** * @see de.juwimm.cms.model.PictureHbm * @author <a href="mailto:carsten.schalm@juwimm.com">Carsten Schalm</a> company Juwi|MacMillan Group Gmbh, Walsrode, Germany * @version $Id$ */ public class PictureHbmImpl extends PictureHbm { private static final long serialVersionUID = 789271321041565274L; /** * @see de.juwimm.cms.model.PictureHbm#toXml(int) */ @Override public String toXml(int tabdepth) { // NOTE: Height and width of picture are calculated when picture is created. So these information don't have to be exported here StringBuffer sb = new StringBuffer(); sb.append("<picture id=\""); sb.append(this.getPictureId()); sb.append("\" mimeType=\""); sb.append(this.getMimeType()); if(this.getUnit()!=null){ sb.append("\" unitId=\""); sb.append(this.getUnit().getUnitId()); } else if(this.getViewComponent()!=null){ sb.append("\" viewComponentId=\""); sb.append(this.getViewComponent().getViewComponentId()); } sb.append("\" popup=\""); sb.append(this.isThumbnailPopup()); sb.append("\">\n"); sb.append("<thumbnail>").append(Base64.encodeBytes(this.getThumbnail())).append("</thumbnail>\n"); sb.append("<file>").append(Base64.encodeBytes(this.getPicture())).append("</file>\n"); // preview may be null or empty if (this.getPreview() != null && this.getPreview().length > 0) { sb.append("<preview>").append(Base64.encodeBytes(this.getPreview())).append("</preview>\n"); } String altText = this.getAltText(); if (altText == null) altText = ""; sb.append("<altText><![CDATA[").append(altText).append("]]></altText>\n"); String title = getTitle(); if (title == null) title = ""; sb.append("<title><![CDATA[").append(title).append("]]></title>\n"); String pictureName = this.getPictureName(); if (pictureName == null) pictureName = ""; sb.append("<pictureName><![CDATA[").append(pictureName).append("]]></pictureName>\n"); sb.append("</picture>\n"); return sb.toString(); } @Override public PictureSlimValue getSlimValue() { PictureSlimValue pictureSlimValue = new PictureSlimValue(); pictureSlimValue.setPictureId(this.getPictureId()); pictureSlimValue.setMimeType(this.getMimeType()); pictureSlimValue.setThumbnail(this.getThumbnail()); pictureSlimValue.setTimeStamp(this.getTimeStamp()); if (this.getHeight() == null || this.getWidth() == null) { // size is calculated on creating picture. // for existing pictures size has to be calculated once on first use in client ImageIcon img = new ImageIcon(this.getPicture()); this.setHeight(Integer.valueOf(img.getIconHeight())); this.setWidth(Integer.valueOf(img.getIconWidth())); } pictureSlimValue.setHeight(this.getHeight()); pictureSlimValue.setWidth(this.getWidth()); pictureSlimValue.setAltText(this.getAltText()); pictureSlimValue.setPictureName(this.getPictureName()); pictureSlimValue.setTitle(this.getTitle()); pictureSlimValue.setThumbnailPopup(this.isThumbnailPopup()); return pictureSlimValue; } @Override public PictureSlimstValue getSlimstValue() { PictureSlimstValue pictureSlimValue = new PictureSlimstValue(); pictureSlimValue.setPictureId(this.getPictureId()); pictureSlimValue.setMimeType(this.getMimeType()); pictureSlimValue.setTimeStamp(this.getTimeStamp()); if (this.getHeight() == null || this.getWidth() == null) { // size is calculated on creating picture. // for existing pictures size has to be calculated once on first use in client ImageIcon img = new ImageIcon(this.getPicture()); this.setHeight(Integer.valueOf(img.getIconHeight())); this.setWidth(Integer.valueOf(img.getIconWidth())); } pictureSlimValue.setHeight(this.getHeight()); pictureSlimValue.setWidth(this.getWidth()); pictureSlimValue.setAltText(this.getAltText()); pictureSlimValue.setPictureName(this.getPictureName()); pictureSlimValue.setTitle(this.getTitle()); pictureSlimValue.setThumbnailPopup(this.isThumbnailPopup()); return pictureSlimValue; } @Override public PictureValue getPictureValue() { PictureValue pictureValue = new PictureValue(); pictureValue.setPictureId(this.getPictureId()); pictureValue.setPicture(this.getPicture()); pictureValue.setPreview(this.getPreview()); pictureValue.setMimeType(this.getMimeType()); pictureValue.setTimeStamp(this.getTimeStamp()); if (this.getHeight() == null || this.getWidth() == null) { // size is calculated on creating picture. // for existing pictures size has to be calculated once on first use in client ImageIcon img = new ImageIcon(this.getPicture()); this.setHeight(Integer.valueOf(img.getIconHeight())); this.setWidth(Integer.valueOf(img.getIconWidth())); } pictureValue.setHeight(this.getHeight()); pictureValue.setWidth(this.getWidth()); pictureValue.setAltText(this.getAltText()); pictureValue.setTitle(this.getTitle()); pictureValue.setPictureName(this.getPictureName()); pictureValue.setThumbnailPopup(this.isThumbnailPopup()); return pictureValue; } }