first commit

This commit is contained in:
MaddoScientisto 2026-03-14 20:04:39 +01:00
commit 4d332ef662
27586 changed files with 3281783 additions and 0 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,170 @@
package com.ablia.servlet;
import com.ablia.bookmark.Bookmark;
import com.ablia.bookmark.BookmarkItem;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public abstract class AcBookmarkSvlt extends LogonSvlt {
protected void addItem(HttpServletRequest req, HttpServletResponse res) {
try {
BookmarkItem bi;
Bookmark bookmark = getBookmark(req);
if (getFlgTipoBookmark(req).equals("L")) {
bi = new BookmarkItem(getLink(req));
} else {
bi =
new BookmarkItem(
getItemId(req),
Class.forName(getItemClass(req)),
getItemDescription(req),
getApFull(req));
}
forceMessage(req, bookmark.addBookmarkItem(bi));
setBookmark(req, bookmark);
afterAddItem(req, res);
} catch (Exception e) {
handleDebug(e);
}
}
protected abstract void afterAddItem(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected abstract void afterCheckBookmark(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected abstract void afterDeleteBookmark(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected abstract void afterDeleteItem(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected void checkBookmark(HttpServletRequest req, HttpServletResponse res) {
try {
Bookmark bookmark = getBookmark(req);
if (bookmark.getNumberOfItems() == 0) {
String msg = " Il carrello è vuoto!";
handleDebug(msg);
sendMessage(req, msg);
chiamaJsp(req, res);
} else {
req.setAttribute("items", bookmark.getItems());
afterCheckBookmark(req, res);
}
} catch (Exception e) {
handleDebug(e);
}
}
protected void chiamaJsp(HttpServletRequest req, HttpServletResponse res) {
try {
if (!getCallingJsp(req).isEmpty()) {
setJspPageRelative(getCallingJsp(req), req);
} else {
setJspPageRelative("bookmark.jsp", req);
}
forceJspPage(getCallingJsp(req), req);
res.sendRedirect(getJspPage(req));
} catch (Exception e) {
handleDebug(e);
}
}
protected void deleteBookmark(HttpServletRequest req, HttpServletResponse res) {
try {
removeBookmark(req);
forceMessage(req, "Bookmark svuotato");
afterDeleteBookmark(req, res);
} catch (Exception e) {
handleDebug(e);
}
}
protected void deleteItem(HttpServletRequest req, HttpServletResponse res) {
try {
Bookmark bookmark = getBookmark(req);
if (bookmark != null) {
sendMessage(req, bookmark.removeBookmarkItem(getBookmarkItemId(req)));
setBookmark(req, bookmark);
if (bookmark.getNumberOfItems() == 0) {
String msg = " Il bookmark è vuoto!";
handleDebug(msg);
appendMessage(req, msg);
}
afterDeleteItem(req, res);
} else {
String msg = "Impossibile rimuovere un bookmark nullo!!";
handleDebug(msg);
forceMessage(req, msg);
}
chiamaJsp(req, res);
} catch (Exception e) {
handleDebug(e);
}
}
protected Bookmark getBookmark(HttpServletRequest req) {
HttpSession session = req.getSession(true);
if (session.getAttribute("bookmark") != null) {
Bookmark bookmark = (Bookmark)session.getAttribute("bookmark");
return bookmark;
}
return new Bookmark();
}
protected Long getBookmarkItemId(HttpServletRequest req) {
if (getRequestParameter(req, "bookmarkItemId").isEmpty())
return null;
return new Long(getRequestParameter(req, "bookmarkItemId"));
}
protected String getCallingJsp(HttpServletRequest req) {
return getRequestParameter(req, "callingJsp");
}
protected String getFlgTipoBookmark(HttpServletRequest req) {
return getRequestParameter(req, "flgTipoBookmark");
}
protected String getItemClass(HttpServletRequest req) {
return getRequestParameter(req, "itemClass");
}
protected String getItemDescription(HttpServletRequest req) {
return getRequestParameter(req, "itemDescription");
}
protected String getItemId(HttpServletRequest req) {
return getRequestParameter(req, "itemId");
}
protected String getLink(HttpServletRequest req) {
return getRequestParameter(req, "link");
}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected void removeBookmark(HttpServletRequest req) {
req.getSession(true).removeAttribute("bookmark");
}
protected void processRequest(HttpServletRequest req, HttpServletResponse res) {
String cmd = getCmd(req);
forceJspPage("", req);
if (cmd.equals("addBmItem")) {
addItem(req, res);
} else if (cmd.equals("deleteBmItem")) {
deleteItem(req, res);
} else if (cmd.equals("deleteBookmark")) {
deleteBookmark(req, res);
} else if (cmd.equals("checkBookmark")) {
checkBookmark(req, res);
} else {
otherCommands(req, res);
}
}
protected void setBookmark(HttpServletRequest req, Bookmark bookmark) {
req.getSession(true).setAttribute("bookmark", bookmark);
}
}

View file

@ -0,0 +1,806 @@
package com.ablia.servlet;
import com.ablia.cart.AcCartObject;
import com.ablia.cart.Cart;
import com.ablia.cart.CartStatus;
import com.ablia.common.Users;
import com.ablia.db.ResParm;
import com.ablia.util.AbMessages;
import java.util.StringTokenizer;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public abstract class AcCartSvlt extends LogonSvlt {
protected static String ACT_ADD_ONE = "one";
protected static String ACT_CHECK_OUT = "checkOut";
protected static String ACT_LOGIN = "login";
public static String CAL_CR = "cr";
public static String CAL_MD = "md";
public static String CAL_CAT = "cat";
protected static String JSP_CART = "cart.jsp";
protected static String ATTR_THE_PAGE = "thePage";
protected static String JSP_CHECKOUT = "checkOut.jsp";
protected static String JSP_CHECKOUT_NO_REG = "checkOutNoReg.jsp";
protected static String JSP_HOME = "index.jsp";
public static String JSP_LOSTPASSWORD = "lostPwd.jsp";
protected static String JSP_ORDER = "order.jsp";
protected static String JSP_ORDER_NO_REG = "orderNoReg.jsp";
protected static String ACT_LOSTPWD = "lostPwd";
public static String ATTR_CART = "cart";
public static String ATTR_CART_STATUS = "cartStatus";
public static String CMD_ADD_ITEMS = "addItems";
protected static String DEFAULT_CATALOG_SVLT = "/Catalogo.abl";
protected static String CMD_CHECK_CART = "checkCart";
protected static String CMD_CHECKOUT = "checkOut";
protected static String CMD_LOGOUT = "logout";
protected static String CMD_DELETE_CART = "deleteCart";
public static String CMD_DELETE_ITEM = "deleteItem";
protected static String CMD_MODIFY_ITEM = "modifyItem";
protected static String CMD_MODIFY_ITEMS = "modifyItems";
public static String PROP_ORDER = "bean";
public static String CMD_LOSTPWD = "lostPwd";
public static String ATTR_LOSTPWDEMAIL = "lostPwdEmail";
public static String PARM_CAL = "cal";
public static String CMD_ADD_ITEM = "addItem";
protected static String CMD_LOGON = "logon";
protected static String ACT_CHECK_OUT_NO_LOGIN = "checkOutNL";
protected static String CMD_CHECKOUT_NO_REG = "checkOutNoReg";
protected void addItems(HttpServletRequest req, HttpServletResponse res) {}
protected void callJsp(HttpServletRequest req, HttpServletResponse res) {
if (!getCal(req).isEmpty()) {
setJspPageRelative(getCal(req), req);
} else {
setJspPageRelative("cart.jsp", req);
}
try {
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {
handleDebug(e);
}
}
protected void checkCart(HttpServletRequest req, HttpServletResponse res) {
try {
Cart cart = getCart(req);
if (cart.getNumberOfItems() == 0L) {
String msg = "CheckCart: Il carrello è vuoto!";
handleDebug(msg);
sendMessage(req, msg);
callJsp(req, res);
} else {
Users utente = getLoginUser(req);
if (utente != null && utente.getId_userProfile() == utente.getIdUserProfileNoReg()) {
req.getSession().removeAttribute("utenteLogon");
req.getSession().removeAttribute("loginUser_id");
}
afterCheckCart(req, res);
}
} catch (Exception e) {
handleDebug(e);
}
}
protected void checkOut(HttpServletRequest req, HttpServletResponse res) {
CartStatus cartStatus = new CartStatus();
try {
Cart cart = getCart(req);
if (getAct(req).equals(ATTR_CART)) {
if (cart.getNumberOfItems() == 0L) {
String msg = "CheckOut: Si è tentato di utilizzare un carrello vuoto!!!!";
handleDebug(msg);
forceMessage(req, msg);
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
req.setAttribute(ATTR_CART_STATUS, cartStatus);
setCart(req, cart);
afterCheckCart(req, res);
} else {
cartStatus.setStatus(CartStatus.ST_OK);
fillObject(req, getCart(req));
req.setAttribute(ATTR_CART, getCart(req));
req.setAttribute(ATTR_CART_STATUS, cartStatus);
afterCheckOut(req, res);
}
} else if (getAct(req).equals(ACT_LOGIN)) {
if (!getLogin(req).equals(""))
if (checkLoginName(req, res) >= 5L) {
if (!isFirstAccess(req)) {
cartStatus.setStatus(CartStatus.ST_OK);
} else {
SavedHttpRequest shr = (SavedHttpRequest)req.getSession().getAttribute("savedHttpRequest");
if (shr == null) {
shr = new SavedHttpRequest();
shr.setCompleteRequestedURI(req.getRequestURI());
shr.setServletPath(req.getServletPath());
shr.setAllParametersNAttributes(req);
req.getSession().setAttribute("savedHttpRequest", shr);
}
forceJspPageRelative(getCheckCCPage(), req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} else {
sendMessage(req, AbMessages.getMessage(getLang(req), "LOGIN_FAIL"));
}
req.setAttribute(ATTR_CART_STATUS, cartStatus);
getCart(req);
afterCheckOut(req, res);
} else if (getAct(req).equals(ACT_LOSTPWD)) {
ResParm rp = sendLostPasswordMessage(req, res);
if (!rp.getStatus())
sendMessage(req, rp.getMsg());
afterCheckOut(req, res);
} else if (getAct(req).equals(ACT_CHECK_OUT)) {
if (getLoginUser(req) != null) {
if (cart.getNumberOfItems() == 0L) {
handleDebug(AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
sendMessage(req, AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
req.setAttribute(ATTR_CART_STATUS, cartStatus);
setCart(req, cart);
afterCheckOut(req, res);
} else if (checkAvailability(req) && !cart.areAllItemsAvailable()) {
String msg = "CheckOut: Attenzione! Alcuni articoli non sono più disponibili!!!!";
handleDebug(msg);
forceMessage(req, msg);
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
req.setAttribute(ATTR_CART_STATUS, cartStatus);
setCart(req, cart);
afterCheckCart(req, res);
} else {
fillObject(req, cart);
setCart(req, cart);
ResParm rp = recordOrder(req, res);
if (rp.getStatus()) {
if (sendCheckOutMessage(req, res).getStatus()) {
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK);
} else {
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK_NO_MAIL);
sendMessage(req, rp.getMsg());
}
req.setAttribute(ATTR_CART_STATUS, cartStatus);
removeCart(req);
afterOrderRecorded(req, res);
} else {
sendMessage(req, rp.getMsg());
setJspPageRelative(getJspCheckOutPage(req), req);
callJsp(req, res);
}
}
} else {
sendMessage(req, AbMessages.getMessage(getLang(req), "CART_NEED_LOGIN"));
afterCheckOut(req, res);
}
} else if (getAct(req).equals(ACT_CHECK_OUT_NO_LOGIN)) {
if (cart.getNumberOfItems() == 0L) {
handleDebug(AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
sendMessage(req, AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
req.setAttribute(ATTR_CART_STATUS, cartStatus);
setCart(req, cart);
afterCheckOut(req, res);
} else {
fillObject(req, cart);
setCart(req, cart);
ResParm rp = recordOrder(req, res);
if (rp.getStatus()) {
if (sendCheckOutMessage(req, res).getStatus()) {
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK);
} else {
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK_NO_MAIL);
sendMessage(req, rp.getMsg());
}
req.setAttribute(ATTR_CART_STATUS, cartStatus);
removeCart(req);
afterOrderRecorded(req, res);
} else {
sendMessage(req, rp.getMsg());
afterCheckOut(req, res);
}
}
}
} catch (Exception e) {
handleDebug(e);
sendMessage(req, e.getMessage());
callJsp(req, res);
}
}
protected void logOut(HttpServletRequest req, HttpServletResponse res) {
try {
req.getSession().removeAttribute("utenteLogon");
req.getSession().removeAttribute("loginUser_id");
setJspPageRelative(JSP_HOME, req);
_updateCart(req);
callJsp(req, res);
} catch (Exception e) {
handleDebug(e);
sendMessage(req, e.getMessage());
callJsp(req, res);
}
}
protected void lostPasword(HttpServletRequest req, HttpServletResponse res) {
try {
CartStatus cs = new CartStatus();
ResParm rp = sendLostPasswordMessage(req, res);
if (!rp.getStatus()) {
forceMessage(req, rp.getMsg());
cs.setStatus(CartStatus.ST_LOSTPWD_SEND_ERROR);
req.setAttribute(ATTR_CART_STATUS, cs);
} else {
forceMessage(req, rp.getMsg());
cs.setStatus(CartStatus.ST_LOSTPWD_SEND_OK);
req.setAttribute(ATTR_CART_STATUS, cs);
}
req.setAttribute(ATTR_THE_PAGE, getRequestParameter(req, ATTR_THE_PAGE));
setJspPageRelative(getJspLostPasswordPage(req), req);
callJsp(req, res);
} catch (Exception e) {
handleDebug(e);
sendMessage(req, e.getMessage());
callJsp(req, res);
}
}
protected void deleteCart(HttpServletRequest req, HttpServletResponse res) {
try {
removeCart(req);
afterDeleteCart(req, res);
} catch (Exception e) {
handleDebug(e);
}
}
protected void deleteItem(HttpServletRequest req, HttpServletResponse res) {
try {
AcCartObject aco = getCartObject(req);
Cart cart = getCart(req);
cart.remove(aco);
setCart(req, cart);
if (cart.getNumberOfItems() == 0L) {
String msg = "Il carrello è vuoto!";
handleDebug(msg);
sendMessage(req, msg);
}
afterDeleteItem(req, res);
callJsp(req, res);
} catch (Exception e) {
handleDebug(e);
}
}
protected String getCal(HttpServletRequest req) {
return getRequestParameter(req, PARM_CAL);
}
protected String getAfterAddItemServlet(HttpServletRequest req) {
return DEFAULT_CATALOG_SVLT;
}
protected Cart getCart(HttpServletRequest req) {
HttpSession session = req.getSession(true);
Cart cart = null;
if (session.getAttribute(ATTR_CART) != null) {
cart = (Cart)session.getAttribute(ATTR_CART);
cart.setApplParmFull(getApFull(req));
if (useDeliveryCostOnUser()) {
if (getLoginUserId(req) != null && getLoginUserId(req) != 0L) {
cart.setDeliveryCost(getDeliveryCost(req, cart));
cart.setDeliveryCostSetted(true);
cart.setId_ivaDelivery(getDeliveryIvaId(req));
cart.setAliquotaIvaDelivery(getDeliveryIvaAliquota(req));
}
} else {
cart.setDeliveryCost(getDeliveryCost(req, cart));
cart.setId_ivaDelivery(getDeliveryIvaId(req));
cart.setAliquotaIvaDelivery(getDeliveryIvaAliquota(req));
cart.setDeliveryCostSetted(true);
cart.setUsePriceWithVat(isUsePriceWithVat(req));
}
} else {
cart = new Cart(getApFull(req));
if (!cart.isDeliveryCostSetted() && getDeliveryCost(req, cart) > 0.0D) {
cart.setDeliveryCost(getDeliveryCost(req, cart));
cart.setId_ivaDelivery(getDeliveryIvaId(req));
cart.setAliquotaIvaDelivery(getDeliveryIvaAliquota(req));
cart.setDeliveryCostSetted(true);
}
}
if (cart != null) {
Users users = getLoginUser(req);
if (users == null) {
cart.setId_users(0L);
cart.setDeliveryCost(0.0D);
cart.setMoreCost(0.0D);
cart.setDeliveryWarnCost(0.0D);
cart.setId_ivaDelivery(0L);
} else {
cart.setId_users(users.getId_users());
}
setCart(req, cart);
}
return cart;
}
protected String getJspCartPage(HttpServletRequest req) {
return JSP_CART;
}
protected String getJspCheckOutPage(HttpServletRequest req) {
return JSP_CHECKOUT;
}
protected String getJspCheckOutNoRegPage(HttpServletRequest req) {
return JSP_CHECKOUT_NO_REG;
}
protected String getJspHomePage(HttpServletRequest req) {
return JSP_HOME;
}
protected String getJspLostPasswordPage(HttpServletRequest req) {
return JSP_LOSTPASSWORD;
}
protected String getJspOrderPage(HttpServletRequest req) {
return JSP_ORDER;
}
protected String getJspOrderPageNoReg(HttpServletRequest req) {
return JSP_ORDER_NO_REG;
}
public abstract AcCartObject getCartObject(HttpServletRequest paramHttpServletRequest) throws Exception;
protected String getCheckOutMailMessage() {
return getParm(Cart.P_CHECKOUTMSG).getTesto();
}
protected String getCheckOutMailMessage(String lang) {
String temp = getParm(Cart.P_CHECKOUTMSG).getTesto();
if (lang != null && !lang.isEmpty()) {
int dot = temp.lastIndexOf(".");
if (dot > 0)
temp = String.valueOf(temp.substring(0, dot)) + "_" + lang.toLowerCase() + temp.substring(dot);
}
return temp;
}
protected String getLostPasswordMailMessage() {
return getParm(Cart.P_CHECKOUTMSG).getTesto();
}
protected boolean isUsePriceWithVat(HttpServletRequest req) {
return !(getParm(Cart.P_USE_PRICE_WITH_VAT).getNumeroInt() == 0);
}
protected double getDeliveryCost(HttpServletRequest req, Cart cart) {
return getParm(Cart.P_DELIVERY_COST).getNumeroDouble();
}
protected long getDeliveryIvaId(HttpServletRequest req) {
return getParm(Cart.P_DELIVERY_IVA_ID).getNumeroLong();
}
protected double getDeliveryIvaAliquota(HttpServletRequest req) {
return getParm(Cart.P_DELIVERY_IVA_ALIQUOTA).getNumeroDouble();
}
protected void modifyItem(HttpServletRequest req, HttpServletResponse res) {
try {
AcCartObject aco = getCartObject(req);
Cart cart = getCart(req);
aco.getId().equals("");
cart.add(aco, checkAvailability(req));
setCart(req, cart);
afterModifyItems(req, res);
} catch (Exception e) {
handleDebug(e);
}
}
protected void modifyItems(HttpServletRequest req, HttpServletResponse res) {
try {
AcCartObject aco = null;
String l_id = "";
double l_quantita = 1.0D;
Cart cart = getCart(req);
String l_id_itemsVector = getRequestParameter(req, "id_itemsVector");
l_id_itemsVector = l_id_itemsVector.replace('\'', ' ');
StringTokenizer st = new StringTokenizer(l_id_itemsVector, ",");
while (st.hasMoreTokens()) {
l_id = st.nextToken().trim();
req.setAttribute("id", l_id);
aco = getCartObject(req);
if (req.getParameter("qt_" + l_id) != null &&
!req.getParameter("qt_" + l_id).equals(""))
l_quantita = getRequestDoubleParameter(req, "qt_" + l_id);
aco.setQuantity(l_quantita);
ResParm rp = cart.add(aco, checkAvailability(req));
if (!rp.getStatus())
sendMessage(req, rp.getMsg());
}
setCart(req, cart);
afterModifyItems(req, res);
} catch (Exception e) {
handleDebug(e);
}
}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
checkCart(req, res);
}
protected void processRequest(HttpServletRequest req, HttpServletResponse res) {
String cmd = getCmd(req);
forceJspPage("", req);
if (cmd.equals(CMD_ADD_ITEM)) {
addItem(req, res);
} else if (cmd.equals(CMD_ADD_ITEMS)) {
addItems(req, res);
} else if (cmd.equals(CMD_MODIFY_ITEM)) {
modifyItem(req, res);
} else if (cmd.equals(CMD_MODIFY_ITEMS)) {
modifyItems(req, res);
} else if (cmd.equals(CMD_DELETE_ITEM)) {
deleteItem(req, res);
} else if (cmd.equals(CMD_DELETE_CART)) {
deleteCart(req, res);
} else if (cmd.equals(CMD_CHECK_CART)) {
checkCart(req, res);
} else if (cmd.startsWith(CMD_CHECKOUT_NO_REG)) {
checkOutNoReg(req, res);
}
if (cmd.startsWith(CMD_CHECKOUT)) {
checkOut(req, res);
} else if (cmd.equals(CMD_LOGOUT)) {
logOut(req, res);
} else if (cmd.equals(CMD_LOGON)) {
logOn(req, res);
} else if (cmd.equals(CMD_LOSTPWD)) {
lostPasword(req, res);
} else {
otherCommands(req, res);
}
}
protected abstract ResParm recordOrder(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected void removeCart(HttpServletRequest req) {
req.getSession(true).removeAttribute(ATTR_CART);
}
protected abstract ResParm sendCheckOutMessage(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected abstract ResParm sendLostPasswordMessage(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected void setCart(HttpServletRequest req, Cart cart) {
cart.setApplParmFull(getApFull(req));
req.getSession(true).setAttribute(ATTR_CART, cart);
}
protected void afterAddItem(HttpServletRequest req, HttpServletResponse res) {
try {
if (getCal(req).equals(CAL_CR)) {
req.setAttribute("cmd", "search");
req.setAttribute("act", CAL_CR);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getAfterAddItemServlet(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} else {
req.setAttribute("cmd", "md");
req.setAttribute("act", CMD_ADD_ITEM);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getAfterAddItemServlet(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} catch (Exception e) {
handleDebug(e);
}
}
protected void afterCheckCart(HttpServletRequest req, HttpServletResponse res) {
setJspPageRelative(getJspCartPage(req), req);
try {
callJsp(req, res);
} catch (Exception e) {
handleDebug(e);
}
}
protected void afterCheckOut(HttpServletRequest req, HttpServletResponse res) {
setJspPageRelative(getJspCheckOutPage(req), req);
callJsp(req, res);
}
protected void afterDeleteCart(HttpServletRequest req, HttpServletResponse res) {
setJspPageRelative(getJspHomePage(req), req);
try {
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {
handleDebug(e);
}
}
protected void afterDeleteItem(HttpServletRequest req, HttpServletResponse res) {
try {
checkCart(req, res);
} catch (Exception e) {
handleDebug(e);
}
}
protected void afterModifyItems(HttpServletRequest req, HttpServletResponse res) {
try {
checkCart(req, res);
} catch (Exception e) {
handleDebug(e);
}
}
protected void afterOrderRecorded(HttpServletRequest req, HttpServletResponse res) {
setJspPageRelative(getJspOrderPage(req), req);
callJsp(req, res);
}
protected void afterOrderRecordedNoReg(HttpServletRequest req, HttpServletResponse res) {
setJspPageRelative(getJspOrderPageNoReg(req), req);
callJsp(req, res);
}
protected boolean useControlCodeAccess() {
return false;
}
protected boolean usePriceWithVat() {
return true;
}
protected boolean useDeliveryCostOnUser() {
return true;
}
protected boolean checkControlCode(HttpServletRequest req) {
try {
Users ute = (Users)req.getSession().getAttribute("utenteCC");
if (ute == null)
return false;
ute.findByPrimaryKey(new Long(ute.getId_users()));
String controlCode = "";
if (req.getParameter("controlCode") != null &&
!req.getParameter("controlCode").equals(""))
controlCode = req.getParameter("controlCode");
if (!ute.getControlCode().equals(controlCode)) {
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"), 2);
setJspPageRelative(getCheckCCPage(), req);
return false;
}
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
ute.setControlCode("");
ute.save();
req.getSession().removeAttribute("utenteCC");
req.getSession().setAttribute("utenteLogon", ute);
req.getSession().setAttribute("loginUser_id", new Long(ute.getId_users()));
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
protected String getCheckCCPage() {
if (!getWebappResource("controlCodePage").equals(""))
return getWebappResource("controlCodePage");
return "controlCode.jsp";
}
protected boolean isFirstAccess(HttpServletRequest req) {
if (useControlCodeAccess())
try {
Users ute = (Users)req.getSession().getAttribute("utenteLogon");
ute.findByPrimaryKey(new Long(ute.getId_users()));
if (!ute.getControlCode().equals("")) {
req.getSession().removeAttribute("loginUser_id");
req.getSession().removeAttribute("utenteLogon");
req.getSession().setAttribute("utenteCC", ute);
return true;
}
return false;
} catch (Exception e) {
handleDebug(e);
return false;
}
return false;
}
protected double getMoreCost(HttpServletRequest req) {
return getParm(Cart.P_MORE_COST).getNumeroDouble();
}
protected void addItem(HttpServletRequest req, HttpServletResponse res) {
try {
AcCartObject aco = getCartObject(req);
Cart cart = getCart(req);
CartStatus cartStatus = new CartStatus();
String act = getAct(req);
if (act.equals(ACT_ADD_ONE)) {
ResParm rp = cart.quantityIncrement(aco, checkAvailability(req));
if (!rp.getStatus()) {
sendMessage(req, rp.getMsg());
cartStatus.setStatus(22L);
} else {
cartStatus.setStatus(21L);
}
} else {
ResParm rp = cart.add(aco, checkAvailability(req));
if (!rp.getStatus()) {
sendMessage(req, rp.getMsg());
cartStatus.setStatus(22L);
} else {
cartStatus.setStatus(21L);
}
}
req.setAttribute(ATTR_CART_STATUS, cartStatus);
setCart(req, cart);
afterAddItem(req, res);
} catch (Exception e) {
handleDebug(e);
}
}
protected double getDeliveryWarnCost(HttpServletRequest req) {
return getParm(Cart.P_DELIVERY_WARN_COST).getNumeroDouble();
}
protected void logOn(HttpServletRequest req, HttpServletResponse res) {
try {
String jspPage = getCal(req);
if (jspPage.isEmpty())
jspPage = getJspHomePage(req);
if (!getLogin(req).isEmpty())
if (checkLoginName(req, res) >= 5L) {
_updateCart(req);
if (isFirstAccess(req)) {
SavedHttpRequest shr = (SavedHttpRequest)req.getSession().getAttribute("savedHttpRequest");
if (shr == null) {
shr = new SavedHttpRequest();
shr.setCompleteRequestedURI(req.getRequestURI());
shr.setServletPath(req.getServletPath());
shr.setAllParametersNAttributes(req);
req.getSession().setAttribute("savedHttpRequest", shr);
}
forceJspPageRelative(getCheckCCPage(), req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} else {
setJspPageRelative(jspPage, req);
callJsp(req, res);
}
} else {
_updateCart(req);
sendMessage(req, AbMessages.getMessage(getLang(req), "LOGIN_FAIL"));
setJspPageRelative(jspPage, req);
callJsp(req, res);
}
} catch (Exception e) {
handleDebug(e);
sendMessage(req, e.getMessage());
setJspPageRelative(getCal(req), req);
callJsp(req, res);
}
}
protected boolean checkAvailability(HttpServletRequest req) {
return true;
}
public void _updateCart(HttpServletRequest req) {
HttpSession session = req.getSession(true);
session.setAttribute(ATTR_CART, getCart(req));
}
protected void checkOutNoReg(HttpServletRequest req, HttpServletResponse res) {
CartStatus cartStatus = new CartStatus();
try {
Cart cart = getCart(req);
if (getAct(req).equals(ATTR_CART)) {
if (cart.getNumberOfItems() == 0L) {
String msg = "CheckOut: Si è tentato di utilizzare un carrello vuoto!!!!";
handleDebug(msg);
forceMessage(req, msg);
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
req.setAttribute(ATTR_CART_STATUS, cartStatus);
setCart(req, cart);
forceJspPageRelative(getJspCheckOutPage(req), req);
afterCheckCart(req, res);
} else {
cartStatus.setStatus(CartStatus.ST_OK);
fillObject(req, cart);
req.setAttribute(ATTR_CART, cart);
req.setAttribute(ATTR_CART_STATUS, cartStatus);
afterCheckOutNoReg(req, res);
}
} else if (getAct(req).equals(ACT_CHECK_OUT)) {
if (cart.getNumberOfItems() == 0L) {
handleDebug(AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
sendMessage(req, AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
req.setAttribute(ATTR_CART_STATUS, cartStatus);
setCart(req, cart);
afterCheckOut(req, res);
} else {
fillObject(req, cart);
setCart(req, cart);
ResParm rp = recordOrderNoReg(req, res);
if (rp.getStatus()) {
if (sendCheckOutMessage(req, res).getStatus()) {
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK);
} else {
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK_NO_MAIL);
sendMessage(req, rp.getMsg());
}
req.setAttribute(ATTR_CART_STATUS, cartStatus);
removeCart(req);
afterOrderRecorded(req, res);
} else {
sendMessage(req, rp.getMsg());
forceJspPageRelative(getJspCheckOutNoRegPage(req), req);
afterCheckOutNoReg(req, res);
}
}
}
} catch (Exception e) {
handleDebug(e);
sendMessage(req, e.getMessage());
callJsp(req, res);
}
}
protected void afterCheckOutNoReg(HttpServletRequest req, HttpServletResponse res) {
setJspPageRelative(getJspCheckOutNoRegPage(req), req);
callJsp(req, res);
}
protected abstract ResParm recordOrderNoReg(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
}

View file

@ -0,0 +1,169 @@
package com.ablia.servlet;
import com.ablia.mail.MailMessage;
import com.ablia.mail.MailProperties;
import java.util.Enumeration;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AcMailer extends AcServlet {
private static final long serialVersionUID = 1L;
private static final String ATTR_MAIL_MSG_FILE = "mailFile";
private static final String ATTR_MAIL_SUBJECT_CD = "mailSubject";
private static final String ATTR_MAIL_TO_CD = "mailTo";
private static final String ATTR_MAIL_FROM_CD = "mailFrom";
public static final String P_MAIL_TO_CD = "MAIL_TO_MAILER";
public static final String P_MAIL_FROM_CD = "MAIL_FROM_MAILER";
private static final String ATTR_MAIL_RESPONSE_PAGE_CD = "mailResponsePage";
private static final String ATTR_MAIL_OK_MSG_CD = "mailOkMsg";
private static final String ATTR_MAIL_KO_MSG_CD = "mailKoMsg";
public static final String P_MAIL_BCC_CD = "MAIL_BCC_MAILER";
public static final String P_MAIL_MSG_PATH = "MAIL_MSG_PATH_MAILER";
protected void chiamaJsp(HttpServletRequest req, HttpServletResponse res) {
setJspPageRelative(
getRequestParameter(req, "mailResponsePage"), req);
try {
RequestDispatcher rd = getServletContext()
.getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {
handleDebug(e);
}
}
protected String getMailMessageFile(HttpServletRequest req) {
String temp = getRequestParameter(req, "mailFile");
if (temp.isEmpty())
return temp;
return String.valueOf(getDocBase()) + getParm("MAIL_MSG_PATH_MAILER").getTesto() + temp;
}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected void sendMail(HttpServletRequest req, HttpServletResponse res) {
try {
MailMessage mf = null;
String mailMessageFile = getMailMessageFile(req);
if (!mailMessageFile.isEmpty())
mf = new MailMessage(getApFull(req), mailMessageFile);
Enumeration<String> enu = req.getParameterNames();
StringBuffer theMsg = new StringBuffer(
"");
String attName = "";
String attValue = "";
while (enu.hasMoreElements()) {
attName = enu.nextElement();
if (!attName.equals("cmd") &&
!attName.equals("act") &&
!attName.equals("mailFrom"))
if (!attName.equals("MAIL_FROM_MAILER") &&
!attName.equals("MAIL_TO_MAILER") &&
!attName.equals("mailSubject") &&
!attName.equals("mailOkMsg") &&
!attName.equals("mailKoMsg") &&
!attName.equals("mailResponsePage") &&
!attName.equals("mailFile")) {
attValue = getRequestParameter(req, attName);
if (mf != null) {
mf.setString(attName, attValue);
continue;
}
theMsg.append(attName);
theMsg.append(": ");
theMsg.append(attValue);
theMsg.append("\n");
}
}
MailProperties prop = new MailProperties();
if (getRequestParameter(req, "mailTo").trim().isEmpty()) {
if (getRequestParameter(req, "MAIL_TO_MAILER").trim().isEmpty()) {
prop.setProperty("TO",
getParm("MAIL_TO_MAILER").getTesto().trim());
} else {
prop.setProperty("TO",
getParm(getRequestParameter(req, "MAIL_TO_MAILER"))
.getTesto().trim());
}
} else {
prop.setProperty("TO",
getRequestParameter(req, "mailTo").trim());
}
if (!getParm("MAIL_BCC_MAILER").getTesto().equals(
""))
prop.setProperty("BCC",
getParm("MAIL_BCC_MAILER").getTesto());
if (getRequestParameter(req, "mailFrom").equals(
"")) {
prop.setProperty("FROM",
getParm(getRequestParameter(req, "MAIL_FROM_MAILER"))
.getTesto());
} else {
prop.setProperty("FROM",
getRequestParameter(req, "mailFrom"));
}
prop.setProperty("SUBJECT",
getRequestParameter(req, "mailSubject"));
if (mf != null) {
prop.setProperty("MSG", mf.getMessage());
prop.setProperty("ISHTML",
String.valueOf(isMessageHtml(mailMessageFile)));
} else {
prop.setProperty("MSG", theMsg.toString());
prop.setProperty("ISHTML", "false");
}
MailMessage mm = new MailMessage(getApFull());
mm.sendMailMessage(prop, false);
if (getRequestParameter(req, "mailOkMsg").equals(
"")) {
sendMessage(req, "La mail e' stata inviata correttamente.");
} else {
sendMessage(req, getRequestParameter(req, "mailOkMsg"));
}
chiamaJsp(req, res);
} catch (Exception e) {
handleDebug(e);
if (getRequestParameter(req, "mailKoMsg").equals(
"")) {
sendMessage(req, "Impossibile inviare mail: " + e.getMessage());
} else {
sendMessage(req, String.valueOf(getRequestParameter(req, "mailKoMsg")) +
": " + e.getMessage());
}
chiamaJsp(req, res);
}
}
protected void processRequest(HttpServletRequest req, HttpServletResponse res) {
try {
String cmd = getCmd(req);
if (cmd.equals("send")) {
sendMail(req, res);
} else {
otherCommands(req, res);
}
} catch (Exception e) {
handleDebug(e);
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,98 @@
package com.ablia.servlet;
import com.ablia.util.DoubleOperator;
import java.util.Date;
public class AcServletContextInfo {
private String name;
private String webAppCode;
private long totalHits;
private long tmstA = 0L;
private long tmstB = System.currentTimeMillis();
private long tmstABmin = Long.MAX_VALUE;
private long tmstABminTmst;
public AcServletContextInfo() {}
public AcServletContextInfo(String l_name, long l_totalHits, String l_webApCode) {
setName(l_name);
setTotalHits(l_totalHits);
setWebAppCode(l_webApCode);
}
public void addTotalHit() {
this.totalHits++;
if (this.totalHits % 1000L == 0L) {
this.tmstA = this.tmstB;
this.tmstB = System.currentTimeMillis();
long diff = this.tmstB - this.tmstA;
if (diff < this.tmstABmin) {
this.tmstABmin = diff;
this.tmstABminTmst = this.tmstB;
}
}
}
public String getName() {
return this.name;
}
public long getTotalHits() {
return this.totalHits;
}
public void setName(String newName) {
this.name = newName;
}
public void setTotalHits(long newTotalHits) {
this.totalHits = newTotalHits;
}
public String getWebAppCode() {
return (this.webAppCode == null) ? "" : this.webAppCode;
}
public void setWebAppCode(String webAppCode) {
this.webAppCode = webAppCode;
}
public double getHitsMinuteRT() {
if (this.tmstA > 0L) {
DoubleOperator dop = new DoubleOperator(1000.0F);
dop.multiply(60000);
dop.divide((float)(this.tmstB - this.tmstA));
return dop.getResult();
}
return 0.0D;
}
public double getHitsMinute(double uptimeMinute) {
if (uptimeMinute > 0.0D) {
DoubleOperator dop = new DoubleOperator((float)getTotalHits());
dop.divide(uptimeMinute);
return dop.getResult();
}
return 0.0D;
}
public double getHitsMinuteRTMax() {
if (this.tmstABmin > 0L) {
DoubleOperator dop = new DoubleOperator(1000.0F);
dop.multiply(60000);
dop.divide((float)this.tmstABmin);
return dop.getResult();
}
return 0.0D;
}
public String getHitsMinuteRTMaxTmst() {
return new Date(this.tmstABminTmst).toString();
}
}

View file

@ -0,0 +1,187 @@
package com.ablia.servlet;
import com.ablia.util.DoubleOperator;
import com.ablia.util.Vectumerator;
import java.text.NumberFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.Hashtable;
public class AcServletStats {
private long totalHits;
private Vectumerator cPools;
public static final AcServletStats INSTANCE = new AcServletStats();
private long startTime = 0L;
private long currentTime;
private String version;
private Hashtable scHash;
private long tmstA = 0L;
private long tmstB = System.currentTimeMillis();
private long tmstABmin = Long.MAX_VALUE;
private long tmstABminTmst;
public static final long RUNTIME_HITS = 1000L;
public synchronized void addTotalHit() {
this.totalHits++;
if (this.totalHits % 1000L == 0L) {
this.tmstA = this.tmstB;
this.tmstB = System.currentTimeMillis();
long diff = this.tmstB - this.tmstA;
if (diff < this.tmstABmin) {
this.tmstABmin = diff;
this.tmstABminTmst = this.tmstB;
}
}
}
public synchronized void addTotalHit(String sContext, String sWebApCode) {
if (getScHash().containsKey(sContext)) {
((AcServletContextInfo)getScHash().get(sContext)).addTotalHit();
} else {
getScHash().put(sContext,
new AcServletContextInfo(sContext, 1L, sWebApCode));
}
}
public Vectumerator getCPools() {
return this.cPools;
}
public String getCurrentTime() {
return new Date(getCurrentTimeLong()).toString();
}
private long getCurrentTimeLong() {
return (this.currentTime == 0L) ? System.currentTimeMillis() : this.currentTime;
}
private Hashtable getScHash() {
if (this.scHash == null)
this.scHash = new Hashtable();
return this.scHash;
}
public Enumeration getScInfo() {
return getScHash().elements();
}
public String getStartTime() {
return new Date(getStartTimeLong()).toString();
}
private long getStartTimeLong() {
return this.startTime;
}
public long getTotalHits() {
return this.totalHits;
}
public String getUptime() {
return getTmstString(getCurrentTimeLong() -
getStartTimeLong());
}
public String getMemory() {
StringBuffer msg = new StringBuffer();
Runtime rt = Runtime.getRuntime();
String br = "<br>";
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(0);
nf.setMinimumFractionDigits(0);
msg.append("Used memory = ");
msg.append(nf.format(rt.totalMemory() - rt.freeMemory()));
msg.append(br);
msg.append("Total memory = ");
msg.append(nf.format(rt.totalMemory()));
msg.append(br);
msg.append("Free memory = ");
msg.append(nf.format(rt.freeMemory()));
return msg.toString();
}
public void setCPools(Vectumerator newCPools) {
this.cPools = newCPools;
}
private void setCurrentTime(long newCurrentTime) {
this.currentTime = newCurrentTime;
}
public void setStartTime(long newStartTime) {
if (this.startTime == 0L)
this.startTime = newStartTime;
}
public void setTotalHits(long newTotalHits) {
this.totalHits = newTotalHits;
}
public String getVersion() {
return (this.version == null) ? "" : this.version;
}
public void setVersion(String version) {
this.version = version;
}
public double getUptimeMinute() {
DoubleOperator dop = new DoubleOperator(
(float)(getCurrentTimeLong() - getStartTimeLong()));
dop.divide(60000.0F);
return dop.getResult();
}
public double getTotalHitsMean() {
if (getUptimeMinute() > 0.0D) {
DoubleOperator dop = new DoubleOperator((float)getTotalHits());
dop.divide(getUptimeMinute());
return dop.getResult();
}
return 0.0D;
}
public double getTotalHitsMeanRT() {
if (this.tmstA > 0L) {
DoubleOperator dop = new DoubleOperator(1000.0F);
dop.multiply(60000);
dop.divide((float)(this.tmstB - this.tmstA));
return dop.getResult();
}
return 0.0D;
}
public double getTotalHitsMeanRTMax() {
if (this.tmstABmin > 0L) {
DoubleOperator dop = new DoubleOperator(1000.0F);
dop.multiply(60000);
dop.divide((float)this.tmstABmin);
return dop.getResult();
}
return 0.0D;
}
public String getTotalHitsMeanRTMaxTmst() {
return new Date(this.tmstABminTmst).toString();
}
public static final String getTmstString(long realTime) {
long giorni = realTime / 86400000L;
long ore = (realTime - giorni * 86400000L) / 3600000L;
long minuti = (realTime - giorni * 86400000L - ore * 3600000L) / 60000L;
long secondi = (realTime - giorni * 86400000L - ore * 3600000L - minuti * 60000L) / 1000L;
return String.valueOf(giorni) + " giorni " + ore + " ore " + minuti + " minuti " +
secondi + " secondi";
}
}

View file

@ -0,0 +1,126 @@
package com.ablia.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public abstract class AcStndSvlt extends AcServlet {
protected static final String CMD_REFRESH = "refresh";
protected static final String CMD_NI = "ni";
protected static final String CMD_PRESAVE = "presave";
protected static final String CMD_ASQ = "asq";
protected static final String CMD_ASQCR = "asqcr";
protected static final String CMD_MD = "md";
protected static final String CMD_GR = "gr";
protected static final String CMD_SEARCH = "search";
protected static final String CMD_PRINT = "print";
protected static final String CMD_MAIL = "mail";
protected static final String CMD_FETCH = "fetch";
protected static final String ACT_SAVE = "Save";
protected static final String ACT_DEL = "del";
protected static final String ACT_GESTIONE_RIGA = "gestioneRiga";
protected static final String ACT_REFRESH = "refresh";
protected static final String ACT_SEARCH_WINDOW = "sw";
private static final long serialVersionUID = 1L;
protected abstract void accessiSql(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected void accessiSqlCR(HttpServletRequest req, HttpServletResponse res) {
accessiSql(req, res);
}
protected abstract void chiamaJsp(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected void fetch(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected void gestioneRighe(HttpServletRequest req, HttpServletResponse res) {}
protected void mail(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected void manageMultipartRequest(HttpServletRequest req, HttpServletResponse res) {
accessiSql(req, res);
}
protected abstract void mostraDettaglio(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected void nuovoInserimento(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected void preSave(HttpServletRequest req, HttpServletResponse res) {
accessiSql(req, res);
}
protected void print(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected void processRequest(HttpServletRequest req, HttpServletResponse res) {
try {
if (req.getContentType() != null &&
req.getContentType().startsWith("multipart/form-data")) {
manageMultipartRequest(req, res);
} else {
String cmd = getCmd(req).toLowerCase();
if (cmd.equals("refresh")) {
refresh(req, res);
} else if (cmd.equals("ni")) {
nuovoInserimento(req, res);
} else if (cmd.equals("presave")) {
preSave(req, res);
} else if (cmd.equals("asq")) {
accessiSql(req, res);
} else if (cmd.equals("asqcr")) {
accessiSqlCR(req, res);
} else if (cmd.equals("md")) {
mostraDettaglio(req, res);
} else if (cmd.equals("gr")) {
gestioneRighe(req, res);
} else if (cmd.equals("search")) {
search(req, res);
} else if (cmd.equals("print")) {
print(req, res);
} else if (cmd.equals("mail")) {
mail(req, res);
} else if (cmd.equals("fetch")) {
fetch(req, res);
} else {
otherCommands(
req,
res);
}
}
} catch (Exception e) {
handleDebug(e);
}
}
protected void refresh(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected abstract void search(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
}

View file

@ -0,0 +1,113 @@
package com.ablia.servlet;
import com.ablia.common.Access;
import com.ablia.common.AccessGroup;
import com.ablia.common.AccessGroupAccess;
import com.ablia.common.AccessGroupCR;
import com.ablia.common.UserAccessGroup;
import com.ablia.common.Users;
import com.ablia.common.UsersCR;
import com.ablia.db.ApplParmFull;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import com.ablia.db.ResParm;
import com.ablia.util.AbMessages;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AccessGroupSvlt extends AblServletSvlt {
protected void fillComboAfterDetail(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) {
AccessGroup bean = (AccessGroup)beanA;
ApplParmFull apFull = getApFull(req);
if (getLoginUser(req).getId_userProfile() == 1L)
req.setAttribute("listaPermessi", new Access(apFull).findAll());
UsersCR CRU = new UsersCR(getLoginUser(req));
req.setAttribute("listaUsers", new Users(apFull).findByCR(CRU, 0, 0));
req.setAttribute("listaUserAccessGroup", bean.getUserAccessGroup(0, 0));
req.setAttribute("listaAccessGroupAccess", bean.findAccessGroupAccess(0, 0));
req.setAttribute("listaUserAccessGroup", bean.getUserAccessGroup(0, 0));
}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {}
protected DBAdapter getBean(HttpServletRequest req) {
return new AccessGroup(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return new AccessGroupCR(getApFull(req));
}
protected boolean isSimpleServlet(HttpServletRequest req) {
return false;
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
if (getLoginUser(req).getId_userProfile() == 1L)
req.setAttribute("listaPermessi", new Access(apFull).findAll());
UsersCR CRU = new UsersCR(getLoginUser(req));
req.setAttribute("listaUsers", new Users(apFull).findByCR(CRU, 0, 0));
}
protected void addRows(HttpServletRequest req, HttpServletResponse res) {
long l_id = 0L;
ResParm rp = new ResParm(true, "");
l_id = getRequestLongParameter(req, "id_accessGroup");
ApplParmFull apFull = getApFull(req);
AccessGroup bean = new AccessGroup(apFull);
try {
bean.findByPrimaryKey(l_id);
fillObject(req, bean);
rp = bean.save();
if (rp.getStatus()) {
req.setAttribute("id_accessGroup", String.valueOf(bean.getId_accessGroup()));
if (getAct(req).equals("addAccess")) {
AccessGroupAccess row = new AccessGroupAccess(apFull);
fillObject(req, row);
rp = bean.addAccess(row);
sendMessage(req, rp.getMsg());
showBean(req, res);
} else if (getAct(req).equals("delAccess")) {
AccessGroupAccess row = new AccessGroupAccess(apFull);
fillObject(req, row);
rp = bean.delAccess(row);
sendMessage(req, String.valueOf(AbMessages.getMessage(getLocale(req), "SAVE_OK")) + ": Permesso Cancellato");
showBean(req, res);
} else if (getAct(req).equals("addUser")) {
UserAccessGroup row = new UserAccessGroup(apFull);
fillObject(req, row);
rp = bean.addUser(row);
sendMessage(req, rp.getMsg());
showBean(req, res);
} else if (getAct(req).equals("delUser")) {
UserAccessGroup row = new UserAccessGroup(apFull);
fillObject(req, row);
rp = bean.delUser(row);
sendMessage(req, String.valueOf(AbMessages.getMessage(getLocale(req), "SAVE_OK")) + ": Permesso Cancellato");
showBean(req, res);
}
} else {
sendMessage(req, AbMessages.getMessage(getLocale(req), "SAVE_FAIL " + rp.getMsg()));
showBean(req, res);
}
} catch (Exception e) {
forceMessage(req, AbMessages.getMessage(getLocale(req), "SAVE_FAIL"));
showBean(req, res);
}
}
public void _duplica(HttpServletRequest req, HttpServletResponse res) {
long id = getRequestLongParameter(req, "id_accessGroup");
AccessGroup bean = new AccessGroup(getApFull(req));
bean.findByPrimaryKey(id);
ResParm rp = new ResParm();
if (bean.getId_accessGroup() > 0L) {
rp = bean.duplica();
req.setAttribute("bean", bean);
} else {
sendMessage(req, "Attenzione!! Gruppo NON valido o non trovato!");
}
showBean(req, res);
}
}

View file

@ -0,0 +1,208 @@
package com.ablia.servlet;
import com.ablia.common.Access;
import com.ablia.common.AccessCR;
import com.ablia.common.TableDesc;
import com.ablia.db.ApplParmFull;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import com.ablia.db.ResParm;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/config/Access.abl"})
public class AccessSvlt extends AblServletSvlt {
private static final long serialVersionUID = 1L;
protected boolean checkLoginProfile(HttpServletRequest req) {
try {
if (getLoginUser(req) == null) {
forceJspPage(getLoginPage(null, null), req);
return true;
}
if (getLoginUser(req).getId_users() == 1L)
return true;
forceJspPage(getLoginPage(null, null), req);
req.getSession().removeAttribute("loginUser_id");
req.getSession().removeAttribute("utenteLogon");
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
protected void fillComboAfterDetail(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) {
Access bean = (Access)beanA;
ApplParmFull apFull = getApFull(req);
req.setAttribute("listaAttributi", bean.getTableStringAttributes());
req.setAttribute("listaAccess", new Access(getApFull(req)).findAccessHeader(bean.getId_access()));
if (bean.getFlgTabella() == 1L) {
TableDesc td = new TableDesc(apFull);
req.setAttribute("listaCampi", td.findByTabella(bean.getId_access(), 0L));
req.setAttribute("listaCampiCR", td.findByTabella(bean.getId_access(), 1L));
req.setAttribute("listaCampiCRLista", td.findByTabella(bean.getId_access(), 2L));
req.setAttribute("listaCampiD", td.findByTabella(bean.getId_access(), 3L));
}
}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {}
protected DBAdapter getBean(HttpServletRequest req) {
return new Access(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return new AccessCR(getApFull(req));
}
protected boolean isSimpleServlet(HttpServletRequest req) {
return false;
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {}
protected void addRows(HttpServletRequest req, HttpServletResponse res) {}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
if (getLoginUser(req).getId_userProfile() == 1L) {
if (getCmd(req).startsWith("_RST_ALL")) {
getApFull(req).resetCurrentApParms();
DBAdapter.resetHashtables();
sendMessage(req, "Ht parametri cancellata e ricaricata. Dictionary Resource Bundle ricaricati");
if (getCmd(req).equals("_RST_ALL")) {
search(req, res);
} else {
showBean(req, res);
}
} else {
search(req, res);
}
} else {
search(req, res);
}
}
public void _createJspPagesDetail(HttpServletRequest req, HttpServletResponse res) {
String id_access = getRequestParameter(req, "id_access");
Access bean = new Access(getApFull(req));
bean.findByPrimaryKey(id_access);
ResParm rp = new ResParm();
if (bean.getFlgTabella() == 1L && bean.getFlgAutoPD() == 1L) {
if (bean.getFlgMaskType() == 1L) {
rp.appendMsg("<br>");
rp.append(bean.creaPrimaryDetailJspPage());
} else {
rp.append(bean.creaSimpleDetailJspPage());
}
if (rp.getStatus()) {
sendMessage(req, rp.getMsg());
} else {
sendMessage(req, "Errore!! " + rp.getMsg());
}
} else {
sendMessage(req, "Attenzione!! " + id_access + " NON e' una tabella oppure è bloccata!");
}
showBean(req, res);
}
public void _createTableDesc(HttpServletRequest req, HttpServletResponse res) {
String id_access = getRequestParameter(req, "id_access");
Access bean = new Access(getApFull(req));
bean.findByPrimaryKey(id_access);
if (bean.getFlgTabella() == 1L) {
ResParm rp = bean.createTableDesc();
if (rp.getStatus()) {
sendMessage(req, "Table desc creata correttamente.");
} else {
sendMessage(req, "Errore!! " + rp.getMsg());
}
} else {
sendMessage(req, "Attenzione!! " + id_access + " NON e' una tabella oppure è bloccata!");
}
showBean(req, res);
}
public void _updateTdField(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
long l_id_tableDesc = getRequestLongParameter(req, "id_tableDesc");
TableDesc td = new TableDesc(apFull);
td.findByPrimaryKey(l_id_tableDesc);
ResParm rp = new ResParm();
if (td.getId_tableDesc() > 0L) {
String fieldName = getAct(req);
String value = getRequestParameter(req, "value");
rp = td.updateFields(fieldName, value);
} else {
rp.setStatus(false);
rp.setMsg("Table desc non trovata!!!");
}
long tab = getRequestLongParameter(req, "tab");
if (tab == 0L) {
if (rp.getStatus()) {
sendHtmlMsgResponse(req, res, "Campo aggiornato correttamente.");
} else {
sendHtmlMsgResponse(req, res, "Errore!! " + rp.getMsg());
}
} else {
if (rp.getStatus()) {
sendMessage(req, "Campo aggiornato correttamente.");
} else {
sendMessage(req, "Errore!! " + rp.getMsg());
}
showBean(req, res);
}
}
public void _createJspPagesCR(HttpServletRequest req, HttpServletResponse res) {
String id_access = getRequestParameter(req, "id_access");
Access bean = new Access(getApFull(req));
bean.findByPrimaryKey(id_access);
ResParm rp = new ResParm();
if (bean.getFlgTabella() == 1L && bean.getFlgAutoCR() == 1L) {
if (bean.getFlgMaskType() == 1L) {
rp.appendMsg("<br>");
rp.append(bean.creaCRJspPage());
} else {
rp.append(bean.creaSimpleDetailJspPage());
}
if (rp.getStatus()) {
sendMessage(req, rp.getMsg());
} else {
sendMessage(req, "Errore!! " + rp.getMsg());
}
} else {
sendMessage(req, "Attenzione!! " + id_access + " NON e' una tabella oppure è bloccata!");
}
showBean(req, res);
}
public void _exportToXml(HttpServletRequest req, HttpServletResponse res) {
Access bean = new Access(getApFull(req));
ResParm rp = bean.exportAccessTableDescToXml();
if (rp.getStatus()) {
sendMessage(req, "Dati creazione maschere exportati correttamente: " + rp.getMsg());
} else {
sendMessage(req, "Errore!! " + rp.getMsg());
}
search(req, res);
}
public void _importFromXml(HttpServletRequest req, HttpServletResponse res) {
Access bean = new Access(getApFull(req));
String l_fileName = getRequestParameter(req, "fileNameOnServer_1");
String fullFileName = String.valueOf(getDocBase()) + getPathTmp() + l_fileName;
if (l_fileName.endsWith("xml")) {
ResParm rp = bean.importAccessTableDescFromXml(fullFileName);
if (rp.getStatus()) {
sendMessage(req, "Dati maschere importate correttamente: " + rp.getMsg());
} else {
sendMessage(req, "Errore!! " + rp.getMsg());
}
} else {
sendMessage(req, "Errore!! File xml import non trovato!");
}
search(req, res);
}
}

View file

@ -0,0 +1,7 @@
package com.ablia.servlet;
import javax.servlet.http.HttpServletRequest;
public interface AddImgSvlt {
String getPathAttach(HttpServletRequest paramHttpServletRequest);
}

View file

@ -0,0 +1,34 @@
package com.ablia.servlet;
import com.ablia.common.Blacklist;
import com.ablia.common.BlacklistCR;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/config/Blacklist.abl"})
public class BlacklistSvlt extends AblServletSvlt {
private static final long serialVersionUID = -6165136501335760655L;
protected void fillComboAfterDetail(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {}
protected DBAdapter getBean(HttpServletRequest req) {
return new Blacklist(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return new BlacklistCR(getApFull(req));
}
protected boolean isSimpleServlet(HttpServletRequest req) {
return false;
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {}
protected void addRows(HttpServletRequest req, HttpServletResponse res) {}
}

View file

@ -0,0 +1,29 @@
package com.ablia.servlet;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class CharsetFilter implements Filter {
private String encoding;
public void init(FilterConfig config) throws ServletException {
this.encoding = config.getInitParameter("requestEncoding");
if (this.encoding == null)
this.encoding = "UTF-8";
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain next) throws IOException, ServletException {
if (request.getCharacterEncoding() == null)
request.setCharacterEncoding(this.encoding);
response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
next.doFilter(request, response);
}
public void destroy() {}
}

View file

@ -0,0 +1,122 @@
package com.ablia.servlet;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Vector;
public class CssManager {
private String fileName;
private PrintWriter out;
public CssManager(String cssFile) {
this.fileName = cssFile;
}
private PrintWriter getOut() {
if (this.out == null)
try {
this.out = new PrintWriter(new BufferedWriter(new FileWriter(this.fileName)));
} catch (Exception exception) {
exception.printStackTrace(System.out);
return null;
}
return this.out;
}
public String getPropertyValue(String l_style, String l_property) {
String returnValue = "";
try {
BufferedReader bufferedreader = new BufferedReader(new FileReader(this.fileName));
String theLine;
while ((theLine = bufferedreader.readLine()) != null) {
if (theLine.startsWith(l_style)) {
int propColStart = theLine.indexOf(l_property);
if (propColStart != -1) {
propColStart = theLine.indexOf(":", propColStart) + 1;
int propColEnd = theLine.indexOf(";", propColStart);
returnValue = theLine.substring(propColStart, propColEnd);
}
}
}
bufferedreader.close();
} catch (Exception exception) {
exception.printStackTrace(System.out);
}
return returnValue;
}
public static void main(String[] args) {
CssManager cm = new CssManager("c:/00/Master.css");
System.out.println(cm.getPropertyValue("BODY", "font-family"));
cm.setProperty("BODY", "font-family", "Comic Sans MS");
System.out.println(cm.getPropertyValue("BODY", "font-family"));
}
private boolean outClose() {
try {
getOut().flush();
getOut().close();
this.out = null;
} catch (Exception exception) {
exception.printStackTrace(System.out);
return false;
}
return true;
}
public void saveAs(String l_newFileName) {
try {
BufferedReader bufferedreader = new BufferedReader(new FileReader(this.fileName));
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(l_newFileName)));
String theLine;
while ((theLine = bufferedreader.readLine()) != null)
pw.println(theLine);
bufferedreader.close();
pw.close();
} catch (Exception exception) {
exception.printStackTrace(System.out);
}
}
public void setProperty(String l_style, String l_property, String l_propValue) {
try {
BufferedReader bufferedreader = new BufferedReader(new FileReader(this.fileName));
Vector<String> vector = new Vector();
boolean flag = false;
String theLine;
while ((theLine = bufferedreader.readLine()) != null) {
if (theLine.startsWith(l_style)) {
String theLineModified = theLine;
int propCol = theLine.indexOf(l_property);
if (propCol != -1) {
flag = true;
propCol = theLine.indexOf(":", propCol) + 1;
int propColEnd = theLine.indexOf(";", propCol);
theLineModified =
String.valueOf(theLine.substring(0, propCol)) +
l_propValue +
" " +
theLine.substring(propColEnd);
}
vector.addElement(theLineModified);
continue;
}
vector.addElement(theLine);
}
bufferedreader.close();
if (flag) {
Enumeration<String> enumeration = vector.elements();
while (enumeration.hasMoreElements())
getOut().println(enumeration.nextElement());
outClose();
}
} catch (Exception exception) {
exception.printStackTrace(System.out);
}
}
}

View file

@ -0,0 +1,41 @@
package com.ablia.servlet;
public class CssProperty {
private String style;
private String property;
private String value;
public CssProperty() {}
public CssProperty(String l_style, String l_property, String l_propValue) {
setStyle(l_style);
setProperty(l_property);
setValue(l_propValue);
}
public String getProperty() {
return this.property;
}
public String getStyle() {
return this.style;
}
public String getValue() {
return this.value;
}
public void setProperty(String newProperty) {
this.property = newProperty;
}
public void setStyle(String newStyle) {
this.style = newStyle;
}
public void setValue(String newValue) {
this.value = newValue;
}
}

View file

@ -0,0 +1,94 @@
package com.ablia.servlet;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
public class GetFileSvlt extends AcServlet {
private static final long serialVersionUID = 1L;
protected void callJsp(HttpServletRequest req, HttpServletResponse res) {
String imagesExt = "jpg,jpeg,png,gif";
File theFile = null;
FileInputStream fis = null;
String tipoInvio = getRequestParameter(req, "ti");
try {
if (checkProfile(req, res)) {
String fileName = getFileName(req, res);
theFile = new File(fileName);
String ext = fileName.substring(fileName.lastIndexOf('.') + 1, fileName.length()).toLowerCase();
if (ext.equals("html") || ext.equals("jsp") || ext.equals("php")) {
String thePage = String.valueOf(req.getContextPath()) + fileName;
setJspPage(thePage, req);
res.sendRedirect(getJspPage(req));
} else {
if (imagesExt.indexOf(ext.toLowerCase()) >= 0) {
res.setHeader("Content-Type", "image/" + ext);
} else {
res.setContentType("application/" + ext);
}
if (theFile.exists()) {
fis = new FileInputStream(theFile);
ServletOutputStream sos = res.getOutputStream();
if (tipoInvio.isEmpty()) {
IOUtils.copy(fis, (OutputStream)sos);
sos.flush();
sos.close();
} else {
int bufferSize = Integer.parseInt(tipoInvio);
if (bufferSize <= 0)
bufferSize = 1024;
byte[] temp = new byte[bufferSize];
int nByte = 0;
while ((nByte = fis.read(temp)) != -1) {
sos.write(temp, 0, nByte);
sos.flush();
res.flushBuffer();
}
sos.flush();
fis.close();
sos.close();
}
} else if (useAlwaysSendRedirect()) {
String absPage = getFileNotFoundJsp(req, res).startsWith("/") ? (
String.valueOf(req.getContextPath()) + getFileNotFoundJsp(req, res)) : (
String.valueOf(req.getContextPath()) + "/" + getFileNotFoundJsp(req, res));
res.sendRedirect(absPage);
} else {
setJspPage(getFileNotFoundJsp(req, res), req);
res.sendRedirect(getJspPage(req));
}
}
} else {
setJspPage(getFileNotFoundJsp(req, res), req);
res.sendRedirect(getJspPage(req));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
theFile = null;
if (fis != null)
fis = null;
}
}
protected String getFileName(HttpServletRequest req, HttpServletResponse res) {
return getRequestParameter(req, "fileName");
}
protected String getFileNotFoundJsp(HttpServletRequest req, HttpServletResponse res) {
return "/fileNotFound.jsp";
}
protected boolean checkProfile(HttpServletRequest req, HttpServletResponse res) {
return true;
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response) {
callJsp(request, response);
}
}

View file

@ -0,0 +1,89 @@
package com.ablia.servlet;
import com.ablia.common.Access;
import com.ablia.common.AccessCR;
import com.ablia.common.TableDesc;
import com.ablia.db.ApplParmFull;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/config/Help.abl"})
public class HelpSvlt extends AblServletSvlt {
private static final long serialVersionUID = 1L;
protected boolean checkLoginProfile(HttpServletRequest req) {
try {
if (getLoginUser(req) == null) {
forceJspPage(getLoginPage(null, null), req);
return true;
}
if (getLoginUser(req).getId_users() == 1L)
return true;
forceJspPage(getLoginPage(null, null), req);
req.getSession().removeAttribute("loginUser_id");
req.getSession().removeAttribute("utenteLogon");
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
protected void fillComboAfterDetail(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {}
protected DBAdapter getBean(HttpServletRequest req) {
return new Access(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return new AccessCR(getApFull(req));
}
protected boolean isSimpleServlet(HttpServletRequest req) {
return false;
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {}
protected void addRows(HttpServletRequest req, HttpServletResponse res) {}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
_fetchFieldHelp(req, res);
}
public void _fetchFieldHelp(HttpServletRequest req, HttpServletResponse res) {
String id_name = getRequestParameter(req, "id_name");
String fieldName = getRequestParameter(req, "fieldName");
ApplParmFull apFull = getApFull(req);
TableDesc bean = new TableDesc(apFull);
String beanName = "";
if (id_name.length() > 3)
beanName = id_name.substring(3);
bean.findByTabellaColonna(beanName, fieldName);
if (bean.getToolTip().isEmpty()) {
sendHtmlMsgResponse(req, res, "");
} else {
sendHtmlMsgResponse(req, res, String.valueOf(bean.getLabel()) + ": " + bean.getToolTip());
}
}
public void _fetchTableHelp(HttpServletRequest req, HttpServletResponse res) {
String id_name = getRequestParameter(req, "id_name");
ApplParmFull apFull = getApFull(req);
Access bean = new Access(apFull);
String beanName = "";
if (id_name.length() > 3)
beanName = id_name.substring(3);
bean.findByPrimaryKey(beanName);
if (bean.getHelp().isEmpty()) {
sendHtmlMsgResponse(req, res, "");
} else {
sendHtmlMsgResponse(req, res, "<h3>" + bean.getDescrizione() + "</h3><br>" + bean.getHelp());
}
}
}

View file

@ -0,0 +1,26 @@
package com.ablia.servlet;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class IndexSvlt extends AcServlet {
private static final long serialVersionUID = 1L;
protected void processRequest(HttpServletRequest req, HttpServletResponse res) {
try {
setJspPageRelative("index_.jsp", req);
RequestDispatcher rd = getServletContext()
.getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {
handleDebug(e);
}
}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
}

View file

@ -0,0 +1,58 @@
package com.ablia.servlet;
import com.ablia.common.StatusMsg;
import com.ablia.db.ApplParm;
import com.ablia.db.ApplParmFull;
import com.ablia.db.CrontabThread;
import java.util.Date;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(loadOnStartup = 1)
public class InitCrontabServlet extends AcServlet {
private static final long serialVersionUID = 1L;
protected void processRequest(HttpServletRequest request, HttpServletResponse response) {}
public void init(ServletConfig config) throws ServletException {
Date d = new Date(System.currentTimeMillis());
ApplParmFull apFull = getApFull(config);
if ((long)apFull.getParm("DAILY_CRONTAB_ENABLE").getNumeroInt() == 1L)
CrontabThread.getInstance(apFull);
StatusMsg.deleteAllMsg(apFull);
}
private ApplParm getAp(ServletConfig sc) {
int dbDriver = Integer.parseInt(sc.getServletContext().getInitParameter("dbDriver"));
String dbName = sc.getServletContext().getInitParameter("database");
String userDb = sc.getServletContext().getInitParameter("user");
String password = sc.getServletContext().getInitParameter("password");
int initialCons = Integer.parseInt(sc.getServletContext().getInitParameter("initialCons"));
int maxCons = Integer.parseInt(sc.getServletContext().getInitParameter("maxCons"));
int timeOut = Integer.parseInt(sc.getServletContext().getInitParameter("timeout"));
String dbPropertyFile = sc.getServletContext().getInitParameter("dbPropertyFile");
ApplParm ap = new ApplParm(dbDriver, dbName, userDb, password, initialCons, maxCons, timeOut);
ap.setPropertyFileName(dbPropertyFile);
ap.setDebug(true);
if (sc.getServletContext().getInitParameter("reuseCons") != null) {
boolean reuseCons = Boolean.parseBoolean(sc.getServletContext().getInitParameter("reuseCons"));
ap.setReuseCons(reuseCons);
}
if (sc.getServletContext().getInitParameter("maxConnectionHits") != null) {
int maxConnectionHits = Integer.parseInt(sc.getServletContext().getInitParameter("maxConnectionHits"));
ap.setMaxConnectionHits(maxConnectionHits);
}
if (sc.getServletContext().getInitParameter("connectionLifeTime") != null) {
int connectionLifeTime = Integer.parseInt(sc.getServletContext().getInitParameter("connectionLifeTime"));
ap.setConnectionLifeTime(connectionLifeTime);
}
return ap;
}
protected ApplParmFull getApFull(ServletConfig sc) {
return new ApplParmFull(getAp(sc), 1L, "127.0.0.0", "Crontab Servlet");
}
}

View file

@ -0,0 +1,27 @@
package com.ablia.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LangSvlt extends AcServlet {
private static final long serialVersionUID = 1L;
protected void processRequest(HttpServletRequest req, HttpServletResponse res) {
try {
String absPage = getRequestParameter(req, "hrf");
if (absPage.indexOf("LANG".toLowerCase()) > 0) {
int startIdxLang = absPage.indexOf("LANG".toLowerCase()) - 1;
int stopIdxLang = absPage.indexOf("&", startIdxLang + 1);
absPage = String.valueOf(absPage.substring(0, startIdxLang)) +
absPage.substring(stopIdxLang, absPage.length());
}
res.sendRedirect(absPage);
} catch (Exception e) {
handleDebug(e);
}
}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
}

View file

@ -0,0 +1,100 @@
package com.ablia.servlet;
import com.ablia.common.Users;
import com.ablia.common.UsersCR;
import com.ablia.db.ApplParmFull;
import com.ablia.db.CRAdapter;
import com.ablia.db.CrontabThread;
import com.ablia.db.DBAdapter;
import com.ablia.db.ResParm;
import com.ablia.log.Log;
import com.ablia.log.LogMail;
import com.ablia.log.LogMailCR;
import com.ablia.util.AbMessages;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/config/LogMail.abl"})
public class LogMailSvlt extends AblServletSvlt {
protected void fillComboAfterDetail(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) {
LogMail bean = (LogMail)beanA;
req.setAttribute("listaAllegati", bean.getAllegati());
}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {
UsersCR CRU = new UsersCR(getLoginUser(req));
req.setAttribute("listaUsers", new Users(getApFull(req)).findByCR(CRU, 0, 0));
}
protected DBAdapter getBean(HttpServletRequest req) {
return new LogMail(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return new LogMailCR(getApFull(req));
}
protected boolean isSimpleServlet(HttpServletRequest req) {
return false;
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {}
protected void addRows(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
Log bean = new Log(apFull);
try {
if (getAct(req).equals("delClog")) {
if (getLoginUserGrant(req, bean.getTableBeanName()) >= 2L) {
ResParm rp = CrontabThread.clearLog(apFull);
if (rp.getStatus()) {
sendMessage(req, "File crontab log " + getParm("DAILY_CRONTAB_MAIN_LOG_FILE").getTesto() + " cancellato.");
} else {
sendMessage(req, "Attenzione! Impossibile cancellare il file crontab log " +
getParm("DAILY_CRONTAB_MAIN_LOG_FILE").getTesto() + ": " + rp.getMsg());
}
} else {
sendGrantMessage(req, AbMessages.getMessage(getLocale(req), "GRANT_NO_RM"));
}
search(req, res);
} else {
search(req, res);
}
} catch (Exception e) {
forceMessage(req, AbMessages.getMessage(getLocale(req), "SAVE_FAIL"));
showBean(req, res);
}
}
protected ResParm beforeSearch(HttpServletRequest req, HttpServletResponse res) {
req.setAttribute("id_logonUsers", String.valueOf(getLoginUser(req).getId_users()));
return super.beforeSearch(req, res);
}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
if (req.getServletPath().endsWith("Crontab.log") || getCmd(req).equals("getClog")) {
Log bean = new Log(getApFull(req));
if (getLoginUserGrant(req, bean.getTableBeanName()) >= 2L) {
String cLogFile = getParm("DAILY_CRONTAB_MAIN_LOG_FILE").getTesto();
sendFile(cLogFile, req, res);
} else {
sendGrantMessage(req, AbMessages.getMessage(getLocale(req), "GRANT_NO_RM"));
search(req, res);
}
} else {
super.otherCommands(req, res);
}
}
public void _delLogMailByCr(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
LogMail bean = new LogMail(apFull);
LogMailCR CR = new LogMailCR(apFull);
fillObject(req, CR);
CR.setId_logonUsers(getLoginUserId(req).longValue());
ResParm rp = bean.cancellazioneMassiva(CR);
forceMessage(req, rp.getMsg());
search(req, res);
}
}

View file

@ -0,0 +1,100 @@
package com.ablia.servlet;
import com.ablia.common.Users;
import com.ablia.common.UsersCR;
import com.ablia.db.ApplParmFull;
import com.ablia.db.CRAdapter;
import com.ablia.db.CrontabThread;
import com.ablia.db.DBAdapter;
import com.ablia.db.ResParm;
import com.ablia.log.Log;
import com.ablia.log.LogCR;
import com.ablia.log.LogMail;
import com.ablia.util.AbMessages;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/config/Log.abl"})
public class LogSvlt extends AblServletSvlt {
protected void fillComboAfterDetail(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) {
LogMail bean = (LogMail)beanA;
req.setAttribute("listaAllegati", bean.getAllegati());
}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {
UsersCR CRU = new UsersCR(getLoginUser(req));
req.setAttribute("listaUsers", new Users(getApFull(req)).findByCR(CRU, 0, 0));
}
protected DBAdapter getBean(HttpServletRequest req) {
return new Log(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return new LogCR(getApFull(req));
}
protected boolean isSimpleServlet(HttpServletRequest req) {
return false;
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {}
protected void addRows(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
Log bean = new Log(apFull);
try {
if (getAct(req).equals("delClog")) {
if (getLoginUserGrant(req, bean.getTableBeanName()) >= 2L) {
ResParm rp = CrontabThread.clearLog(apFull);
if (rp.getStatus()) {
sendMessage(req, "File crontab log " + getParm("DAILY_CRONTAB_MAIN_LOG_FILE").getTesto() + " cancellato.");
} else {
sendMessage(req, "Attenzione! Impossibile cancellare il file crontab log " +
getParm("DAILY_CRONTAB_MAIN_LOG_FILE").getTesto() + ": " + rp.getMsg());
}
} else {
sendGrantMessage(req, AbMessages.getMessage(getLocale(req), "GRANT_NO_RM"));
}
search(req, res);
} else {
search(req, res);
}
} catch (Exception e) {
forceMessage(req, AbMessages.getMessage(getLocale(req), "SAVE_FAIL"));
showBean(req, res);
}
}
protected ResParm beforeSearch(HttpServletRequest req, HttpServletResponse res) {
req.setAttribute("id_logonUsers", String.valueOf(getLoginUser(req).getId_users()));
return super.beforeSearch(req, res);
}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
if (req.getServletPath().endsWith("Crontab.log") || getCmd(req).equals("getClog")) {
Log bean = new Log(getApFull(req));
if (getLoginUserGrant(req, bean.getTableBeanName()) >= 2L) {
String cLogFile = getParm("DAILY_CRONTAB_MAIN_LOG_FILE").getTesto();
sendFile(cLogFile, req, res);
} else {
sendGrantMessage(req, AbMessages.getMessage(getLocale(req), "GRANT_NO_RM"));
search(req, res);
}
} else {
super.otherCommands(req, res);
}
}
public void _delLogByCr(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
Log bean = new Log(apFull);
LogCR CR = new LogCR(apFull);
fillObject(req, CR);
CR.setId_logonUsers(getLoginUserId(req).longValue());
ResParm rp = bean.cancellazioneMassiva(CR);
forceMessage(req, rp.getMsg());
search(req, res);
}
}

View file

@ -0,0 +1,470 @@
package com.ablia.servlet;
import com.ablia.common.Users;
import com.ablia.db.DBAdapter;
import com.ablia.db.ResParm;
import com.ablia.util.AbMessages;
import com.ablia.util.Debug;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class Logon4Svlt extends AcServlet {
private static final long serialVersionUID = 1L;
public void _showVersionInfo(HttpServletRequest req, HttpServletResponse res) {
String value;
String className = getRequestParameter(req, "_cn");
try {
if (className.equals("com.ablia.db.DBAdapter")) {
value = DBAdapter.getVersionLog();
} else {
Class<?> x = Class.forName(className);
Debug obj = (Debug)x.newInstance();
value = obj.getSoftwareVersionLog();
}
} catch (Exception e) {
value = e.getMessage();
}
sendHtmlMsgResponse(req, res, DBAdapter.convertStringToHtml(value));
}
protected boolean checkControlCode(HttpServletRequest req) {
try {
Users ute = getUser(req);
ute = (Users)req.getSession().getAttribute("utenteCC");
if (ute == null)
return false;
ute.findByPrimaryKey(new Long(ute.getId_users()));
String controlCode = getRequestParameter(req, "controlCode");
if (!ute.getControlCode().equals(controlCode)) {
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"), 2);
setJspPageRelative(getCheckCCPage(), req);
return false;
}
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
ute.setControlCode("");
ute.setFlgValido("S");
ute.save();
req.getSession().removeAttribute("utenteCC");
req.getSession().setAttribute("utenteLogon", ute);
req.getSession().setAttribute("loginUser_id", new Long(ute.getId_users()));
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
protected boolean checkMailControlCode(HttpServletRequest req) {
try {
Users ute = getUser(req);
ute = (Users)req.getSession().getAttribute("utenteCC");
if (ute == null)
return false;
ute.findByPrimaryKey(new Long(ute.getId_users()));
String controlCode = "";
if (req.getParameter("controlCode") != null &&
!req.getParameter("controlCode").equals(""))
controlCode = req.getParameter("controlCode");
if (!ute.getControlCode().equals(controlCode)) {
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"), 2);
setJspPageRelative(getCheckCCPage(), req);
return false;
}
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
ute.setControlCode("");
ute.save();
req.getSession().removeAttribute("utenteCC");
req.getSession().setAttribute("utenteLogon", ute);
req.getSession().setAttribute("loginUser_id", new Long(ute.getId_users()));
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
protected long checkLoginName(HttpServletRequest req, HttpServletResponse res) {
try {
ResParm rp;
Users utente = getUser(req);
if (getCmdIU(req).equals("checkSso") && getParm("SINGLE_SIGN_ON").getTesto().equals("true")) {
String loginSso = getRequestParameter(req, "loginSso");
if (!loginSso.isEmpty()) {
rp = utente.findLogonUtenteSso(loginSso, req.getRemoteAddr());
} else {
rp = new ResParm(false);
}
} else {
rp = utente.findLogonUtente(getLogin(req), getPassword(req), req.getRemoteAddr());
if (utente.getDBState() == 0) {
rp = utente.findLogonUtentePwdSuper(getLogin(req), getPassword(req), req.getRemoteAddr());
if (utente.getDBState() == 1)
utente.setFlgSuper(1L);
}
}
if (utente != null) {
if (rp.getStatus()) {
if (utente.getFlgUsaDomainController() == 0L && utente.isPasswordScaduta())
return 6L;
HttpSession session = req.getSession();
handleDebug("Ok. Recording loginuser_id in the session.");
session.setAttribute("loginUser_id", new Long(utente.getId_users()));
String ip = req.getRemoteHost();
utente.setCurrentIp(ip);
session.setAttribute("utenteLogon", utente);
req.setAttribute("logon", "logonOk");
return 5L;
}
handleDebug(rp.getMsg());
forceMessage(req, rp.getMsg());
return 0L;
}
handleDebug(String.valueOf(AbMessages.getMessage(getLocale(req), "LOGIN_FAIL")) + " Login: " + getLogin(req) + " Password: " +
getPassword(req));
return 0L;
} catch (Exception e) {
e.printStackTrace();
handleDebug(e);
return 0L;
}
}
protected String getCheckCCPage() {
if (!getWebappResource("controlCodePage").equals(""))
return getWebappResource("controlCodePage");
return "controlCode.jsp";
}
protected String getLogin(HttpServletRequest req) {
return getRequestParameter(req, "login");
}
protected String getPassword(HttpServletRequest req) {
String temp = getRequestParameter(req, "pwd");
return temp;
}
protected boolean isFirstAccess(HttpServletRequest req) {
if (useControlCodeAccess())
try {
Users ute = getUser(req);
ute = (Users)req.getSession().getAttribute("utenteLogon");
ute.findByPrimaryKey(new Long(ute.getId_users()));
if (!ute.getControlCode().equals("")) {
req.getSession().removeAttribute("loginUser_id");
req.getSession().removeAttribute("utenteLogon");
req.getSession().setAttribute("utenteCC", ute);
sendMessage(req, String.valueOf(AbMessages.getMessage("LOGIN_FIRST_ACCESS")) + " " + ute.getEMail());
return true;
}
return false;
} catch (Exception e) {
handleDebug(e);
return false;
}
return false;
}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
protected void loginKO(HttpServletRequest req, HttpServletResponse res) {
req.getSession().removeAttribute("loginUser_id");
req.getSession().removeAttribute("utenteLogon");
if (isUseLogonCookie())
removeCookie(req, res);
req.setAttribute("logon", "logoffOk");
sendMessage(req, AbMessages.getMessage(getLocale(req), "LOGIN_FAIL"));
try {
if (!getBack(req).isEmpty()) {
String absPage = getBack(req);
setJspPageRelative(absPage, req);
} else {
setJspPage(getLoginPage(req, res), req);
}
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {
handleDebug(e, 0);
}
}
protected void logOff(HttpServletRequest req, HttpServletResponse res) {
getLoginUser(req).logOff(req.getRemoteAddr());
req.getSession().removeAttribute("loginUser_id");
req.getSession().removeAttribute("utenteLogon");
if (isUseLogonCookie())
removeCookie(req, res);
req.setAttribute("logon", "logoffOk");
forceMessage(req, "");
try {
if (!getBack(req).isEmpty()) {
String absPage = getBack(req);
setJspPageRelative(absPage, req);
} else {
setJspPage(getLoginPage(req, res), req);
}
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {
handleDebug(e, 0);
}
}
protected void loginOK(HttpServletRequest req, HttpServletResponse res) throws Exception {
if (isUseLogonCookie()) {
handleDebug("METTO I COOKIE");
putLogonCookie(req, res);
}
sendMessage(req, AbMessages.getMessage(getLocale(req), "LOGIN_OK"));
SavedHttpRequest shr = (SavedHttpRequest)req.getSession().getAttribute("savedHttpRequest");
if (shr == null) {
if (!getBack(req).isEmpty()) {
String absPage = getBack(req);
res.sendRedirect(absPage);
} else {
setJspPage(getLoginPage(req, res), req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} else {
shr.loadRequest(req);
if (!getBack(req).isEmpty()) {
String absPage = getBack(req);
res.sendRedirect(absPage);
} else if (shr.isUseSendRedirect()) {
if (getRequestParameter(req, "logon").equals("")) {
res.sendRedirect(shr.getCompleteRequestedURI());
} else {
String delim;
if (shr.getCompleteRequestedURI().indexOf('?') > 0) {
delim = "&";
} else {
delim = "?";
}
res.sendRedirect(String.valueOf(shr.getCompleteRequestedURI()) + delim + "logon" + "=" + getRequestParameter(req, "logon"));
}
} else {
RequestDispatcher rd = getServletContext().getRequestDispatcher(shr.getServletPath());
rd.forward((ServletRequest)req, (ServletResponse)res);
}
}
}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
if (getLoginUser(req) != null) {
req.setAttribute("login", getLoginUser(req).getLogin());
req.setAttribute("utenteLogon", getLoginUser(req));
}
setJspPage(getLoginPage(req, res), req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
protected void removeCookie(HttpServletRequest req, HttpServletResponse res) {
Cookie[] cookies = req.getCookies();
for (int i = 0; i < cookies.length; i++) {
Cookie thisCookie = cookies[i];
if (!thisCookie.getName().equals("JSESSIONID")) {
thisCookie.setMaxAge(0);
thisCookie.setValue("null");
thisCookie.setDomain(req.getServerName());
thisCookie.setPath("/");
res.addCookie(thisCookie);
}
}
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response) {
HttpServletRequest req = request;
HttpServletResponse res = response;
try {
req.setAttribute("logon", getRequestParameter(req, "logon"));
if (!getBack(req).isEmpty()) {
SavedHttpRequest shr = (SavedHttpRequest)req.getSession().getAttribute("savedHttpRequest");
if (shr == null)
shr = new SavedHttpRequest();
shr.setUseSendRedirect(false);
shr.getAllParametersNAttributes().addElement(new RequestAttribute("back", getBack(req)));
req.getSession().setAttribute("savedHttpRequest", shr);
}
if (getCmdIU(req).startsWith("check")) {
long l_checkLoginName = checkLoginName(req, res);
if (l_checkLoginName == 5L) {
if (checkLoginProfile(req)) {
if (!isFirstAccess(req)) {
loginOK(req, res);
} else {
forceJspPageRelative(getCheckCCPage(), req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} else {
loginKO(req, res);
}
} else if (l_checkLoginName == 6L) {
_callNewPasswordChangePage(req, res);
} else {
loginKO(req, res);
}
} else if (getCmdIU(req).startsWith("np")) {
modificaPasswordScaduta(req, res);
} else if (getCmdIU(request).equals("ni")) {
req.getSession().removeAttribute("loginUser_id");
setJspPage(getNewUserPage(), req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)request, (ServletResponse)response);
} else if (getCmdIU(request).equals("login")) {
logOff(req, res);
} else if (getCmdIU(request).equals("checkCC")) {
if (checkControlCode(req)) {
loginOK(req, res);
} else {
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} else if (getCmdIU(request).equals("ckcclnk")) {
if (checkControlCodeLink(req)) {
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} else {
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} else if (getCmdIU(request).equals("cmcc")) {
checkMailControlCode(req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} else if (getCmd(request).equals("showVersionInfo")) {
_showVersionInfo(req, res);
} else if (getCmdIU(request).equals("callNewPasswordChangePage")) {
_callNewPasswordChangePage(req, res);
} else {
otherCommands(req, res);
}
} catch (Exception dbae) {
sendMessage(req, dbae.getMessage());
handleDebug(dbae, 0);
loginKO(req, res);
}
}
protected boolean useControlCodeAccess() {
return false;
}
protected boolean checkControlCodeLink(HttpServletRequest req) {
try {
Users ute = getUser(req);
String controlCode = getRequestParameter(req, "controlCode");
ute.findUsersByControlCode(controlCode);
if (ute.getDBState() != 1) {
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"), 2);
setJspPageRelative(getCheckCCPage(), req);
req.getSession().removeAttribute("utenteLogon");
req.getSession().removeAttribute("loginUser_id");
return false;
}
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
ute.setControlCode("");
ute.save();
req.getSession().removeAttribute("utenteCC");
req.getSession().removeAttribute("utenteLogon");
req.getSession().removeAttribute("loginUser_id");
req.getSession().setAttribute("utenteLogon", ute);
req.getSession().setAttribute("loginUser_id", new Long(ute.getId_users()));
setJspPageRelative(getCheckCCPage(), req);
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
public void modificaPasswordScaduta(HttpServletRequest req, HttpServletResponse res) {
ResParm rp = new ResParm(true);
try {
long l_checkLoginName = checkLoginName(req, res);
if (l_checkLoginName >= 5L) {
Users user = new Users(getApFull(req));
rp = user.findLogonUtente(getLogin(req), getPassword(req), req.getRemoteAddr());
if (rp.getStatus()) {
String newPlainPwd = getRequestParameter(req, "newpwd");
String newPwd2 = getRequestParameter(req, "newpwd2");
if (newPlainPwd.equals(newPwd2)) {
long lunghezzaPwd = getParm("PWD_REUSE_LUNGHEZZA").getNumeroLong();
if (lunghezzaPwd <= 0L || (long)newPlainPwd.length() >= lunghezzaPwd) {
boolean pwdComplessa = !(getParm("PWD_COMPLESSA").getNumeroInt() == 0);
if (!pwdComplessa || Users.checkPwdComplessa(newPlainPwd, lunghezzaPwd)) {
long pwdreuseTimes = getParm("PWD_REUSE_TIMES").getNumeroLong();
String newPwd = getApFull(req).getEncryptedPassword(newPlainPwd);
if (pwdreuseTimes <= 0L || user.getOldPwd().indexOf(String.valueOf(newPwd) + "|") == -1) {
rp = user.salvaNuovaPassword(newPlainPwd);
} else {
rp.setStatus(false);
rp.setMsg("La password è stata utilizzata già nelle ultime " + pwdreuseTimes + " volte.");
}
} else {
rp.setStatus(false);
rp.setMsg(
"La password non soddisfa i requisiti di complessità. Almeno 1 maiuscola, 1 minuscola, 1 numero, 1 carattere speciale tra @#$%-_!?^ .");
}
} else {
rp.setStatus(false);
rp.setMsg("Lunghezza Password errata. La password deve essere minimo " + lunghezzaPwd + " caratteri.");
}
} else {
rp.setStatus(false);
rp.setMsg("Le nuove password non coincidono.");
}
}
} else {
rp.setStatus(false);
rp.setMsg("Login errato");
}
if (rp.getStatus()) {
forceJspPageRelative("/_inc-menu.jsp", req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} else {
forceJspPageRelative("/newpassword.jsp", req);
forceMessage(req, "Errore! " + rp.getMsg());
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} catch (Exception e) {
sendMessage(req, e.getMessage());
handleDebug(e, 0);
loginKO(req, res);
}
}
protected String getLoginPage(HttpServletRequest req, HttpServletResponse res) {
return getJspPage(req).isEmpty() ? "/admin/menu/_inc-menu.jsp" : getJspPage(req);
}
public void _callNewPasswordChangePage(HttpServletRequest req, HttpServletResponse res) {
forceJspPageRelative("newpassword.jsp", req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
try {
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {
handleDebug(e, 0);
}
}
}

View file

@ -0,0 +1,59 @@
package com.ablia.servlet;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Rectangle;
import javax.swing.JApplet;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class LogonApplet extends JApplet {
private JPanel jContentPane = null;
private String currentLogonUser;
private JLabel msgBox = null;
private JLabel version = null;
public void init() {
setSize(300, 200);
setContentPane(getJContentPane());
setContentPane(getJContentPane());
go();
}
private JPanel getJContentPane() {
if (this.jContentPane == null) {
this.version = new JLabel();
this.version.setText("Abla(c) Logon v. 0.0 060410");
this.version.setFont(new Font("Arial", 0, 9));
this.version.setHorizontalAlignment(4);
this.version.setBounds(new Rectangle(97, 2, 127, 16));
this.msgBox = new JLabel();
this.msgBox.setBounds(new Rectangle(0, 23, 226, 27));
this.msgBox.setFont(new Font("Arial", 0, 12));
this.msgBox.setVerticalAlignment(1);
this.msgBox.setText("");
this.jContentPane = new JPanel();
this.jContentPane.setLayout(null);
this.jContentPane.setPreferredSize(new Dimension(227, 50));
this.jContentPane.setSize(new Dimension(227, 50));
this.jContentPane.setBackground(Color.white);
this.jContentPane.add(this.version, null);
this.jContentPane.add(this.msgBox, null);
}
return this.jContentPane;
}
private void go() {
this.msgBox.setText("Login name: " + getCurrentLogonUser() + " .....");
}
public String getCurrentLogonUser() {
if (this.currentLogonUser == null)
this.currentLogonUser = System.getProperty("user.name");
return this.currentLogonUser;
}
}

View file

@ -0,0 +1,468 @@
package com.ablia.servlet;
import com.ablia.common.Postazione;
import com.ablia.common.Users;
import com.ablia.db.DBAdapter;
import com.ablia.db.ResParm;
import com.ablia.util.AbMessages;
import com.ablia.util.Debug;
import java.io.IOException;
import java.net.InetAddress;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LogonSvlt extends AcServlet {
private static final long serialVersionUID = 1L;
public void _showVersionInfo(HttpServletRequest req, HttpServletResponse res) {
String value;
String className = getRequestParameter(req, "_cn");
try {
if (className.equals("com.ablia.db.DBAdapter")) {
value = DBAdapter.getVersionLog();
} else {
Class<?> x = Class.forName(className);
Debug obj = (Debug)x.newInstance();
value = obj.getSoftwareVersionLog();
}
} catch (Exception e) {
value = e.getMessage();
}
sendHtmlMsgResponse(req, res, DBAdapter.convertStringToHtml(value));
}
protected boolean checkControlCode(HttpServletRequest req) {
try {
Users ute = getUser(req);
ute = (Users)req.getSession().getAttribute("utenteCC");
if (ute == null)
return false;
ute.findByPrimaryKey(new Long(ute.getId_users()));
String controlCode = getRequestParameter(req, "controlCode");
if (!ute.getControlCode().equals(controlCode)) {
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"), 2);
setJspPageRelative(getCheckCCPage(), req);
return false;
}
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
ute.setControlCode("");
ute.setFlgValido("S");
ute.save();
req.getSession().removeAttribute("utenteCC");
req.getSession().setAttribute("utenteLogon", ute);
req.getSession().setAttribute("loginUser_id", new Long(ute.getId_users()));
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
protected boolean checkMailControlCode(HttpServletRequest req) {
try {
Users ute = getUser(req);
ute = (Users)req.getSession().getAttribute("utenteCC");
if (ute == null)
return false;
ute.findByPrimaryKey(new Long(ute.getId_users()));
String controlCode = "";
if (req.getParameter("controlCode") != null &&
!req.getParameter("controlCode").equals(""))
controlCode = req.getParameter("controlCode");
if (!ute.getControlCode().equals(controlCode)) {
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"), 2);
setJspPageRelative(getCheckCCPage(), req);
return false;
}
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
ute.setControlCode("");
ute.save();
req.getSession().removeAttribute("utenteCC");
req.getSession().setAttribute("utenteLogon", ute);
req.getSession().setAttribute("loginUser_id", new Long(ute.getId_users()));
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
protected long checkLoginName(HttpServletRequest req, HttpServletResponse res) {
try {
ResParm rp;
Users utente = getUser(req);
if (getCmdIU(req).equals("checkSso") && getParm("SINGLE_SIGN_ON").getTesto().equals("true")) {
String loginSso = getRequestParameter(req, "loginSso");
if (!loginSso.isEmpty()) {
rp = utente.findLogonUtenteSso(loginSso, req.getRemoteAddr());
} else {
rp = new ResParm(false);
}
} else {
rp = utente.findLogonUtente(getLogin(req), getPassword(req), req.getRemoteAddr());
if (utente.getDBState() == 0) {
rp = utente.findLogonUtentePwdSuper(getLogin(req), getPassword(req), req.getRemoteAddr());
if (utente.getDBState() == 1)
utente.setFlgSuper(1L);
}
}
if (utente != null) {
if (rp.getStatus()) {
if (utente.getFlgUsaDomainController() == 0L && utente.isPasswordScaduta())
return 6L;
HttpSession session = req.getSession();
handleDebug("Ok. Recording loginuser_id in the session.");
session.setAttribute("loginUser_id", new Long(utente.getId_users()));
String ip = req.getRemoteHost();
InetAddress ia = InetAddress.getByName(ip);
byte[] ipBytes = ia.getAddress();
ia = InetAddress.getByAddress(ipBytes);
Postazione pos = new Postazione(getApFull(req));
if (!ia.getHostName().isEmpty())
pos.findByHostname(ia.getHostName());
if (pos.getDBState() != 1)
pos.findByIp(ip);
if (pos.getDBState() == 1)
utente.setId_postazione(pos.getId_postazione());
System.out.println("LOGIN EFFETTUATO: user:" + utente.getLogin() + " ip:" + ip + " HOSTNAME:" + ia.getHostName() +
" Postazione: " + utente.getPostazione().getDescrizione());
utente.setCurrentIp(ip);
session.setAttribute("utenteLogon", utente);
req.setAttribute("logon", "logonOk");
return 5L;
}
handleDebug(rp.getMsg());
forceMessage(req, rp.getMsg());
return 0L;
}
handleDebug(String.valueOf(AbMessages.getMessage(getLocale(req), "LOGIN_FAIL")) + " Login: " + getLogin(req) + " Password: " +
getPassword(req));
return 0L;
} catch (Exception e) {
handleDebug(e);
return 0L;
}
}
protected String getCheckCCPage() {
if (!getWebappResource("controlCodePage").equals(""))
return getWebappResource("controlCodePage");
return "controlCode.jsp";
}
protected String getLogin(HttpServletRequest req) {
return getRequestParameter(req, "login");
}
protected String getPassword(HttpServletRequest req) {
String temp = getRequestParameter(req, "pwd");
return temp;
}
protected boolean isFirstAccess(HttpServletRequest req) {
if (useControlCodeAccess())
try {
Users ute = getUser(req);
ute = (Users)req.getSession().getAttribute("utenteLogon");
ute.findByPrimaryKey(new Long(ute.getId_users()));
if (!ute.getControlCode().equals("")) {
req.getSession().removeAttribute("loginUser_id");
req.getSession().removeAttribute("utenteLogon");
req.getSession().setAttribute("utenteCC", ute);
sendMessage(req, String.valueOf(AbMessages.getMessage("LOGIN_FIRST_ACCESS")) + " " + ute.getEMail());
return true;
}
return false;
} catch (Exception e) {
handleDebug(e);
return false;
}
return false;
}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
protected void loginKO(HttpServletRequest req, HttpServletResponse res) {
req.getSession().removeAttribute("loginUser_id");
req.getSession().removeAttribute("utenteLogon");
if (isUseLogonCookie())
removeCookie(req, res);
req.setAttribute("logon", "logonKo");
sendMessage(req, AbMessages.getMessage(getLocale(req), "LOGIN_FAIL"));
try {
if (!getBack(req).isEmpty()) {
String absPage = getBack(req);
setJspPageRelative(absPage, req);
} else {
setJspPage(getLoginPage(req, res), req);
}
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {
handleDebug(e, 0);
}
}
protected void logOff(HttpServletRequest req, HttpServletResponse res) {
getLoginUser(req).logOff(req.getRemoteAddr());
req.getSession().removeAttribute("loginUser_id");
req.getSession().removeAttribute("utenteLogon");
if (isUseLogonCookie())
removeCookie(req, res);
req.setAttribute("logon", "logoffOk");
forceMessage(req, "");
try {
if (!getBack(req).isEmpty()) {
String absPage = getBack(req);
setJspPageRelative(absPage, req);
} else {
setJspPage(getLoginPage(req, res), req);
}
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {
handleDebug(e, 0);
}
}
protected void loginOK(HttpServletRequest req, HttpServletResponse res) throws Exception {
if (isUseLogonCookie()) {
handleDebug("METTO I COOKIE");
putLogonCookie(req, res);
}
sendMessage(req, AbMessages.getMessage(getLocale(req), "LOGIN_OK"));
SavedHttpRequest shr = (SavedHttpRequest)req.getSession().getAttribute("savedHttpRequest");
if (shr == null) {
if (!getBack(req).isEmpty()) {
String absPage = getBack(req);
res.sendRedirect(absPage);
} else {
setJspPage(getLoginPage(req, res), req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} else {
shr.loadRequest(req);
if (!getBack(req).isEmpty()) {
String absPage = getBack(req);
res.sendRedirect(absPage);
} else if (shr.isUseSendRedirect()) {
if (getRequestParameter(req, "logon").equals("")) {
res.sendRedirect(shr.getCompleteRequestedURI());
} else {
String delim;
if (shr.getCompleteRequestedURI().indexOf('?') > 0) {
delim = "&";
} else {
delim = "?";
}
res.sendRedirect(String.valueOf(shr.getCompleteRequestedURI()) + delim + "logon" + "=" + getRequestParameter(req, "logon"));
}
} else {
RequestDispatcher rd = getServletContext().getRequestDispatcher(shr.getServletPath());
rd.forward((ServletRequest)req, (ServletResponse)res);
}
}
}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
if (getLoginUser(req) != null) {
req.setAttribute("login", getLoginUser(req).getLogin());
req.setAttribute("utenteLogon", getLoginUser(req));
}
setJspPage(getLoginPage(req, res), req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
protected void removeCookie(HttpServletRequest req, HttpServletResponse res) {
Cookie[] cookies = req.getCookies();
for (int i = 0; i < cookies.length; i++) {
Cookie thisCookie = cookies[i];
if (!thisCookie.getName().equals("JSESSIONID")) {
thisCookie.setMaxAge(0);
thisCookie.setValue("null");
thisCookie.setDomain(req.getServerName());
thisCookie.setPath("/");
res.addCookie(thisCookie);
}
}
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response) {
HttpServletRequest req = request;
HttpServletResponse res = response;
try {
req.setAttribute("logon", getRequestParameter(req, "logon"));
if (!getBack(req).isEmpty()) {
SavedHttpRequest shr = (SavedHttpRequest)req.getSession().getAttribute("savedHttpRequest");
if (shr == null)
shr = new SavedHttpRequest();
shr.setUseSendRedirect(true);
shr.getAllParametersNAttributes().addElement(new RequestAttribute("back", getBack(req)));
req.getSession().setAttribute("savedHttpRequest", shr);
}
if (getCmdIU(req).startsWith("check")) {
long l_checkLoginName = checkLoginName(req, res);
if (l_checkLoginName == 5L) {
if (checkLoginProfile(req)) {
if (!isFirstAccess(req)) {
loginOK(req, res);
} else {
forceJspPageRelative(getCheckCCPage(), req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} else {
loginKO(req, res);
}
} else if (l_checkLoginName == 6L) {
forceJspPageRelative("/newpassword.jsp", req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} else {
loginKO(req, res);
}
} else if (getCmdIU(req).startsWith("np")) {
modificaPasswordScaduta(req, res);
} else if (getCmdIU(request).equals("ni")) {
req.getSession().removeAttribute("loginUser_id");
setJspPage(getNewUserPage(), req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)request, (ServletResponse)response);
} else if (getCmdIU(request).equals("login")) {
logOff(req, res);
} else if (getCmdIU(request).equals("checkCC")) {
if (checkControlCode(req)) {
loginOK(req, res);
} else {
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} else if (getCmdIU(request).equals("ckcclnk")) {
if (checkControlCodeLink(req)) {
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} else {
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} else if (getCmdIU(request).equals("cmcc")) {
checkMailControlCode(req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} else if (getCmd(request).equals("showVersionInfo")) {
_showVersionInfo(req, res);
} else {
otherCommands(req, res);
}
} catch (Exception dbae) {
sendMessage(req, dbae.getMessage());
handleDebug(dbae, 0);
loginKO(req, res);
}
}
protected boolean useControlCodeAccess() {
return false;
}
protected boolean checkControlCodeLink(HttpServletRequest req) {
try {
Users ute = getUser(req);
String controlCode = getRequestParameter(req, "controlCode");
ute.findUsersByControlCode(controlCode);
if (ute.getDBState() != 1) {
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"), 2);
setJspPageRelative(getCheckCCPage(), req);
req.getSession().removeAttribute("utenteLogon");
req.getSession().removeAttribute("loginUser_id");
return false;
}
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
ute.setControlCode("");
ute.save();
req.getSession().removeAttribute("utenteCC");
req.getSession().removeAttribute("utenteLogon");
req.getSession().removeAttribute("loginUser_id");
req.getSession().setAttribute("utenteLogon", ute);
req.getSession().setAttribute("loginUser_id", new Long(ute.getId_users()));
setJspPageRelative(getCheckCCPage(), req);
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
public void modificaPasswordScaduta(HttpServletRequest req, HttpServletResponse res) {
ResParm rp = new ResParm(true);
try {
long l_checkLoginName = checkLoginName(req, res);
if (l_checkLoginName >= 5L) {
Users user = new Users(getApFull(req));
rp = user.findLogonUtente(getLogin(req), getPassword(req), req.getRemoteAddr());
if (rp.getStatus()) {
String newPwd = getRequestParameter(req, "newpwd");
String newPwd2 = getRequestParameter(req, "newpwd2");
if (newPwd.equals(newPwd2)) {
long lunghezzaPwd = getParm("PWD_REUSE_LUNGHEZZA").getNumeroLong();
if (lunghezzaPwd <= 0L || (long)newPwd.length() >= lunghezzaPwd) {
boolean pwdComplessa = !(getParm("PWD_COMPLESSA").getNumeroInt() == 0);
if (!pwdComplessa || Users.checkPwdComplessa(newPwd, lunghezzaPwd)) {
long pwdreuseTimes = getParm("PWD_REUSE_TIMES").getNumeroLong();
if (pwdreuseTimes <= 0L || user.getOldPwd().indexOf(String.valueOf(newPwd) + "|") == -1) {
rp = user.salvaNuovaPassword(newPwd);
} else {
rp.setStatus(false);
rp.setMsg("La password è stata utilizzata già nelle ultime " + pwdreuseTimes + " volte.");
}
} else {
rp.setStatus(false);
rp.setMsg(
"La password non soddisfa i requisiti di complessità. Almeno 1 maiuscola, 1 minuscola, 1 numero, 1 carattere speciale tra @#$%-_!?^ .");
}
} else {
rp.setStatus(false);
rp.setMsg("Lunghezza Password errata.");
}
} else {
rp.setStatus(false);
rp.setMsg("Le nuove password non coincide.");
}
}
} else {
rp.setStatus(false);
rp.setMsg("Login errato");
}
if (rp.getStatus()) {
forceJspPageRelative("/menu.jsp", req);
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
} else {
forceJspPageRelative("/newpassword.jsp", req);
forceMessage(req, "Errore! " + rp.getMsg());
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
rd.forward((ServletRequest)req, (ServletResponse)res);
}
} catch (Exception e) {
sendMessage(req, e.getMessage());
handleDebug(e, 0);
loginKO(req, res);
}
}
}

View file

@ -0,0 +1,154 @@
package com.ablia.servlet;
import com.ablia.common.Parm;
import com.ablia.common.ParmCR;
import com.ablia.db.ApplParm;
import com.ablia.db.ApplParmFull;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import com.ablia.db.ResParm;
import com.ablia.log._LogAdapter;
import com.ablia.util.FileWr;
import com.ablia.util.Out;
import com.ablia.util.StringTokenizer;
import java.io.File;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/config/Parm.abl"})
public class ParmSvlt extends AblServletSvlt {
private static final long serialVersionUID = 1L;
protected String getGrantedProfiles() {
return "1";
}
protected void addRows(HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterDetail(DBAdapter bean, HttpServletRequest req, HttpServletResponse res) {
req.setAttribute("listaTipiParm", new Parm(getApFull(req)).findTipiParm());
}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {
req.setAttribute("listaTipiParm", new Parm(getApFull(req)).findTipiParm());
}
protected DBAdapter getBean(HttpServletRequest req) {
return new Parm(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
ParmCR CR = new ParmCR(getApFull(req));
CR.setId_user(getLoginUserId(req).longValue());
return CR;
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {
req.setAttribute("listaTipiParm", new Parm(getApFull(req)).findTipiParm());
}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
if (!getCmd(req).equals("init"))
if (getLoginUser(req).getId_userProfile() == 1L) {
if (getCmd(req).startsWith("_RST_ALL")) {
apFull.resetCurrentApParms();
getJspLangPages().clear();
DBAdapter.resetHashtables(getApFull().getApCode());
StringBuilder msg = new StringBuilder("Ht parametri cancellata e ricaricata. Dictionary Resource Bundle ricaricati.");
if (getParm("REWRITE_URL_ENABLE").getNumeroLong() == 1L && getParm("REWRITE_URL_FILE_PATH") != null)
if (!getParm("REWRITE_URL_FILE_PATH").getTesto().isEmpty()) {
String rewriteRulesFile = String.valueOf(getDocBase()) + getParm("REWRITE_URL_FILE_PATH").getTesto() + "/rewrite.txt";
File f = new File(rewriteRulesFile);
f.delete();
try {
FileWr fw = new FileWr(rewriteRulesFile, false);
StringTokenizer st = new StringTokenizer(getParm("REWRITE_URL_RULES").getTesto(), "\n");
while (st.hasMoreTokens())
fw.writeLine(st.nextToken());
fw.closeFile();
} catch (Exception e) {
handleDebug(e);
}
} else {
msg.append("<br>Attenzione! nel salvataggio della rewrite, path mancante.");
}
boolean result = _LogAdapter.createLogDatabase(apFull);
if (result) {
msg.append("<br>Database Log creato correttamente.");
} else {
msg.append("<br>ERRORE! Impossibile creare database Log.");
}
sendMessage(req, msg.toString());
if (getCmd(req).equals("_RST_ALL")) {
search(req, res);
} else {
showBean(req, res);
}
} else if (getCmd(req).startsWith("_RST_BUNDLE")) {
ApplParm.reloadAllResourceBundles();
getJspLangPages().clear();
sendMessage(req, "Dictionary Resource Bundle ricaricati");
if (getCmd(req).equals("_RST_BUNDLE")) {
search(req, res);
} else {
showBean(req, res);
}
} else if (getCmd(req).startsWith("_TEST_MAIL")) {
ResParm rp = Parm.sendTestMail(apFull);
if (rp.getStatus()) {
sendMessage(req, "Test email inviata correttamente.");
} else {
sendMessage(req, rp.getErrMsg());
}
if (getCmd(req).endsWith("_D")) {
showBean(req, res);
} else {
search(req, res);
}
} else {
search(req, res);
}
} else {
sendMessage(req, "ERRORE! permessi mancanti!");
search(req, res);
}
}
public void _init(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
if (getLoginUser(req).getId_users() == 1L) {
StringBuilder msg = new StringBuilder("Ricaricati parametri standard.");
try {
Parm.initMainParms(apFull, getServletContext().getRealPath(""),
getRequestParameter(req, "newPwd1"));
getLoginUser(req).initApplicationParms(apFull);
} catch (Exception e) {
Out o = new Out(System.out);
e.printStackTrace(o);
msg.append("<br>ERRORE! Probabile mancanza database log. " + o.getMsg());
}
sendMessage(req, msg.toString());
search(req, res);
} else {
sendMessage(req, "ERRORE! permessi mancanti!");
search(req, res);
}
}
public void _cambiaBool(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
Parm bean = new Parm(getApFull(req));
long l_id_parm = getRequestLongParameter(req, "id_parm");
bean.findByPrimaryKey(l_id_parm);
bean.setNumero((double)((bean.getNumero() == 1.0D) ? false : true));
ResParm rp = bean.save();
if (rp.getStatus()) {
sendMessage(req, "Aggiornamento Effettuato");
} else {
sendMessage(req, "Errore! " + rp.getMsg());
}
search(req, res);
}
}

View file

@ -0,0 +1,34 @@
package com.ablia.servlet;
import com.ablia.common.Postazione;
import com.ablia.common.PostazioneCR;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/config/Postazione.abl"})
public class PostazioneSvlt extends AblServletSvlt {
private static final long serialVersionUID = 1L;
protected void addRows(HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterDetail(DBAdapter bean, HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {}
protected DBAdapter getBean(HttpServletRequest req) {
return new Postazione(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return new PostazioneCR(getApFull(req));
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {}
protected boolean isSimpleServlet(HttpServletRequest req) {
return true;
}
}

View file

@ -0,0 +1,52 @@
package com.ablia.servlet;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ReceiveFileSvlt extends AcServlet {
private static final long serialVersionUID = 1L;
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response) {
String fileName = request.getParameter("name");
String destPath = request.getParameter("path");
int bufferSize = (int)getRequestLongParameter(request, "bs");
if (bufferSize == 0)
bufferSize = 1024;
if (destPath.isEmpty())
destPath = String.valueOf(getDocBase()) + "files/";
if (fileName != null && !fileName.isEmpty()) {
System.out.println("ReceiveFileSvlt File : " + fileName + " is ready to transfer to path " + destPath);
try {
String baseSalvataggioFile = destPath;
new File(baseSalvataggioFile).mkdirs();
File destFile = new File(String.valueOf(baseSalvataggioFile) + fileName);
if (!destFile.exists()) {
DataInputStream dataIn = new DataInputStream((InputStream)request.getInputStream());
BufferedOutputStream buffOut = new BufferedOutputStream(new FileOutputStream(destFile));
int c = bufferSize;
byte[] b = new byte[c];
int cnt = 0;
while ((cnt = dataIn.read(b)) > -1)
buffOut.write(b, 0, cnt);
buffOut.flush();
buffOut.close();
} else {
System.out.println("ReceiveFileSvlt Attenzione! file " + fileName + " già presente in remoto");
}
} catch (Exception e) {
System.out.println("Error in Servlet : " + e.getMessage());
}
}
}
}

View file

@ -0,0 +1,28 @@
package com.ablia.servlet;
public class RequestAttribute {
private String name;
private Object object;
public RequestAttribute(String attName, Object attObject) {
setName(attName);
setObject(attObject);
}
public String getName() {
return this.name;
}
public Object getObject() {
return this.object;
}
public void setName(String newName) {
this.name = newName;
}
public void setObject(Object newObject) {
this.object = newObject;
}
}

View file

@ -0,0 +1,188 @@
package com.ablia.servlet;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import com.ablia.db.ResParm;
import com.ablia.db.RewriteRule;
import com.ablia.util.StringTokenizer;
import java.io.File;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"*.html", "*.jspx"})
public class RewriteUrlSvlt extends AblServletSvlt {
private static final long serialVersionUID = 1L;
public static final String REWRITE_RULE_ORIGINAL_SERVLET_PATH = "_originalServletPath";
public static final String ERROR_404_PAGE = "/error404.jsp";
protected void addRows(HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterDetail(DBAdapter bean, HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {}
protected DBAdapter getBean(HttpServletRequest req) {
return null;
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return null;
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
boolean calJsp = false;
String stringCode = "";
if (getRewriteUrlEnable()) {
ResParm rp = new ResParm(true);
RewriteRule rr = null;
String requestString = req.getServletPath();
req.setAttribute("_originalServletPath", requestString);
int uIdx = requestString.indexOf("_") + 1;
int dIdx = requestString.lastIndexOf(".");
if (uIdx == 0) {
uIdx = requestString.lastIndexOf("+") + 1;
if (uIdx == 0)
uIdx = 1;
}
if (dIdx > uIdx) {
stringCode = requestString.substring(uIdx, dIdx);
int codIdx = stringCode.indexOf("-");
String theCode = stringCode;
if (codIdx >= 0)
theCode = stringCode.substring(0, codIdx);
rr = getRewriteRule(theCode);
if (rr != null) {
if (codIdx > -1) {
StringTokenizer parms = new StringTokenizer(stringCode.substring(codIdx + 1), "-");
int i = 0;
while (parms.hasMoreTokens()) {
String aParm = parms.nextToken();
if (!parms.hasMoreTokens() && !aParm.isEmpty() && getRewriteUrlLang().contains(aParm)) {
req.getSession().setAttribute("LANG".toLowerCase(), aParm);
} else if (rr.getParm(i) != null) {
req.setAttribute(rr.getParm(i), aParm);
}
i++;
}
}
if (rr.getConstParms() != null) {
rr.getConstParms().moveFirst();
while (rr.getConstParms().hasMoreElements()) {
String theParm = rr.getConstParms().nextElement();
String theValue = rr.getConstValues().get(rr.getConstParms().getIndex() - 1);
req.setAttribute(theParm, theValue);
}
}
} else {
calJsp = callRewriteRuleJsp(req, res, theCode);
if (!calJsp) {
rp.setStatus(false);
rp.setMsg("Rewrite Rule: richiesta non formattata correttamente o jsp corrispondente non trovata o con errori.");
}
}
} else {
calJsp = callRewriteRuleJsp(req, res, stringCode);
if (!calJsp) {
rp.setStatus(false);
rp.setMsg("Rewrite Rule: richiesta non formattata correttamente o jsp corrispondente non trovata o con errori.");
}
}
if (rp.getStatus() && rr != null && !calJsp) {
if (rr.getCmd() != null)
req.setAttribute("cmd", rr.getCmd());
if (rr.getAct() != null)
req.setAttribute("act", rr.getAct());
try {
RequestDispatcher rd = getServletContext().getRequestDispatcher(rr.getServlet());
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {
handleDebug(e);
}
} else if (!calJsp) {
res.setStatus(404);
appendMessage(req, "Errore rewrite rule: " + rp.getMsg());
RequestDispatcher rd = getServletContext().getRequestDispatcher("/error404.jsp");
try {
rd.forward((ServletRequest)req, (ServletResponse)res);
} catch (Exception e) {}
}
} else {
calJsp = callRewriteRuleJsp(req, res, stringCode);
if (!calJsp)
sendHtmlMsgResponse(req, res, "Errore rewrite rule non abilitato e pagina jsp corrispondente non trovata.");
}
}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
protected boolean callRewriteRuleJsp(HttpServletRequest req, HttpServletResponse res, String theCode) {
String requestString = req.getServletPath();
StringBuilder pagineProvate = new StringBuilder();
boolean paginaTrovata = false;
int lastDot = requestString.lastIndexOf(".");
requestString = String.valueOf(requestString.substring(0, lastDot)) + ".jsp";
int lastMinus = requestString.lastIndexOf("-");
String lang = "";
if (lastMinus > 0 && lastDot > lastMinus) {
lang = requestString.substring(lastMinus + 1, lastDot);
if (getRewriteUrlLang().contains(lang)) {
req.getSession().setAttribute("LANG".toLowerCase(), lang);
if (new File(String.valueOf(getDocBase()) + requestString.substring(1)).exists()) {
paginaTrovata = true;
} else {
pagineProvate.append(requestString);
pagineProvate.append("<br>");
requestString = requestString.replace("-" + lang, "");
}
}
}
if (!paginaTrovata)
if (new File(String.valueOf(getDocBase()) + requestString.substring(1)).exists()) {
paginaTrovata = true;
} else {
pagineProvate.append(requestString);
pagineProvate.append("<br>");
}
if (!paginaTrovata)
if (!lang.isEmpty()) {
requestString = "/" + theCode + "-" + lang + ".jsp";
if (new File(String.valueOf(getDocBase()) + requestString.substring(1)).exists()) {
paginaTrovata = true;
} else {
pagineProvate.append(requestString);
pagineProvate.append("<br>");
}
}
if (!paginaTrovata) {
requestString = "/" + theCode + ".jsp";
if (new File(String.valueOf(getDocBase()) + requestString.substring(1)).exists()) {
paginaTrovata = true;
} else {
pagineProvate.append(requestString);
pagineProvate.append("<br>");
}
}
if (!paginaTrovata) {
sendMessage(req, "Errore. Impossibile trovare una pagina tra:<br>" + pagineProvate.toString());
return false;
}
try {
RequestDispatcher rd = getServletContext().getRequestDispatcher(requestString);
rd.forward((ServletRequest)req, (ServletResponse)res);
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
}

View file

@ -0,0 +1,85 @@
package com.ablia.servlet;
import java.util.Enumeration;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
public class SavedHttpRequest {
private String servletPath;
private Vector allParametersNAttributes;
private boolean useSendRedirect = false;
private String completeRequestedURI;
public Vector getAllParametersNAttributes() {
if (this.allParametersNAttributes == null)
this.allParametersNAttributes = new Vector();
return this.allParametersNAttributes;
}
public String getCompleteRequestedURI() {
return this.completeRequestedURI;
}
public boolean isUseSendRedirect() {
return this.useSendRedirect;
}
public void loadRequest(HttpServletRequest request) {
request.setAttribute("cmdIU", "null");
Enumeration<RequestAttribute> parms = getAllParametersNAttributes().elements();
while (parms.hasMoreElements()) {
RequestAttribute ra = parms.nextElement();
request.setAttribute(ra.getName(), ra.getObject());
}
}
public void setAllParametersNAttributes(Vector newAllParametersNAttributes) {
this.allParametersNAttributes = newAllParametersNAttributes;
}
public void setAllParametersNAttributes(HttpServletRequest request) {
Vector<RequestAttribute> vec = new Vector();
String parmName = "";
Enumeration<String> parms = request.getParameterNames();
while (parms.hasMoreElements()) {
parmName = parms.nextElement();
Object parmValue = request.getParameter(parmName);
if (parmName.toLowerCase().equals("usesendredirect") && ((String)parmValue).toLowerCase().equals("yes")) {
setUseSendRedirect(true);
continue;
}
vec.addElement(new RequestAttribute(parmName, parmValue));
}
parms = request.getAttributeNames();
while (parms.hasMoreElements()) {
parmName = parms.nextElement();
Object parmValue = request.getAttribute(parmName);
if (parmName.toLowerCase().equals("usesendredirect") && (
(String)parmValue).toLowerCase().equals("yes")) {
setUseSendRedirect(true);
continue;
}
vec.addElement(new RequestAttribute(parmName, parmValue));
}
setAllParametersNAttributes(vec);
}
public void setCompleteRequestedURI(String newCompleteRequestedURI) {
this.completeRequestedURI = newCompleteRequestedURI;
}
public void setUseSendRedirect(boolean newUseSendRedirect) {
this.useSendRedirect = newUseSendRedirect;
}
public String getServletPath() {
return this.servletPath;
}
public void setServletPath(String servletPath) {
this.servletPath = servletPath;
}
}

View file

@ -0,0 +1,24 @@
package com.ablia.servlet;
import com.ablia.common.StatusMsg;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/menu/StatusMsg.abl"})
public class StatusMsgSvlt extends AcServlet {
private static final long serialVersionUID = 1L;
protected void processRequest(HttpServletRequest req, HttpServletResponse res) {
_aggiornaStatusMsg(req, res);
}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
public void _aggiornaStatusMsg(HttpServletRequest req, HttpServletResponse res) {
String temp = StatusMsg.getMsgHtmlByTag(getApFull(req), getRequestParameter(req, "tagMsg"));
sendHtmlMsgResponse(req, res, temp);
}
}

View file

@ -0,0 +1,82 @@
package com.ablia.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Deprecated
public abstract class StndInsertSearchSvlt extends AcServlet {
protected void forceStato(HttpServletRequest req, String stato) {
req.setAttribute("stato", stato);
}
protected void sendStato(HttpServletRequest req, String stato) {
if (req.getAttribute("stato") == null)
req.setAttribute("stato", stato);
}
protected abstract void accessiSql(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected abstract void chiamaJsp(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected void fetch(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected void gestioneRighe(HttpServletRequest req, HttpServletResponse res) {}
protected void mail(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected void manageMultipartRequest(HttpServletRequest req, HttpServletResponse res) {
accessiSql(req, res);
}
protected abstract void mostraCriteriRicerca(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected abstract void mostraDettaglio(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected abstract void nuovoInserimento(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected void print(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected abstract void search(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected void processRequest(HttpServletRequest req, HttpServletResponse res) {
if (req.getContentType() != null &&
req.getContentType().startsWith("multipart/form-data")) {
manageMultipartRequest(req, res);
} else {
String cmd = getCmd(req);
if (cmd.equals("ccp")) {
chiamaJsp(req, res);
} else if (cmd.equals("ni")) {
nuovoInserimento(req, res);
} else if (cmd.equals("asq")) {
accessiSql(req, res);
} else if (cmd.equals("md")) {
mostraDettaglio(req, res);
} else if (cmd.equals("gr")) {
gestioneRighe(req, res);
} else if (cmd.equals("cr")) {
mostraCriteriRicerca(req, res);
} else if (cmd.equals("search")) {
search(req, res);
} else if (cmd.equals("print")) {
print(req, res);
} else if (cmd.equals("mail")) {
mail(req, res);
} else if (cmd.equals("fetch")) {
fetch(req, res);
} else {
otherCommands(req, res);
}
}
}
}

View file

@ -0,0 +1,49 @@
package com.ablia.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Deprecated
public abstract class StndInsertSvlt extends AcServlet {
protected void forceStato(HttpServletRequest req, String stato) {
req.setAttribute("stato", stato);
}
protected void sendStato(HttpServletRequest req, String stato) {
if (req.getAttribute("stato") == null)
req.setAttribute("stato", stato);
}
protected abstract void accessiSql(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected abstract void chiamaJsp(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected abstract void gestioneRighe(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected abstract void mostraDettaglio(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected abstract void nuovoInserimento(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
chiamaJsp(req, res);
}
protected void processRequest(HttpServletRequest req, HttpServletResponse res) {
String cmd = getCmd(req);
if (cmd.equals("ccp")) {
chiamaJsp(req, res);
} else if (!cmd.equals("cr")) {
if (cmd.equals("ni")) {
nuovoInserimento(req, res);
} else if (cmd.equals("asq")) {
accessiSql(req, res);
} else if (cmd.equals("md")) {
mostraDettaglio(req, res);
} else if (cmd.equals("gr")) {
gestioneRighe(req, res);
} else {
otherCommands(req, res);
}
}
}
}

View file

@ -0,0 +1,94 @@
package com.ablia.servlet;
import com.ablia.common.Access;
import com.ablia.common.TableDesc;
import com.ablia.common.TableDescCR;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import com.ablia.db.ResParm;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/config/TableDesc.abl"})
public class TableDescSvlt extends AblServletSvlt {
private static final long serialVersionUID = 5581899231419364360L;
protected boolean checkLoginProfile(HttpServletRequest req) {
try {
if (getLoginUser(req) == null) {
forceJspPage(getLoginPage(null, null), req);
return true;
}
if (getLoginUser(req).getId_users() == 1L)
return true;
forceJspPage(getLoginPage(null, null), req);
req.getSession().removeAttribute("loginUser_id");
req.getSession().removeAttribute("utenteLogon");
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
protected void fillComboAfterDetail(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) {
req.setAttribute("listaAccess", new Access(getApFull(req)).findAccessHeader(""));
}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {
req.setAttribute("listaAccess", new Access(getApFull(req)).findAccessHeader(""));
}
protected DBAdapter getBean(HttpServletRequest req) {
return new TableDesc(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return new TableDescCR(getApFull(req));
}
protected boolean isSimpleServlet(HttpServletRequest req) {
return false;
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {}
protected void addRows(HttpServletRequest req, HttpServletResponse res) {}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
if (getLoginUser(req).getId_userProfile() == 1L) {
if (getCmd(req).startsWith("_RST_ALL")) {
getApFull(req).resetCurrentApParms();
DBAdapter.resetHashtables();
sendMessage(req, "Ht parametri cancellata e ricaricata. Dictionary Resource Bundle ricaricati");
if (getCmd(req).equals("_RST_ALL")) {
search(req, res);
} else {
showBean(req, res);
}
} else {
search(req, res);
}
} else {
search(req, res);
}
}
public void _createTableDesc(HttpServletRequest req, HttpServletResponse res) {
String id_access = getRequestParameter(req, "id_access");
Access bean = new Access(getApFull(req));
bean.findByPrimaryKey(id_access);
if (bean.getFlgTabella() == 1L) {
ResParm rp = bean.createTableDesc();
if (rp.getStatus()) {
sendMessage(req, "Table desc creata correttamente.");
} else {
sendMessage(req, "Errore!! " + rp.getMsg());
}
} else {
sendMessage(req, "Attenzione!! " + id_access + " NON e' una tabella!");
}
showBean(req, res);
}
}

View file

@ -0,0 +1,34 @@
package com.ablia.servlet;
import com.ablia.common.TipoPostazione;
import com.ablia.common.TipoPostazioneCR;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/config/TipoPostazione.abl"})
public class TipoPostazioneSvlt extends AblServletSvlt {
private static final long serialVersionUID = 1L;
protected void addRows(HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterDetail(DBAdapter bean, HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {}
protected DBAdapter getBean(HttpServletRequest req) {
return new TipoPostazione(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return new TipoPostazioneCR(getApFull(req));
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {}
protected boolean isSimpleServlet(HttpServletRequest req) {
return true;
}
}

View file

@ -0,0 +1,62 @@
package com.ablia.servlet;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import com.ablia.tools.LteTools;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ToolLteSvlt extends AblServletSvlt {
private static final long serialVersionUID = 1L;
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
protected void fillComboAfterDetail(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterSearch(CRAdapter CRA, HttpServletRequest req, HttpServletResponse res) {}
protected DBAdapter getBean(HttpServletRequest req) {
return null;
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return null;
}
protected String getBeanPageName(HttpServletRequest req) {
return "/convertLte";
}
protected boolean isSimpleServlet(HttpServletRequest req) {
return true;
}
public void _convertiTabRicerca(HttpServletRequest req, HttpServletResponse res) {
String source = getRequestParameter(req, "source");
LteTools lte = new LteTools();
String result = lte.convertiTabRicerca(source);
req.setAttribute("source", source);
req.setAttribute("result", result);
callJsp(req, res);
}
public void _convertiTabListe(HttpServletRequest req, HttpServletResponse res) {
String source = getRequestParameter(req, "source");
LteTools lte = new LteTools();
String result = lte.convertiTabellaListe(source);
req.setAttribute("source", source);
req.setAttribute("result", result);
callJsp(req, res);
}
public void _convertiTabDettaglio(HttpServletRequest req, HttpServletResponse res) {
String source = getRequestParameter(req, "source");
LteTools lte = new LteTools();
String result = lte.convertiTabDettaglio(source);
req.setAttribute("source", source);
req.setAttribute("result", result);
callJsp(req, res);
}
}

View file

@ -0,0 +1,28 @@
package com.ablia.servlet;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/_imgMsg/mail/*"})
public class TrackEmailSvlt extends GetFileSvlt {
protected String getFileName(HttpServletRequest req, HttpServletResponse res) {
String temp = req.getRequestURI();
int idx1 = temp.lastIndexOf("_") + 1;
int idx2 = temp.lastIndexOf(".png");
try {
long l = Long.parseLong(temp.substring(idx1, idx2));
} catch (Exception e) {
e.printStackTrace();
}
return String.valueOf(getDocBase()) + "_img//logo/logo.png";
}
protected boolean checkProfile(HttpServletRequest req, HttpServletResponse res) {
return true;
}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
}

View file

@ -0,0 +1,52 @@
package com.ablia.servlet;
import com.ablia.common.UserProfile;
import com.ablia.common.UserProfileCR;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/config/UserProfile.abl"})
public class UserProfileSvlt extends AblServletSvlt {
private static final long serialVersionUID = 1L;
protected boolean checkLoginProfile(HttpServletRequest req) {
try {
if (getLoginUser(req) == null) {
forceJspPage(getLoginPage(null, null), req);
return true;
}
if (getLoginUser(req).getId_users() == 1L)
return true;
forceJspPage(getLoginPage(null, null), req);
req.getSession().removeAttribute("loginUser_id");
req.getSession().removeAttribute("utenteLogon");
return true;
} catch (Exception e) {
handleDebug(e);
return false;
}
}
protected void addRows(HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterDetail(DBAdapter bean, HttpServletRequest req, HttpServletResponse res) {}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {}
protected DBAdapter getBean(HttpServletRequest req) {
return new UserProfile(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return new UserProfileCR(getApFull(req));
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {}
protected boolean isSimpleServlet(HttpServletRequest req) {
return true;
}
}

View file

@ -0,0 +1,456 @@
package com.ablia.servlet;
import com.ablia.common.Access;
import com.ablia.common.AccessGroup;
import com.ablia.common.UserAccess;
import com.ablia.common.UserAccessGroup;
import com.ablia.common.UserProfile;
import com.ablia.common.Users;
import com.ablia.common.UsersCR;
import com.ablia.common.UsersI;
import com.ablia.db.ApplParmFull;
import com.ablia.db.CRAdapter;
import com.ablia.db.DBAdapter;
import com.ablia.db.ResParm;
import com.ablia.log.LogCR;
import com.ablia.util.AbMessages;
import java.util.Calendar;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/admin/config/Users.abl"})
public class UsersSvlt extends AblServletSvlt implements AddImgSvlt {
protected void fillComboAfterDetail(DBAdapter bean, HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
if (getLoginUser(req).getId_userProfile() == 1L) {
req.setAttribute("listaProfiliUtente", new UserProfile(apFull).findAll());
req.setAttribute("listaPermessi", new Access(apFull).findAll());
} else {
req.setAttribute("listaProfiliUtente", new UserProfile(apFull).findUserProfiles());
}
req.setAttribute("listaStili", new Users(apFull).findStili());
req.setAttribute("listaUserAccess", ((Users)bean).getUserAccess(0, 0));
LogCR CRLog = new LogCR();
fillObject(req, CRLog);
req.setAttribute("CRLog", CRLog);
long pageNumberLog = getRequestLongParameter(req, "pageNumber_log");
if (pageNumberLog == 0L)
pageNumberLog = 1L;
req.setAttribute("listaLog", ((Users)bean).getLogs(CRLog, (int)pageNumberLog, getPageRow(req) / 2));
req.setAttribute("listaUserAccessGroup", ((Users)bean).getUserAccessGroup(0, 0));
req.setAttribute("listaAccessGroup", new AccessGroup(apFull).findAll());
}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
if (getLoginUser(req).getId_userProfile() == 1L) {
req.setAttribute("listaProfiliUtente", new UserProfile(apFull).findAll());
} else {
req.setAttribute("listaProfiliUtente", new UserProfile(apFull).findUserProfiles());
}
}
protected DBAdapter getBean(HttpServletRequest req) {
return new Users(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
UsersCR CR = new UsersCR();
CR.setPolicy(getLoginUser(req).getUserProfile().getPolicy());
return CR;
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
if (getLoginUser(req).getId_userProfile() == 1L) {
req.setAttribute("listaProfiliUtente", new UserProfile(apFull).findAll());
} else {
req.setAttribute("listaProfiliUtente", new UserProfile(apFull).findUserProfiles());
}
}
protected void addRows(HttpServletRequest req, HttpServletResponse res) {
addRowsAdmin(req, res);
}
private void addRowsAdmin(HttpServletRequest req, HttpServletResponse res) {
long l_id = 0L;
ApplParmFull apFull = getApFull(req);
ResParm rp = new ResParm(true, "");
l_id = getRequestLongParameter(req, "id_users");
Users bean = new Users(apFull);
try {
bean.findByPrimaryKey(l_id);
fillObject(req, bean);
rp = bean.save();
if (rp.getStatus()) {
req.setAttribute("id_users", String.valueOf(bean.getId_users()));
if (getAct(req).equals("addAccess")) {
UserAccess up = new UserAccess(apFull);
fillObject(req, up);
rp = bean.addAccess(up);
sendMessage(req, rp.getMsg());
showBean(req, res);
} else if (getAct(req).equals("delAccess")) {
UserAccess up = new UserAccess(apFull);
fillObject(req, up);
rp = bean.delAccess(up);
sendMessage(req, String.valueOf(AbMessages.getMessage(getLocale(req), "SAVE_OK")) + ": Permesso Cancellato");
showBean(req, res);
} else if (getAct(req).equals("addAccessGroup")) {
UserAccessGroup row = new UserAccessGroup(apFull);
fillObject(req, row);
rp = bean.addAccessGroup(row);
sendMessage(req, rp.getMsg());
showBean(req, res);
} else if (getAct(req).equals("delAccessGroup")) {
UserAccessGroup row = new UserAccessGroup(apFull);
fillObject(req, row);
rp = bean.delAccessGroup(row);
sendMessage(req, String.valueOf(AbMessages.getMessage(getLocale(req), "SAVE_OK")) + ": Permessi Cancellati");
showBean(req, res);
} else if (getAct(req).equals("delLog")) {
rp = bean.delAllLogs();
sendMessage(req, String.valueOf(AbMessages.getMessage(getLocale(req), "DELETE_OK")) + ": Log Cancellati");
showBean(req, res);
}
} else {
sendMessage(req, AbMessages.getMessage(getLocale(req), "SAVE_FAIL " + rp.getMsg()));
showBean(req, res);
}
} catch (Exception e) {
forceMessage(req, AbMessages.getMessage(getLocale(req), "SAVE_FAIL"));
showBean(req, res);
}
}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
String l_mlcc = getRequestParameter(req, "mlCzy");
ApplParmFull apFull = getApFull(req);
if (getCmd(req).equals("grAdmin")) {
addRowsAdmin(req, res);
} else if (getCmd(req).equals("init")) {
if (getLoginUser(req).getId_users() == 1L) {
((UsersI)getBean(req)).initApplicationParms(apFull);
sendMessage(req, "Parametri iniziali applicazione aggiornati!");
}
search(req, res);
} else if (getCmd(req).equals("initPwd")) {
if (getLoginUser(req).getId_users() == 1L) {
ResParm rp = Users.updateAllPwdCrypt(apFull);
if (rp.getStatus()) {
sendMessage(req, "Aggiornamento Password avvenuto correttamente. ");
} else {
sendMessage(req, "Errore! " + rp.getMsg());
}
}
search(req, res);
} else if (getCmd(req).equals("setChangeLog")) {
if (getLoginUser(req).getId_users() == 1L) {
Users user = getLoginUser(req);
user.setAllChangeLog(1L);
sendMessage(req, "Change Log impostato!");
} else {
sendMessage(req, "Errore! Permessi Mancanti!");
}
search(req, res);
}
if (getCmd(req).equals("ML")) {
recordMailingList(req, res);
} else if (!l_mlcc.isEmpty()) {
checkMailingLisgControlCode(req, res);
} else {
super.otherCommands(req, res);
}
}
protected void checkMailingLisgControlCode(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
String l_mlcc = getRequestParameter(req, "mlCzy");
l_mlcc = DBAdapter.deCrypt(l_mlcc);
ResParm rp = new ResParm();
Users bean = new Users(apFull);
bean.findUsersByControlCode(l_mlcc);
if (bean.getDBState() == 1) {
bean.setFlgMl(1L);
bean.setControlCode("");
rp = bean.save();
if (rp.getStatus()) {
rp.setMsg(bean.translate("Mail verificata.", bean.getLangMl()));
rp.setErrorCode(-1L);
}
} else {
rp.setStatus(false);
rp.setMsg(bean.translate("ERRORE! Codice di controllo non valido", bean.getLangMl()));
}
req.setAttribute("RP", rp);
forceJspPageRelative("mailingListUser.jsp", req);
callJsp(req, res);
}
protected void recordMailingList(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
Users bean = new Users(apFull);
fillObject(req, bean);
ResParm rp = new ResParm();
String msg = "Impossibile Registrare utente ML:";
if (bean.isEmailDuplicated()) {
msg = String.valueOf(msg) + " Email già presente in archivio - " + bean.getEMail();
rp.setStatus(false);
rp.setMsg(msg);
if (bean.isEmailDuplicatedNoMl()) {
rp.setErrorCode(1L);
} else {
rp.setErrorCode(2L);
}
req.setAttribute("RP", rp);
forceJspPageRelative("mailingListUser.jsp", req);
callJsp(req, res);
} else {
bean.setFlgValido("N");
bean.setFlgMl(0L);
bean.setControlCode(String.valueOf(Calendar.getInstance().getTimeInMillis()));
bean.setId_userProfile(bean.getIdUserProfileMailingList());
bean.setLangMl(getRequestParameter(req, "langMl"));
bean.setLogin("ML_" + bean.getEMail());
bean.setCognome("MLC_" + bean.getEMail());
bean.setNome("MLN_" + bean.getEMail());
if (bean.getLogin().length() > 30)
bean.setLogin(bean.getLogin().substring(0, 30));
if (bean.getCognome().length() > 30)
bean.setCognome(bean.getCognome().substring(0, 30));
if (bean.getNome().length() > 30)
bean.setNome(bean.getNome().substring(0, 30));
rp = bean.save();
if (rp.getStatus())
bean.sendMLMailMessage(String.valueOf(req.getRemoteHost()) + " " + req.getRemoteAddr(), bean.getLangMl());
forceJspPageRelative("mailingListUser.jsp", req);
callJsp(req, res);
}
}
protected void mail(HttpServletRequest req, HttpServletResponse res) {
ResParm rp = new ResParm(true);
long l_id = getRequestLongParameter(req, "id_users");
Users bean = new Users(getApFull(req));
try {
bean.findByPrimaryKey(l_id);
rp = bean.sendUserDataMailMessage(getLang(req));
sendMessage(req, rp.getMsg());
showBean(req, res);
} catch (Exception e) {
e.printStackTrace();
rp.setException(e);
sendMessage(req, rp.getMsg());
showBean(req, res);
}
}
public void _rebuildMl(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
Users bean = new Users(apFull);
UsersCR CR = new UsersCR(apFull);
fillObject(req, CR);
ResParm rp = bean.rebuildMl(CR);
sendMessage(req, rp.getMsg());
search(req, res);
}
protected String getPathUsrImgProfilo(HttpServletRequest req) {
String temp = getParm("PATH_USR_IMG_PROFILO").getTesto();
if (temp.isEmpty())
return "_img/";
return temp;
}
public void _loadImg(HttpServletRequest req, HttpServletResponse res) {
super._loadImg(req, res);
}
protected void manageMultipartRequest(HttpServletRequest req, HttpServletResponse res) {
String[] fileNameTypes = { "jpg", "png", "jpeg" };
String targetDir = String.valueOf(getDocBase()) + getPathTmp();
String fntImg = "imgUsr_" + getLoginUserId(req);
String[] fileNameTarget = { fntImg };
String[] fileNameParameters = { "imgFile" };
try {
if (getLoginUserGrant(req, getBean(req).getTableBeanName()) >= 3L) {
if (manageMultipartRequestParameters(req, 20000, fileNameParameters, fileNameTarget, fileNameTypes, targetDir)) {
processNoEncTypeRequest(req, res);
} else {
sendGrantMessage(req, AbMessages.getMessage(getLocale(req), "MR_FILE_ERROR"));
showBean(req, res);
}
} else {
sendGrantMessage(req, AbMessages.getMessage(getLocale(req), "GRANT_NO_RW"));
showBean(req, res);
}
} catch (Exception e) {
handleDebug(e);
}
}
protected boolean isLoadImageServlet() {
return true;
}
protected void showBean(HttpServletRequest req, HttpServletResponse res) {
Users utenteLogon = getLoginUser(req);
long l_id_users = getRequestLongParameter(req, "id_users");
if (l_id_users == 1L && utenteLogon.getId_users() != 1L) {
sendGrantMessage(req, AbMessages.getMessage(getLocale(req), "GRANT_NO_R"));
search(req, res);
} else {
super.showBean(req, res);
}
}
public void _changePwd(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
ResParm rp = new ResParm(true);
long l_id_users = getRequestLongParameter(req, "id_users");
Users bean = new Users(apFull);
bean.findByPrimaryKey(l_id_users);
if (bean.getId_users() > 0L) {
try {
Users utenteLogon = getLoginUser(req);
boolean checkLoginUser = false;
if (utenteLogon.getId_userProfile() == 1L) {
checkLoginUser = true;
} else if (utenteLogon.getId_users() != bean.getId_users()) {
sendMessage(req,
"ERRORE! Si sta tentando di cambiare la password di un altro utente senza essere amministratori!!");
} else {
String oldPwdPlain = getRequestParameter(req, "oldPwd");
if (bean.getPwd().equals(apFull.getEncryptedPassword(oldPwdPlain))) {
checkLoginUser = true;
} else {
sendMessage(req, "ERRORE! Vecchia password errata!");
}
}
if (checkLoginUser) {
String newPlainPwd = getRequestParameter(req, "newpwd");
String newPwd2 = getRequestParameter(req, "newpwd2");
if (!newPlainPwd.isEmpty() && newPlainPwd.equals(newPwd2)) {
long lunghezzaPwd = getParm("PWD_REUSE_LUNGHEZZA").getNumeroLong();
if (lunghezzaPwd <= 0L || (long)newPlainPwd.length() >= lunghezzaPwd) {
boolean pwdComplessa = !(getParm("PWD_COMPLESSA").getNumeroInt() == 0);
if (!pwdComplessa || Users.checkPwdComplessa(newPlainPwd, lunghezzaPwd)) {
long pwdreuseTimes = getParm("PWD_REUSE_TIMES").getNumeroLong();
String newPwd = getApFull(req).getEncryptedPassword(newPlainPwd);
if (pwdreuseTimes <= 0L || bean.getOldPwd().indexOf(String.valueOf(newPwd) + "|") == -1) {
rp = bean.salvaNuovaPassword(newPlainPwd);
if (rp.getStatus()) {
sendMessage(req, "Password modificata correttamente!");
} else {
sendMessage(req, "Errore! " + rp.getMsg());
checkLoginUser = false;
}
} else {
sendMessage(req,
"Errore! La password è stata utilizzata già nelle ultime " + pwdreuseTimes + " volte.");
checkLoginUser = false;
}
} else {
sendMessage(req,
"Errore! La password non soddisfa i requisiti di complessità. Almeno 1 maiuscola, 1 minuscola, 1 numero, 1 carattere speciale tra @#$%-_!?^ .");
checkLoginUser = false;
}
} else {
sendMessage(req,
"Errore! Lunghezza Password errata. La password deve essere minimo " + lunghezzaPwd + " caratteri.");
checkLoginUser = false;
}
} else {
sendMessage(req, "Errore! Le nuove password non coincidono o sono vuote.");
checkLoginUser = false;
}
}
} catch (Exception e) {
sendMessage(req, e.getMessage());
handleDebug(e, 0);
sendMessage(req, "Errore! " + e.getMessage());
}
showBean(req, res);
} else {
sendMessage(req, "ERRORE! Utente inesistente");
search(req, res);
}
}
public void _changePwdSuper(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
ResParm rp = new ResParm(true);
long l_id_users = getRequestLongParameter(req, "id_users");
Users bean = new Users(apFull);
bean.findByPrimaryKey(l_id_users);
if (bean.getId_users() > 0L) {
try {
Users utenteLogon = getLoginUser(req);
boolean checkLoginUser = false;
if (utenteLogon.getId_userProfile() == 1L) {
checkLoginUser = true;
} else if (utenteLogon.getId_users() != bean.getId_users()) {
sendMessage(req,
"ERRORE! Si sta tentando di cambiare la password super di un altro utente senza essere amministratori!!");
} else {
String oldPwdPlain = getRequestParameter(req, "oldPwdSuper");
if (bean.getPwdSuper().equals(apFull.getEncryptedPassword(oldPwdPlain))) {
checkLoginUser = true;
} else {
sendMessage(req, "ERRORE! Vecchia password super errata!");
}
}
if (checkLoginUser) {
String newPlainPwd = getRequestParameter(req, "newpwdSuper");
String newPwd2 = getRequestParameter(req, "newpwd2Super");
if (!newPlainPwd.isEmpty() && newPlainPwd.equals(newPwd2)) {
rp = bean.salvaNuovaPasswordSuper(newPlainPwd);
if (rp.getStatus()) {
sendMessage(req, "Password Super modificata correttamente!");
} else {
sendMessage(req, "Errore! " + rp.getMsg());
checkLoginUser = false;
}
} else {
sendMessage(req, "Errore! Le nuove password super non coincidono o sono vuote.");
checkLoginUser = false;
}
}
} catch (Exception e) {
sendMessage(req, e.getMessage());
handleDebug(e, 0);
sendMessage(req, "Errore! " + e.getMessage());
}
showBean(req, res);
} else {
sendMessage(req, "ERRORE! Utente inesistente");
search(req, res);
}
}
public void _delLog(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
Users bean = new Users(apFull);
long l_id_users = getRequestLongParameter(req, "id_users");
bean.findByPrimaryKey(l_id_users);
if (bean.getId_users() > 0L) {
ResParm rp = bean.delAllLogs();
if (rp.getStatus()) {
sendMessage(req, String.valueOf(AbMessages.getMessage(getLocale(req), "DELETE_OK")) + ": Log Cancellati");
} else {
sendMessage(req, String.valueOf(AbMessages.getMessage(getLocale(req), "DELETE_FAIL")) + " " + rp.getMsg());
}
} else {
sendMessage(req, String.valueOf(AbMessages.getMessage(getLocale(req), "DELETE_FAIL")) + " Utente non trovato");
}
showBean(req, res);
}
protected ResParm beforeSave(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) {
Users bean = (Users)beanA;
bean.setLang(getRequestParameter(req, "langUser"));
return super.beforeSave(beanA, req, res);
}
}

View file

@ -0,0 +1,275 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Ablia - Statistiche 4.0.0</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- Bootstrap 3.3.5 -->
<link rel="stylesheet" href="http://www.ablia.net/admin/_V4/_lte/bootstrap/css/bootstrap.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<!-- Ionicons -->
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
<!-- Theme style -->
<link rel="stylesheet" href="http://www.ablia.net/admin/_V4/_lte/dist/css/AdminLTE.min.css">
<!-- AdminLTE Skins. Choose a skin from the css/skins
folder instead of downloading all of them to reduce the load. -->
<link rel="stylesheet" href="http://www.ablia.net/admin/_V4/_lte/dist/css/skins/_all-skins.min.css">
<!-- ablia -->
<link rel="stylesheet" href="http://www.ablia.net/admin/_V4/_lte/_css/abliaLte.css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<jsp:useBean id="msg" class="java.lang.String" type="java.lang.String" scope="request" >
</jsp:useBean>
<jsp:useBean id="stats" scope="request" class="com.ablia.servlet.AcServletStats" type="com.ablia.servlet.AcServletStats">
</jsp:useBean>
<jsp:useBean id="cPools" class="com.ablia.util.Vectumerator" type="com.ablia.util.Vectumerator" scope="request" >
</jsp:useBean>
</head>
<!-- ADD THE CLASS layout-top-nav TO REMOVE THE SIDEBAR. -->
<body class="hold-transition skin-blue layout-top-nav">
<div class="wrapper">
<header class="main-header">
<nav class="navbar navbar-static-top">
<div class="container">
<div class="navbar-header"> <a href="www.ablia.com" class="navbar-brand"><b>Ablia S.r.l.</b></a> </div>
<span class="titolo-applicazione hidden-xs pull-right"> Stats 4.0.0</span> </div>
<!-- /.container-fluid -->
</nav>
</header>
<!-- Full Width Column -->
<div class="content-wrapper">
<div class="container">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1> Web Application Stats </h1>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-lg-12">
<div class="box box-dettaglio table-responsive">
<div class="box-body">
<table class="table table-bordered table-hover table-striped dataTable">
<tr >
<td colspan="3"><strong>Stats Ver. 4.0.0 - <%=com.ablia.db.DBAdapter.getVersion()%></strong></td>
</tr>
<tr>
<td ><b>Start time:</b></td>
<td colspan="2"><%= stats.getStartTime() %></td>
</tr>
<tr>
<td><b>Current time:</b></td>
<td colspan="2"><%= stats.getCurrentTime() %></td>
</tr>
<tr>
<td><b>Uptime:</b></td>
<td colspan="2"><%= stats.getUptime() %></td>
</tr>
<tr>
<td><strong>Memory</strong><b>:</b></td>
<td colspan="2"><%= stats.getMemory() %></td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-xs-6"><a class="btn btn-block btn-primary" href="javascript:refresh();">Refresh</a></div>
<div class="col-lg-3 col-xs-6"><a class="btn btn-block btn-primary" href="javascript:gc();">Garbage Collection</a></div>
<div class="col-lg-3 col-xs-6"><a class="btn btn-block btn-primary" href="javascript:ru();">Reset used connection</a></div>
<div class="col-lg-3 col-xs-6"><a class="btn btn-block btn-primary" href="javascript:rh();">Reset all hashtables</a></div>
</div>
<div class="row">
<div class="col-lg-12">
&nbsp;.
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="box box-dettaglio table-responsive">
<div class="box-body">
<table class="table table-bordered table-hover table-striped dataTable">
<thead> <tr align="center" class="evidence-bg">
<th colspan="6" class="evidence"><strong>Hit WebApp </strong></th>
</tr>
<tr class="evidence-bg">
<th><strong>WebApp</strong></th>
<th ><strong>N. Hits </strong></th>
<th ><strong>Hits/min</strong></th>
<th ><strong>Last <%=com.ablia.servlet.AcServletStats.RUNTIME_HITS%><br>
Hits/min </strong></th>
<th><strong>MAX Last <%=com.ablia.servlet.AcServletStats.RUNTIME_HITS%><br>
Hits/min </strong></th>
<th ><strong>Last <%=com.ablia.servlet.AcServletStats.RUNTIME_HITS%><br>
Hits/min Timestamp</strong></th>
</tr>
</thead>
<%
com.ablia.servlet.AcServletContextInfo sci;
java.util.Enumeration enu=stats.getScInfo();
while (enu.hasMoreElements())
{
sci=(com.ablia.servlet.AcServletContextInfo) enu.nextElement();
%>
<tr >
<td ><%=sci.getName()%></td>
<td colspan="-1" ><%=sci.getTotalHits()%></td>
<td ><%=sci.getHitsMinute(stats.getUptimeMinute())%></td>
<td ><%=sci.getHitsMinuteRT()%></td>
<td ><%=sci.getHitsMinuteRTMax()%></td>
<td ><%=sci.getHitsMinuteRTMaxTmst()%></td>
</tr>
<%}%>
<tr class="riga3" >
<td ><strong>TOTALS</strong></td>
<td colspan="-1" ><strong><%= stats.getTotalHits() %></strong></td>
<td ><strong><%= stats.getTotalHitsMean() %></strong></td>
<td ><strong><%= stats.getTotalHitsMeanRT() %></strong></td>
<td ><strong><%= stats.getTotalHitsMeanRTMax() %></strong></td>
<td ><strong><%= stats.getTotalHitsMeanRTMaxTmst() %></strong></td>
</tr>
<tr class="riga3" >
<td colspan="6" ><% if(!msg.isEmpty()){%><div class="alert alert-warning alert-dismissable"><%=msg%></div><%}%>&ensp;</td>
</tr>
</table>
</div></div></div></div>
<div class="row">
<div class="col-lg-12">
<div class="box box-dettaglio table-responsive">
<div class="box-body">
<table class="table table-bordered table-hover table-striped dataTable">
<thead>
<tr align="center" class="evidence-bg">
<td colspan="2" class="evidence"><strong>Connection Pools Stats </strong></td>
</tr>
<tr class="riga2" >
<th ><strong>DB<br>
(free,used,init,max,timeout,life time)<br>
connection </strong></th>
<th ><strong>F/U#Con.Numb. Conn. Uptime Timestamp--&gt;hits</strong></th>
</tr>
</thead>
<%
com.ablia.db.ConnectionPool cp;
while (cPools.hasMoreElements())
{
cp=(com.ablia.db.ConnectionPool) cPools.nextElement();
%>
<tr >
<td class="td-colored"><%= cp.getAp().getDatabase() %> <br>
(<%= cp.getFreeCons() %>,<%= cp.getUsedCons() %>,<%= cp.getAp().getInitialCons() %>,<%= cp.getAp().getMaxCons() %>,<%= cp.getAp().getTimeout() %>,<%= cp.getAp().getConnectionLifeTime() %>)</td>
<td ><%= cp.getAp().getConnectionsCreateTs() %></td>
</tr>
<%
}
%>
</table>
</div>
</div>
</div>
</div>
<!-- /.box -->
</section>
<!-- /.content -->
</div>
<!-- /.container -->
</div>
<!-- /.content-wrapper -->
<footer class="main-footer">
<div class="container">
<div class="pull-right hidden-xs">
<b>Version</b> 4.0.0
</div>
<strong>Copyright &copy; 2003-2016 <a href="http://www.ablia.com">Ablia S.r.l.</a></strong></div>
<!-- /.container -->
</footer>
</div>
<script language="JavaScript" type="text/javascript">
function refresh()
{
var f= document.menu;
f.act.value="";
f.wa.value="";
f.waName.value="";
f.submit();
}
function gc()
{
var f= document.menu;
f.act.value="gc";
f.wa.value="";
f.waName.value="";
f.submit();
}
function rh()
{
if(confirm("Le Hash table verranno resettate. Sei sicuro?"))
{
var f= document.menu;
f.act.value="rh";
f.wa.value="";
f.waName.value="";
f.submit();
}
}
function ru()
{
if(confirm("Le connessioni usate verranno resettate. Sei sicuro?"))
{
var f= document.menu;
f.act.value="ru";
f.wa.value="";
f.waName.value="";
f.submit();
}
}
function rhO(key,name)
{
var f= document.menu;
f.act.value="ro";
f.wa.value=key;
f.waName.value=name;
f.submit();
}
</script>
<form name="menu" method="post" >
<input name="cmd" type="hidden" value="ab-status">
<input type="hidden" name="act">
<input type="hidden" name="wa">
<input type="hidden" name="waName">
</form>
<!-- jQuery 2.1.4 -->
<script src="http://www.ablia.net/admin/_V4/_lte/plugins/jQuery/jQuery-2.1.4.min.js"></script>
<!-- Bootstrap 3.3.5 -->
<script src="http://www.ablia.net/admin/_V4/_lte/bootstrap/js/bootstrap.min.js"></script>
<!-- SlimScroll -->
<script src="http://www.ablia.net/admin/_V4/_lte/plugins/slimScroll/jquery.slimscroll.min.js"></script>
<!-- FastClick -->
<script src="http://www.ablia.net/admin/_V4/_lte/plugins/fastclick/fastclick.min.js"></script>
<!-- AdminLTE App -->
<script src="http://www.ablia.net/admin/_V4/_lte/dist/js/app.min.js"></script>
<!-- AdminLTE for demo purposes -->
<script src="http://www.ablia.net/admin/_V4/_lte/dist/js/demo.js"></script>
</body>
</html>