1 37 38 package org.jahia.blogs.actions; 39 40 import org.jahia.blogs.model.BlogCategory; 41 42 import org.jahia.data.containers.JahiaContainerList; 43 import org.jahia.data.containers.JahiaContainer; 44 import org.jahia.data.containers.JahiaContainerDefinition; 45 46 import org.jahia.data.fields.LoadFlags; 47 import org.jahia.data.fields.JahiaField; 48 49 import org.jahia.services.usermanager.JahiaUser; 50 51 import org.jahia.services.version.EntryLoadRequest; 52 53 import org.jahia.services.categories.Category; 54 55 import org.jahia.exceptions.JahiaException; 56 57 import org.apache.log4j.Logger; 58 59 import java.util.Vector ; 60 import java.util.Set ; 61 import java.util.Hashtable ; 62 import java.util.Iterator ; 63 64 65 71 public class GetPostCategoriesAction extends AbstractAction { 72 73 static Logger log = Logger.getLogger(GetPostCategoriesAction.class); 75 76 private String postID; 77 78 79 public GetPostCategoriesAction(String postID, String userName, String passWord) { 80 this.postID = postID; 81 super.userName = userName; 82 super.password = passWord; 83 } 84 85 90 public Object execute() throws JahiaException { 91 92 super.init(); 94 95 final JahiaUser user = super.checkLogin(); 97 98 final JahiaContainer postContainer = super.getContainer( 100 Integer.parseInt(postID)); 101 102 if (postContainer == null) { 103 throw new JahiaException("Post: "+postID+ 104 " does not exist", "Container: "+postID+ " does not exist", 105 JahiaException.ENTRY_NOT_FOUND, 106 JahiaException.WARNING_SEVERITY); 107 } 108 109 log.debug("Working on container: "+postContainer.getID()); 110 111 Vector cats = this.fromSet(Category.getObjectCategories(postContainer. 113 getContentContainer().getObjectKey())); 114 115 log.debug("Post categories are: "+ cats); 116 return cats; 117 } 118 119 122 protected Vector fromSet(Set categories) { 123 124 if (categories == null) return new Vector (0); 125 126 Vector cats = new Vector (categories.size()); 127 Iterator ite = categories.iterator(); 128 while (ite.hasNext()) { 129 Hashtable catInfo = new Hashtable (3); 130 Category cat = (Category)ite.next(); 131 String catName = cat.getTitle(jParams.getLocale()); 132 133 if (catName == null || catName.length() < 1) { 134 catName = cat.getKey(); 135 } 136 137 catInfo.put(BlogCategory.MT_CATEGORY_ID, cat.getKey()); 138 catInfo.put(BlogCategory.MT_CATEGORY_NAME, catName); 139 catInfo.put(BlogCategory.MT_IS_PRIMARY, new Boolean (false)); 140 141 cats.addElement(catInfo); 142 } 143 return cats; 144 } 145 } 146 | Popular Tags |