package com.usemodj.forum.bean; import java.util.HashMap; import java.util.HashSet; import java.util.Set; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import com.usemodj.forum.domain.Post; import com.usemodj.forum.domain.Topic; public class PostCSS { private static Logger logger = Logger.getLogger( PostCSS.class); Post post = null; Set<String> cssClass = new HashSet<String>(); static HashMap<String, Integer> bbAlt = new HashMap<String, Integer>(); public PostCSS(){ } public PostCSS( Post post){ this.post = post; } public String getPostDelClass(){ //Set<String> cssClass = new HashSet<String>(); if( null != this.post.getMetaValue( "pingback_uri")) { cssClass.add("pingback"); } if( 1 == post.getPostStatus()){ cssClass.add("deleted"); } else if( 0 != this.post.getPostStatus()){ cssClass.add("post-status-" + this.post.getPostStatus()); } return StringUtils.join(cssClass, " "); } public String getPostDelAltClass( String cssClazz ) { if( !StringUtils.isBlank( cssClazz)) { String[] css = cssClazz.split(" "); for( String c: css) { this.cssClass.add( c); } } return altClass("post", getPostDelClass( )); } public String altClass(String key, String cssClass) { String css = ""; if( null == bbAlt.get(key)) bbAlt.put(key, -1); int n = (Integer) bbAlt.get( key); bbAlt.put(key, ++n); cssClass = cssClass.trim(); n = (Integer) bbAlt.get( key) %2; if( (null != cssClass) ^ 0 != n) css = " class=\""+( ( cssClass != null)? cssClass : "alt") +"\""; else if(null != cssClass && 0 != (Integer)bbAlt.get(key) % 2) css = " class=\""+ cssClass + " alt\""; logger.debug(" -----PostCSS: altClass css: "+ css); return css; } public Post getPost() { return post; } public void setPost(Post post) { this.post = post; } }