View Javadoc

1   /*
2    * Copyright 2003,2004,2005 The Apache Software Foundation.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.apache.pluto.portlet.admin.bean;
17  
18  import java.util.ArrayList;
19  import java.util.Iterator;
20  import java.util.List;
21  
22  import org.apache.pluto.portalImpl.om.page.impl.FragmentImpl;
23  import org.apache.pluto.portlet.admin.BaseAdminObject;
24  
25  /***
26   * A Transfer Object repesenting a page in pageregistry.xml
27   * where the fragment type equals page. It is used to decouple
28   * the XML persistence model from the JSP view.
29   *
30   * @author Craig Doremus
31   *
32   */
33  public class PageTO extends BaseAdminObject {
34  
35  	public static final String CLASS_NAME = "PageTO";
36  
37  	private FragmentImpl _page;
38  	//By default there will be one row and one col
39  	private int _rows = 1;
40  	private int _cols = 1;
41  	private String _name = "";
42  	private String _title = "";
43  	private String _description = "";
44  	private List _portlets = new ArrayList();
45  
46  
47  	/***
48  	 *
49  	 */
50  	public PageTO() {
51  		super(CLASS_NAME);
52  	}
53  	/***
54  	 *
55  	 */
56  	public PageTO(FragmentImpl page) {
57  		super(CLASS_NAME);
58  		_page = page;
59  	}
60  
61  	/***
62  	 * @return Returns the cols.
63  	 */
64  	public int getCols() {
65  		return _cols;
66  	}
67  	/***
68  	/**
69  	 * @return Returns the page.
70  	 */
71  	public FragmentImpl getPage() {
72  		return _page;
73  	}
74  	/***
75  	 * @param page The page to set.
76  	 */
77  	public void setPage(FragmentImpl page) {
78  		_page = page;
79  		_name = page.getName();
80  	}
81  	/***
82  	 * @return Returns the rows.
83  	 */
84  	public int getRows() {
85  		return _rows;
86  	}
87  
88  	/***
89  	 * @param cols The cols to set.
90  	 */
91  	public void setCols(int cols) {
92  		_cols = cols;
93  	}
94  	/***
95  	 * @param rows The rows to set.
96  	 */
97  	public void setRows(int rows) {
98  		_rows = rows;
99  	}
100 	public String getName() {
101 	    return _name;
102 	}
103 
104 	/***
105 	 * @param name The name to set.
106 	 */
107 	public void setName(String name) {
108 		_name = name;
109 	}
110 	public String getTitle(){
111 	    return _title;
112 	}
113 
114 /*
115 	public void printFragment(FragmentType frag) {
116 		final String METHOD_NAME = "printFragment()";
117 		List frags = frag.getFragmentOrNavigationOrProperty();
118 		Iterator iter = frags.iterator();
119 		int count = 0;
120 		while (iter.hasNext()) {
121 			count++;
122 			try {
123 				FragmentType element = (FragmentType) iter.next();
124 				logDebug(METHOD_NAME, "Fragment: " + element.getName() + " type: " + element.getTypeattr());
125 			} catch (ClassCastException e) {
126 				logDebug(METHOD_NAME, "Not a fragment: ");
127 			}
128 			logDebug(METHOD_NAME, "Element number: " + count);
129 		}
130 	}
131 */
132 
133 /*
134 	public void recursePageFragment(FragmentType pagefragment) {
135 		final String METHOD_NAME = "recurseFragment(pagefragment)";
136 		List frags = pagefragment.getFragmentOrNavigationOrProperty();
137 		Iterator iter = frags.iterator();
138 		int count = 0;
139 		while (iter.hasNext()) {
140 			count++;
141 			try {
142 				FragmentType element = (FragmentType) iter.next();
143 				logDebug(METHOD_NAME, "Fragment: " + element.getName() + " type: " + element.getTypeattr());
144 			} catch (ClassCastException e) {
145 				logDebug(METHOD_NAME, "Not a fragment: ");
146 			}
147 			logDebug(METHOD_NAME, "Element number: " + count);
148 		}
149 	}
150 */
151 
152 	/***
153 	 *
154 	 * @param row
155 	 * @param col
156 	 */
157 	public PortletTO getPortlet(int row, int col) {
158 		PortletTO portlet = null;
159 		_portlets = getPortlets();
160 		Iterator iter = _portlets.iterator();
161 		while (iter.hasNext()) {
162 			PortletTO plet = (PortletTO) iter.next();
163 			if (plet.getRow() == row && plet.getCol() == col) {
164 				portlet = plet;
165 				break;
166 			}
167 		}
168 		return portlet;
169 	}
170 
171 	/***
172 	 *
173 	 * @param value
174 	 */
175 	public PortletTO getPortlet(String value) {
176 		final String METHOD_NAME = "getPortlet(value)";
177 		logMethodStart(METHOD_NAME);
178 		PortletTO portlet = null;
179 		Iterator iter = _portlets.iterator();
180 		while (iter.hasNext()) {
181 			PortletTO plet = (PortletTO) iter.next();
182 			if (plet.getValue().equals(value)) {
183 				portlet = plet;
184 				break;
185 			}
186 		}
187 		logMethodEnd(METHOD_NAME, portlet);
188 		return portlet;
189 	}
190 
191 
192 	/***
193 	 *
194 	 * @param row
195      * @param col
196 	 */
197 	public PortletTO getPortletByCell(int row, int col) {
198 		final String METHOD_NAME = "getPortletByCell(row,col)";
199 		logMethodStart(METHOD_NAME);
200 		PortletTO portlet = null;
201 		Iterator iter = _portlets.iterator();
202 		while (iter.hasNext()) {
203 			PortletTO plet = (PortletTO) iter.next();
204 			if (plet.getRow() == row && plet.getCol() == col) {
205 				portlet = plet;
206 				break;
207 			}
208 		}
209 		logMethodEnd(METHOD_NAME, portlet);
210 		return portlet;
211 	}
212 
213 	/***
214 	 * @return Returns the portlets.
215 	 */
216 	public List getPortlets() {
217 		return _portlets;
218 	}
219 
220 	/***
221 	 * @param portlets The portlets to set.
222 	 */
223 	public void setPortlets(List portlets) {
224 		_portlets = portlets;
225 	}
226 	/***
227 	 * @param description The description to set.
228 	 */
229 	public void setDescription(String description) {
230 		_description = description;
231 	}
232 	/***
233 	 * @param title The title to set.
234 	 */
235 	public void setTitle(String title) {
236 		_title = title;
237 	}
238 	/***
239 	 * @return Returns the portlets.
240 	 */
241 	public String getDescription() {
242 		return _description;
243 	}
244 
245 	public String toString(){
246 		StringBuffer sb = new StringBuffer();
247 		sb.append("Page[ ");
248 		sb.append(_title);
249 		sb.append(" Rows=");
250 		sb.append(_rows);
251 		sb.append(" Cols=");
252 		sb.append(_cols);
253 		sb.append(" Portlets[ ");
254 		Iterator iter = _portlets.iterator();
255 		while (iter.hasNext()) {
256 			PortletTO element = (PortletTO) iter.next();
257 			sb.append(element + " ");
258 		}
259 		sb.append("] ]");
260 		return sb.toString();
261 	}
262 }