diff --git a/ccm-cms/src/com/arsdigita/cms/ReusableImageAsset.java b/ccm-cms/src/com/arsdigita/cms/ReusableImageAsset.java index d44d6ddd2..7ee176299 100755 --- a/ccm-cms/src/com/arsdigita/cms/ReusableImageAsset.java +++ b/ccm-cms/src/com/arsdigita/cms/ReusableImageAsset.java @@ -53,10 +53,9 @@ import org.apache.log4j.Logger; public class ReusableImageAsset extends ImageAsset { private static final Logger s_log = - Logger.getLogger( ReusableImageAsset.class ); - + Logger.getLogger(ReusableImageAsset.class); public static final String BASE_DATA_OBJECT_TYPE = - "com.arsdigita.cms.ReusableImageAsset"; + "com.arsdigita.cms.ReusableImageAsset"; /** * Default constructor. This creates a new image asset. @@ -148,36 +147,37 @@ public class ReusableImageAsset extends ImageAsset { * @param defaultMimeType The default mime type for the file */ public void loadFromFile(String fileName, File file, String defaultMimeType) - throws IOException { + throws IOException { // Guess mime type MimeType mime = MimeType.guessMimeTypeFromFile(fileName); - if( s_log.isDebugEnabled() ) { - s_log.debug( "Mime type is " + ( null == mime ? "null" : mime.getMimeType() ) ); + if (s_log.isDebugEnabled()) { + s_log.debug("Mime type is " + (null == mime ? "null" : mime. + getMimeType())); } - RenderedImage image = JAI.create( "FileLoad", file.getPath() ); + RenderedImage image = JAI.create("FileLoad", file.getPath()); int width = image.getWidth(); int height = image.getHeight(); - if( s_log.isDebugEnabled() ) { - s_log.debug( "Width: " + width ); - s_log.debug( "Height: " + height ); + if (s_log.isDebugEnabled()) { + s_log.debug("Width: " + width); + s_log.debug("Height: " + height); } - if( s_log.isDebugEnabled() ) { + if (s_log.isDebugEnabled()) { String[] props = image.getPropertyNames(); - for( int i = 0; i < props.length; i++ ) { + for (int i = 0; i < props.length; i++) { String prop = props[i]; - s_log.debug( prop + ": " + image.getProperty( prop ) ); + s_log.debug(prop + ": " + image.getProperty(prop)); } } - setWidth( new BigDecimal( width ) ); - setHeight( new BigDecimal( height ) ); + setWidth(new BigDecimal(width)); + setHeight(new BigDecimal(height)); - if(mime == null || !( mime instanceof ImageMimeType ) ) { + if (mime == null || !(mime instanceof ImageMimeType)) { mime = MimeType.loadMimeType(defaultMimeType); } @@ -185,12 +185,12 @@ public class ReusableImageAsset extends ImageAsset { // Extract the filename int i = fileName.lastIndexOf("/"); - if(i > 0) { - fileName = fileName.substring(i+1); + if (i > 0) { + fileName = fileName.substring(i + 1); } i = fileName.lastIndexOf("\\"); // DOS-style - if(i > 0) { - fileName = fileName.substring(i+1); + if (i > 0) { + fileName = fileName.substring(i + 1); } setName(fileName); @@ -205,7 +205,7 @@ public class ReusableImageAsset extends ImageAsset { * @param file The file on the server to write to. */ public void writeToFile(File file) - throws IOException { + throws IOException { FileOutputStream fs = new FileOutputStream(file); try { fs.write(getContent()); @@ -217,17 +217,22 @@ public class ReusableImageAsset extends ImageAsset { } } - /** * Retrieve all images in the database. Expensive operation. * * @return a collection of ReusableImageAssets */ public static ImageAssetCollection getAllReusableImages() { - DataCollection da = SessionManager.getSession().retrieve - (BASE_DATA_OBJECT_TYPE); - da.addEqualsFilter(VersionedACSObject.IS_DELETED, new Integer(0)); - da.addEqualsFilter(ACSObject.OBJECT_TYPE, BASE_DATA_OBJECT_TYPE); + DataCollection da = SessionManager.getSession().retrieve( + BASE_DATA_OBJECT_TYPE); + //da.addEqualsFilter(VersionedACSObject.IS_DELETED, new Integer(0)); + //da.addEqualsFilter(ACSObject.OBJECT_TYPE, BASE_DATA_OBJECT_TYPE); + da.addFilter(String.format("%s = '%s'", + VersionedACSObject.IS_DELETED, + "0")); + da.addFilter(String.format("%s = '%s'", + ACSObject.OBJECT_TYPE, + BASE_DATA_OBJECT_TYPE)); return new ImageAssetCollection(da); } @@ -240,15 +245,14 @@ public class ReusableImageAsset extends ImageAsset { * @return a collection of images whose name matches the keyword */ public static ImageAssetCollection getReusableImagesByKeyword( - String keyword, String context - ) { + String keyword, String context) { ImageAssetCollection c = getAllReusableImages(); c.addOrder(Asset.NAME); Filter f; - if(!(keyword == null || keyword.length() < 1)) { - f = c.addFilter("lower(name) like lower(\'%\' || :keyword || \'%\')"); - f.set("keyword", keyword); - } + if (!(keyword == null || keyword.length() < 1)) { + f = c.addFilter("lower(name) like lower(\'%\' || :keyword || \'%\')"); + f.set("keyword", keyword); + } f = c.addFilter("version = :version"); f.set("version", context); return c; @@ -263,6 +267,4 @@ public class ReusableImageAsset extends ImageAsset { public static ImageAssetCollection getReusableImagesByKeyword(String keyword) { return getReusableImagesByKeyword(keyword, ContentItem.DRAFT); } - - } diff --git a/ccm-cms/src/com/arsdigita/cms/ui/DefaultImageBrowserModelBuilder.java b/ccm-cms/src/com/arsdigita/cms/ui/DefaultImageBrowserModelBuilder.java index d1c5a7e2e..310b6da95 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/DefaultImageBrowserModelBuilder.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/DefaultImageBrowserModelBuilder.java @@ -39,16 +39,14 @@ import com.arsdigita.util.LockableImpl; * @version $Id: DefaultImageBrowserModelBuilder.java 1940 2009-05-29 07:15:05Z terry $ */ public class DefaultImageBrowserModelBuilder extends LockableImpl - implements ImageBrowserModelBuilder, PaginationModelBuilder { + implements ImageBrowserModelBuilder, PaginationModelBuilder { private SingleSelectionModel m_keywordModel; private static ImageBrowserModel EMPTY_MODEL = - new EmptyImageBrowserModel(); - + new EmptyImageBrowserModel(); private ImageBrowser m_imageBrowser; private RequestLocal m_size; private RequestLocal m_imageColl; - private String m_context; /** @@ -60,13 +58,12 @@ public class DefaultImageBrowserModelBuilder extends LockableImpl * {@link ContentItem#DRAFT} or {@link ContentItem#LIVE} */ public DefaultImageBrowserModelBuilder( - SingleSelectionModel keywordModel, String context - ) { + SingleSelectionModel keywordModel, String context) { super(); m_keywordModel = keywordModel; m_context = context; - m_size = new RequestLocal(); - m_imageColl = new RequestLocal(); + m_size = new RequestLocal(); + m_imageColl = new RequestLocal(); } /** @@ -85,9 +82,10 @@ public class DefaultImageBrowserModelBuilder extends LockableImpl public ImageBrowserModel makeModel(ImageBrowser browser, PageState s) { //String key = (String)m_keywordModel.getSelectedKey(s); - // pass through key even if null -- null key will return all rows in m_context. + // pass through key even if null -- null key will return all rows in m_context. //ImageAssetCollection c = ReusableImageAsset.getReusableImagesByKeyword(key, m_context); - return new DefaultImageBrowserModel((ImageAssetCollection) m_imageColl.get(s)); + return new DefaultImageBrowserModel((ImageAssetCollection) m_imageColl. + get(s)); } /** @@ -107,32 +105,34 @@ public class DefaultImageBrowserModelBuilder extends LockableImpl } public int getTotalSize(Paginator paginator, PageState state) { - - Integer size = (Integer) m_size.get(state); - - if (size == null) { - - String key = (String)m_keywordModel.getSelectedKey(state); - ImageAssetCollection c = ReusableImageAsset.getReusableImagesByKeyword(key, m_context); - if (c == null) { - return 0; - } - size = new Integer( (int) ReusableImageAsset.getReusableImagesByKeyword(key, m_context).size()); - - c.setRange(new Integer(paginator.getFirst(state)), - new Integer(paginator.getLast(state) + 1)); - - m_size.set(state, size); - m_imageColl.set(state, c); - } - - return size.intValue(); + Integer size = (Integer) m_size.get(state); + + if (size == null) { + + String key = (String) m_keywordModel.getSelectedKey(state); + ImageAssetCollection c = ReusableImageAsset. + getReusableImagesByKeyword(key, m_context); + if (c == null) { + return 0; + } + + size = new Integer( (int) ReusableImageAsset.getReusableImagesByKeyword(key, m_context).size()); + + c.setRange(new Integer(paginator.getFirst(state)), + new Integer(paginator.getLast(state) + 1)); + + m_size.set(state, size); + m_imageColl.set(state, c); + } + + return size.intValue(); } - + public void setImageBrowser(ImageBrowser ib) { - m_imageBrowser = ib; + m_imageBrowser = ib; } + /** * Indicates whether the paginator should be visible, * based on the visibility of the image browser itself. @@ -141,7 +141,6 @@ public class DefaultImageBrowserModelBuilder extends LockableImpl * associated image browser is unknown. */ public boolean isVisible(PageState state) { - return (m_imageBrowser != null)?m_imageBrowser.isVisible(state):true; + return (m_imageBrowser != null) ? m_imageBrowser.isVisible(state) : true; } - }