KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > roller > ui > authoring > ajax > UserDataServlet


1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. The ASF licenses this file to You
4 * under the Apache License, Version 2.0 (the "License"); you may not
5 * 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. For additional information regarding
15 * copyright in this work, please see the NOTICE file in the top level
16 * directory of this distribution.
17 */

18 package org.apache.roller.ui.authoring.ajax;
19
20 import java.io.IOException JavaDoc;
21 import java.util.Iterator JavaDoc;
22 import java.util.List JavaDoc;
23
24 import javax.servlet.ServletException JavaDoc;
25 import javax.servlet.http.HttpServlet JavaDoc;
26 import javax.servlet.http.HttpServletRequest JavaDoc;
27 import javax.servlet.http.HttpServletResponse JavaDoc;
28
29 import org.apache.roller.RollerException;
30 import org.apache.roller.model.Roller;
31 import org.apache.roller.model.RollerFactory;
32 import org.apache.roller.model.UserManager;
33 import org.apache.roller.pojos.UserData;
34
35 /**
36  * Return list of users matching a startsWith strings. <br />
37  * Accepts request params (none required):<br />
38  * startsWith: string to be matched against username and email address<br />
39  * enabled: true include only enabled users (default: no restriction<br />
40  * offset: offset into results (for paging)<br />
41  * length: number of users to return (max is 50)<br /><br />
42  * List format:<br />
43  * username0, emailaddress0 <br/>
44  * username1, emailaddress1 <br/>
45  * username2, emailaddress2 <br/>
46  * usernameN, emailaddressN <br/>
47  *
48  * @web.servlet name="UserDataServlet"
49  * @web.servlet-mapping url-pattern="/roller-ui/authoring/userdata/*"
50  * @author David M Johnson
51  */

52 public class UserDataServlet extends HttpServlet JavaDoc {
53     private final int MAX_LENGTH = 50;
54     public void doGet(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
55             throws ServletException JavaDoc, IOException JavaDoc {
56         
57         String JavaDoc startsWith = request.getParameter("startsWith");
58         Boolean JavaDoc enabledOnly = null;
59         int offset = 0;
60         int length = MAX_LENGTH;
61         if ("true".equals(request.getParameter("enabled"))) enabledOnly = Boolean.TRUE;
62         if ("false".equals(request.getParameter("enabled"))) enabledOnly = Boolean.FALSE;
63         try { offset = Integer.parseInt(request.getParameter("offset"));
64         } catch (Throwable JavaDoc ignored) {}
65         try { length = Integer.parseInt(request.getParameter("length"));
66         } catch (Throwable JavaDoc ignored) {}
67         
68         Roller roller = RollerFactory.getRoller();
69         try {
70             UserManager umgr = roller.getUserManager();
71             List JavaDoc users =
72              umgr.getUsersStartingWith(startsWith, enabledOnly, offset, length);
73             Iterator JavaDoc userIter = users.iterator();
74             while (userIter.hasNext()) {
75                 UserData user = (UserData)userIter.next();
76                 response.getWriter().print(user.getUserName());
77                 response.getWriter().print(",");
78                 response.getWriter().println(user.getEmailAddress());
79             }
80             response.flushBuffer();
81         } catch (RollerException e) {
82             throw new ServletException JavaDoc(e.getMessage());
83         }
84     }
85 }
86
Popular Tags