package mircoders.servlet;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+import mir.entity.adapter.EntityAdapterEngine;
import mir.entity.adapter.EntityAdapterModel;
-import mir.entity.adapter.EntityIteratorAdapter;
import mir.log.LoggerWrapper;
import mir.servlet.ServletModule;
import mir.servlet.ServletModuleExc;
import mir.servlet.ServletModuleFailure;
import mir.servlet.ServletModuleUserExc;
-import mir.util.CachingRewindableIterator;
import mir.util.HTTPRequestParser;
import mir.util.URLBuilder;
import mircoders.entity.EntityUsers;
import mircoders.module.ModuleUsers;
import mircoders.storage.DatabaseUsers;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
+
/**
*
- * <p>Title: </p>
- * <p>Description: </p>
- * <p>Copyright: Copyright (c) 2003</p>
- * <p>Company: </p>
- * @author not attributable
- * @version 1.0
+ *
*/
public class ServletModuleUsers extends ServletModule
{
logger = new LoggerWrapper("ServletModule.Users");
try {
- model = MirGlobal.localizer().dataModel().adapterModel();
definition = "user";
- usersModule = new ModuleUsers(DatabaseUsers.getInstance());
+ usersModule = new ModuleUsers();
mainModule = usersModule;
}
catch (Throwable e) {
return newPassword;
}
- else
- return null;
+ return null;
}
public void insert(HttpServletRequest aRequest, HttpServletResponse aResponse)
logAdminUsage(aRequest, id, "object added");
if (requestParser.hasParameter("returnurl"))
- redirect(aResponse, requestParser.getParameter("returnurl"));
+ ServletHelper.redirect(aResponse, requestParser.getParameter("returnurl"));
else
list(aRequest, aResponse);
}
logAdminUsage(aRequest, id, "object modified");
if (requestParser.hasParameter("returnurl"))
- redirect(aResponse, requestParser.getParameter("returnurl"));
+ ServletHelper.redirect(aResponse, requestParser.getParameter("returnurl"));
else
list(aRequest, aResponse);
}
String newPassword=validatePassword(ServletHelper.getUser(aRequest), requestParser);
if (newPassword!=null) {
- user.setValueForProperty("password", MirGlobal.localizer().adminInterface().makePasswordDigest(newPassword));
+ user.setFieldValue("password", MirGlobal.localizer().adminInterface().makePasswordDigest(newPassword));
user.update();
logAdminUsage(aRequest, id, "password changed");
}
if (requestParser.hasParameter("returnurl"))
- redirect(aResponse, requestParser.getParameter("returnurl"));
+ ServletHelper.redirect(aResponse, requestParser.getParameter("returnurl"));
else
- redirect(aResponse, "");
+ ServletHelper.redirect(aResponse, "");
}
catch (Throwable e) {
throw new ServletModuleFailure(e);
HttpServletResponse aResponse,
int anOffset) throws ServletModuleExc {
-// ML: to be deleted, support for 3 extra vars to be added
-
- HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
URLBuilder urlBuilder = new URLBuilder();
- EntityAdapterModel model;
- int count;
try {
Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { getLocale(aRequest), getFallbackLocale(aRequest)});
- model = MirGlobal.localizer().dataModel().adapterModel();
- Object userList =
- new CachingRewindableIterator(
- new EntityIteratorAdapter( "", "login", nrEntitiesPerListPage,
- MirGlobal.localizer().dataModel().adapterModel(), "user", nrEntitiesPerListPage, anOffset)
- );
+ List list =
+ EntityAdapterEngine.retrieveAdapterList(model, definition, "", "login", nrEntitiesPerListPage, anOffset);
responseData.put("nexturl", null);
responseData.put("prevurl", null);
- count=mainModule.getSize("");
-
urlBuilder.setValue("module", "Users");
urlBuilder.setValue("do", "list");
responseData.put("offset" , new Integer(anOffset).toString());
responseData.put("thisurl" , urlBuilder.getQuery());
- if (count>=anOffset+nrEntitiesPerListPage) {
+ if (list.size()>=nrEntitiesPerListPage) {
urlBuilder.setValue("offset", (anOffset + nrEntitiesPerListPage));
responseData.put("nexturl" , urlBuilder.getQuery());
}
responseData.put("prevurl" , urlBuilder.getQuery());
}
- responseData.put("users", userList);
+ responseData.put("users", list);
responseData.put("mayDeleteUsers", new Boolean(MirGlobal.accessControl().user().mayDeleteUsers(ServletHelper.getUser(aRequest))));
responseData.put("mayAddUsers", new Boolean(MirGlobal.accessControl().user().mayAddUsers(ServletHelper.getUser(aRequest))));
responseData.put("mayEditUsers", new Boolean(MirGlobal.accessControl().user().mayEditUsers(ServletHelper.getUser(aRequest))));
responseData.put("from" , Integer.toString(anOffset+1));
- responseData.put("count", Integer.toString(count));
- responseData.put("to", Integer.toString(Math.min(anOffset+nrEntitiesPerListPage, count)));
+ responseData.put("to", Integer.toString(anOffset+list.size()));
responseData.put("offset" , Integer.toString(anOffset));
ServletHelper.generateResponse(aResponse.getWriter(), responseData, listGenerator);
HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { getLocale(aRequest), getFallbackLocale(aRequest)});
EntityAdapterModel model = MirGlobal.localizer().dataModel().adapterModel();
- Map user;
+ Object user;
URLBuilder urlBuilder = new URLBuilder();
urlBuilder.setValue("module", "Users");
user = model.makeEntityAdapter("user", mainModule.getById(anId));
}
else {
- List fields = DatabaseUsers.getInstance().getFields();
+ List fields = DatabaseUsers.getInstance().getFieldNames();
responseData.put("new", Boolean.TRUE);
- user = new HashMap();
+ Map emptyUser = new HashMap();
Iterator i = fields.iterator();
while (i.hasNext()) {
- user.put(i.next(), null);
+ emptyUser.put(i.next(), null);
}
- MirGlobal.localizer().adminInterface().initializeArticle(user);
+ user = emptyUser;
}
responseData.put("user", user);
responseData.put("passwordonly", new Boolean(anOnlyPassword));