Author: EvaV Date: 2010-02-15 17:23:41 +0100 (Mon, 15 Feb 2010) New Revision: 1735 Modified: trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/impl/LayoutWorkerImpl.java trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/impl/UnlockLayourWorkerImpl.java trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/servlet/applet/LayoutLockingServlet.java trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/servlet/applet/LoadLayoutByIDServlet.java Log: Modified: trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/impl/LayoutWorkerImpl.java =================================================================== --- trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/impl/LayoutWorkerImpl.java 2010-02-15 15:29:01 UTC (rev 1734) +++ trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/impl/LayoutWorkerImpl.java 2010-02-15 16:23:41 UTC (rev 1735) @@ -85,6 +85,7 @@ return str; } + @Override public cz.elvys.webServer.HIBgen.Layout getLayout(Integer layoutID) throws Exception { // get Hib layout from DB Modified: trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/impl/UnlockLayourWorkerImpl.java =================================================================== --- trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/impl/UnlockLayourWorkerImpl.java 2010-02-15 15:29:01 UTC (rev 1734) +++ trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/impl/UnlockLayourWorkerImpl.java 2010-02-15 16:23:41 UTC (rev 1735) @@ -1,18 +1,55 @@ package cz.elvys.dispatcher.impl; +import org.apache.log4j.Logger; + +import cz.elvys.commons.utils.HibUtils; import cz.elvys.dispatcher.api.LayoutWorker; import cz.elvys.dispatcher.api.UnlockLayoutWorker; +import cz.elvys.webServer.HIBgen.User; public class UnlockLayourWorkerImpl implements UnlockLayoutWorker { - + + // fields + private static Logger log; + + private static final String COULDNT_SAVE_INTO_DB = "Couldn't save hibernate object into DB"; + public void setLayoutIsLocked(boolean isLocked, Integer layoutID, Integer companyID, Integer userID) throws Exception { - - LayoutWorker worker = ServletLogicFactory.getInstance().getLayoutWorker(); - String layout = worker.getLayoutXML(layoutID); - // TODO - tohle volani nechceme - ServletLogicFactory.getInstance().getLayoutStorageWorker().storeLayout(layout, companyID, userID, isLocked); + lockLayout(layoutID, companyID, userID, isLocked); } + private int lockLayout(Integer layoutID, Integer companyID, Integer userID, + boolean setLocked) throws Exception { + + LayoutWorker worker = ServletLogicFactory.getInstance() + .getLayoutWorker(); + cz.elvys.webServer.HIBgen.Layout layout = worker.getLayout(layoutID); + + if (setLocked) { + User user = (User) HibUtils.findByID(User.class, userID); + layout.setUserByLastLockUser(user); + + java.util.Date now = new java.util.Date(); + java.sql.Date sqlNow = new java.sql.Date(now.getTime()); + layout.setLastLockTime(sqlNow); + } else { + layout.setUserByLastLockUser(null); + layout.setLastLockTime(null); + } + layout.setLocked(setLocked); + + // store layout into DB + int resultID = -1; + try { + resultID = ServletLogicFactory.getInstance() + .getLayoutStorageWorker().storeHIB(layout); + } catch (Exception e) { + String message = COULDNT_SAVE_INTO_DB; + throw new Exception(message, e); + } + return resultID; + } + } Modified: trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/servlet/applet/LayoutLockingServlet.java =================================================================== --- trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/servlet/applet/LayoutLockingServlet.java 2010-02-15 15:29:01 UTC (rev 1734) +++ trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/servlet/applet/LayoutLockingServlet.java 2010-02-15 16:23:41 UTC (rev 1735) @@ -28,6 +28,7 @@ private static final String LOCK = "lock"; private static final String UNLOCK = "unlock"; private static final String LOCKED_BY_ME ="lockedByMe"; + private static final String IS_LAYOUT_LOCKED="isLocked"; private static final String IS_LOCKED = "locked"; private static final String ISNT_LOCKED = "notLocked"; @@ -124,7 +125,34 @@ writer.close(); } + else if(type.equals(IS_LAYOUT_LOCKED)) { + LayoutWorker worker = ServletLogicFactory.getInstance().getLayoutWorker(); + + boolean isLocked = false; + try { + isLocked = worker.isLayoutLocked(layoutID); + } catch (Exception e) { + throw new ServletException("",e); + } + + // write it to the output + resp.setContentType(responseContentType); + PrintWriter writer = resp.getWriter(); + if(isLocked) { + try { + writer.write(IS_LOCKED + " " + worker.whoLockedLayout(layoutID)); + } catch (Exception e) { + e.printStackTrace(); + } + } + else { + writer.write(ISNT_LOCKED); + } + } + + } + } Modified: trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/servlet/applet/LoadLayoutByIDServlet.java =================================================================== --- trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/servlet/applet/LoadLayoutByIDServlet.java 2010-02-15 15:29:01 UTC (rev 1734) +++ trunk/server/dispatcher/JavaSource/cz/elvys/dispatcher/servlet/applet/LoadLayoutByIDServlet.java 2010-02-15 16:23:41 UTC (rev 1735) @@ -61,10 +61,10 @@ String layout; LayoutWorker worker = ServletLogicFactory.getInstance().getLayoutWorker(); - boolean isLocked = false; + //boolean isLocked = false; try { layout = getLayoutFromDB(layoutID, companyID); - isLocked = worker.isLayoutLocked(layoutID); + //isLocked = worker.isLayoutLocked(layoutID); } catch (Exception e) { String message = CommonUtils.prepareErrorMessage(COULDNT_GET_LAYOUT, "layoutID", layoutID, "companyID", companyID); @@ -75,16 +75,16 @@ // write it to the output resp.setContentType(responseContentType); PrintWriter writer = resp.getWriter(); - if(isLocked) { - try { - writer.write(IS_LOCKED + " " + worker.whoLockedLayout(layoutID)); - } catch (Exception e) { - e.printStackTrace(); - } - } - else { + //if(isLocked) { + //try { + // writer.write(IS_LOCKED + " " + worker.whoLockedLayout(layoutID)); + //} catch (Exception e) { + // e.printStackTrace(); + //} + //} + //else { writer.write(layout); - } + //} writer.close(); }