1 23 24 package org.infoglue.cms.treeservice; 25 26 import java.util.ArrayList ; 27 import java.util.Iterator ; 28 import java.util.List ; 29 30 import javax.servlet.ServletConfig ; 31 import javax.servlet.ServletException ; 32 33 import org.apache.log4j.Logger; 34 import org.infoglue.cms.controllers.kernel.impl.simple.ContentController; 35 import org.infoglue.cms.controllers.kernel.impl.simple.ContentControllerProxy; 36 import org.infoglue.cms.entities.content.ContentVO; 37 import org.infoglue.cms.net.CommunicationEnvelope; 38 import org.infoglue.cms.net.Node; 39 40 41 public class ContentService extends JServiceBuilder 42 { 43 private final static Logger logger = Logger.getLogger(ContentService.class.getName()); 44 45 public void init(ServletConfig config) throws ServletException 46 { 47 super.init(config); 48 } 49 50 51 public CommunicationEnvelope execute(CommunicationEnvelope envelope) 52 { 53 CommunicationEnvelope responseEnvelope = new CommunicationEnvelope(); 54 55 try 56 { 57 String action = envelope.getAction(); 58 logger.info("ACTION:" + action); 59 60 if(action.equals("selectRootNode")) 61 { 62 responseEnvelope = getRootContent(envelope); 63 } 64 if(action.equals("selectNode")) 65 { 66 responseEnvelope = getContent(envelope); 67 } 68 else if(action.equals("selectChildNodes")) 69 { 70 responseEnvelope = getChildContents(envelope); 71 } 72 86 logger.info("Executing in ContentService..."); 87 } 88 catch (Exception e) 89 { 90 responseEnvelope.setStatus("1"); 91 e.printStackTrace(); 92 } 93 return responseEnvelope; 94 } 95 96 99 public CommunicationEnvelope getRootContent(CommunicationEnvelope envelope) 100 { 101 CommunicationEnvelope responseEnvelope = new CommunicationEnvelope(); 102 103 try 104 { 105 List arguments = (List )envelope.getNodes(); 106 logger.info("arguments:" + arguments.size()); 107 Integer repositoryId = ((Node)arguments.get(0)).getId(); 108 logger.info("repositoryId:" + repositoryId); 109 110 ContentVO contentVO = ContentControllerProxy.getController().getRootContentVO(repositoryId, this.request.getRemoteUser()); 111 112 logger.info("contentVO:" + contentVO.getContentId() + " " + contentVO.getName()); 113 Node node = new Node(); 114 node.setId(contentVO.getContentId()); 115 node.setName(contentVO.getName()); 116 node.setIsBranch(contentVO.getIsBranch()); 117 118 List nodes = new ArrayList (); 119 nodes.add(node); 120 responseEnvelope.setNodes(nodes); 121 } 122 catch (Exception e) 123 { 124 responseEnvelope.setStatus("1"); 125 e.printStackTrace(); 126 } 127 return responseEnvelope; 128 } 129 130 133 public CommunicationEnvelope getContent(CommunicationEnvelope envelope) 134 { 135 CommunicationEnvelope responseEnvelope = new CommunicationEnvelope(); 136 137 try 138 { 139 List arguments = (List )envelope.getNodes(); 140 Integer contentId = ((Node)arguments.get(0)).getId(); 141 logger.info("contentId:" + contentId); 142 ContentVO contentVO = ContentController.getContentController().getContentVOWithId(contentId); 143 logger.info("contentVO:" + contentVO.getContentId() + " " + contentVO.getName()); 144 Node node = new Node(); 145 node.setId(contentVO.getContentId()); 146 node.setName(contentVO.getName()); 147 node.setIsBranch(contentVO.getIsBranch()); 148 149 List nodes = new ArrayList (); 150 nodes.add(node); 151 responseEnvelope.setNodes(nodes); 152 } 153 catch (Exception e) 154 { 155 responseEnvelope.setStatus("1"); 156 e.printStackTrace(); 157 } 158 return responseEnvelope; 159 } 160 161 162 165 public CommunicationEnvelope getChildContents(CommunicationEnvelope envelope) 166 { 167 CommunicationEnvelope responseEnvelope = new CommunicationEnvelope(); 168 169 try 170 { 171 List arguments = (List )envelope.getNodes(); 172 Integer contentId = ((Node)arguments.get(0)).getId(); 173 logger.info("contentId:" + contentId); 174 175 List childContents = ContentController.getContentController().getContentChildrenVOList(contentId); 176 177 List nodes = new ArrayList (); 178 Iterator childIterator = childContents.iterator(); 179 180 while(childIterator.hasNext()) 181 { 182 ContentVO contentVO = (ContentVO)childIterator.next(); 183 Node node = new Node(); 184 node.setId(contentVO.getContentId()); 185 node.setName(contentVO.getName()); 186 node.setIsBranch(contentVO.getIsBranch()); 187 nodes.add(node); 188 } 189 190 responseEnvelope.setNodes(nodes); 191 } 192 catch (Exception e) 193 { 194 responseEnvelope.setStatus("1"); 195 e.printStackTrace(); 196 } 197 return responseEnvelope; 198 } 199 200 201 202 203 } | Popular Tags |