KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > treeservice > ContentService


1 /* ===============================================================================
2  *
3  * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4  *
5  * ===============================================================================
6  *
7  * Copyright (C)
8  *
9  * This program is free software; you can redistribute it and/or modify it under
10  * the terms of the GNU General Public License version 2, as published by the
11  * Free Software Foundation. See the file LICENSE.html for more information.
12  *
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19  * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20  *
21  * ===============================================================================
22  */

23
24 package org.infoglue.cms.treeservice;
25
26 import java.util.ArrayList JavaDoc;
27 import java.util.Iterator JavaDoc;
28 import java.util.List JavaDoc;
29
30 import javax.servlet.ServletConfig JavaDoc;
31 import javax.servlet.ServletException JavaDoc;
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 JavaDoc config) throws ServletException JavaDoc
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 JavaDoc 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             /*
73             else if(action.equals("createContent"))
74             {
75                 responseEnvelope = createContent(envelope);
76             }
77             else if(action.equals("updateContent"))
78             {
79                 responseEnvelope = updateContent(envelope);
80             }
81             else if(action.equals("deleteContent"))
82             {
83                 responseEnvelope = deleteContent(envelope);
84             }
85             */

86             logger.info("Executing in ContentService...");
87         }
88         catch (Exception JavaDoc e)
89         {
90             responseEnvelope.setStatus("1");
91             e.printStackTrace();
92         }
93         return responseEnvelope;
94     }
95
96     /**
97      * This method fetches the root Content of this site
98      */

99     public CommunicationEnvelope getRootContent(CommunicationEnvelope envelope)
100     {
101         CommunicationEnvelope responseEnvelope = new CommunicationEnvelope();
102         
103         try
104         {
105             List JavaDoc arguments = (List JavaDoc)envelope.getNodes();
106             logger.info("arguments:" + arguments.size());
107             Integer JavaDoc 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 JavaDoc nodes = new ArrayList JavaDoc();
119             nodes.add(node);
120             responseEnvelope.setNodes(nodes);
121         }
122         catch (Exception JavaDoc e)
123         {
124             responseEnvelope.setStatus("1");
125             e.printStackTrace();
126         }
127         return responseEnvelope;
128     }
129
130     /**
131      * This method fetches the Content with the given id
132      */

133     public CommunicationEnvelope getContent(CommunicationEnvelope envelope)
134     {
135         CommunicationEnvelope responseEnvelope = new CommunicationEnvelope();
136         
137         try
138         {
139             List JavaDoc arguments = (List JavaDoc)envelope.getNodes();
140             Integer JavaDoc 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 JavaDoc nodes = new ArrayList JavaDoc();
150             nodes.add(node);
151             responseEnvelope.setNodes(nodes);
152         }
153         catch (Exception JavaDoc e)
154         {
155             responseEnvelope.setStatus("1");
156             e.printStackTrace();
157         }
158         return responseEnvelope;
159     }
160
161
162     /**
163      * This method fetches the root Content of this site
164      */

165     public CommunicationEnvelope getChildContents(CommunicationEnvelope envelope)
166     {
167         CommunicationEnvelope responseEnvelope = new CommunicationEnvelope();
168         
169         try
170         {
171             List JavaDoc arguments = (List JavaDoc)envelope.getNodes();
172             Integer JavaDoc contentId = ((Node)arguments.get(0)).getId();
173             logger.info("contentId:" + contentId);
174             
175             List JavaDoc childContents = ContentController.getContentController().getContentChildrenVOList(contentId);
176             
177             List JavaDoc nodes = new ArrayList JavaDoc();
178             Iterator JavaDoc 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 JavaDoc e)
193         {
194             responseEnvelope.setStatus("1");
195             e.printStackTrace();
196         }
197         return responseEnvelope;
198     }
199
200
201     
202
203 }
Popular Tags