Author: glandais Date: 2008-02-06 17:12:28 +0000 (Wed, 06 Feb 2008) New Revision: 697 Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementExport.java trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Login.java trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/UserEdit.java trunk/simexplorer-is-web/src/main/webapp/Login.tml trunk/simexplorer-is-web/src/main/webapp/UserEdit.tml trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app_fr.properties Log: Attachment handling & User security Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementExport.java =================================================================== --- trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementExport.java 2008-02-06 17:11:57 UTC (rev 696) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementExport.java 2008-02-06 17:12:28 UTC (rev 697) @@ -113,19 +113,30 @@ * @return the object */ public Object onDownloadFile(String context) { - StreamResponse response; + StreamResponse response = null; try { StringTokenizer st = new StringTokenizer(context, ","); String uuid = st.nextToken(); String version = st.nextToken(); - String fileName = st.nextToken(); + String attachmentUniqueId = st.nextToken(); - RemoteInputStream ris = RemoteStorageService.getStorageService() - .retrieveData(getToken(), uuid, version, fileName); - InputStream stream = RemoteInputStreamClient.wrap(ris); + MetaData metadata = RemoteStorageService.getStorageService() + .getMetadata(getToken(), uuid, version); + List<Attachment> attachments = metadata.getAttachments(); + for (Attachment attachment : attachments) { + if (attachment.getUniqueId().equals(attachmentUniqueId)) { + RemoteInputStream ris = RemoteStorageService + .getStorageService().retrieveData(getToken(), uuid, + version, attachment); + InputStream stream = RemoteInputStreamClient.wrap(ris); - response = new AttachmentStreamResponse(stream, fileName); + response = new AttachmentStreamResponse(stream, attachment + .getFileName()); + return response; + } + } + } catch (Exception e) { throw new SimExplorerWebException(e); } Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java =================================================================== --- trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java 2008-02-06 17:11:57 UTC (rev 696) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java 2008-02-06 17:12:28 UTC (rev 697) @@ -36,6 +36,7 @@ import fr.cemagref.simexplorer.is.entities.data.ExplorationApplication; import fr.cemagref.simexplorer.is.entities.data.ExplorationData; import fr.cemagref.simexplorer.is.entities.data.Library; +import fr.cemagref.simexplorer.is.entities.metadata.Version; import fr.cemagref.simexplorer.is.factories.BaseEntityFactory; import fr.cemagref.simexplorer.is.factories.XmlConstants; import fr.cemagref.simexplorer.is.service.ElementGenerator; @@ -80,18 +81,18 @@ parentEa = elementGenerator.generateRandomEA(); int v = 2 + r.nextInt(5); + Version version = new Version(parentEa.getMetaData().getVersion().toString()); - for (int j = 0; j < v; j++) { + for (int j = 0; j < v; j++) { ExplorationApplication ea = elementGenerator .generateRandomEA(); ea.getMetaData().setUuid(parentEa.getMetaData().getUuid()); - ea.getMetaData().setVersion( - parentEa.getMetaData().getVersion().toString()); + + version = version.incVersion(r.nextInt(3)); + ea.getMetaData().setVersion(version.toString()); - ea.getMetaData().getVersion().incVersion(r.nextInt(3)); + Map<Attachment, RemoteInputStream> attachments = new HashMap<Attachment, RemoteInputStream>(); - Map<String, RemoteInputStream> attachments = new HashMap<String, RemoteInputStream>(); - List<Attachment> attachmentsKeys = new ArrayList<Attachment>(); attachmentsKeys.addAll(ea.getMetaData().getAttachments()); @@ -117,8 +118,7 @@ attachment.setDataHash(randomStream.getMd5()); RemoteInputStreamServer remoteStream = new SimpleRemoteInputStream( randomStream.getStream()); - attachments.put(attachment.getUniqueId(), remoteStream - .export()); + attachments.put(attachment, remoteStream.export()); } InputStream xmlStream = BaseEntityFactory.getFactory( Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Login.java =================================================================== --- trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Login.java 2008-02-06 17:11:57 UTC (rev 696) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Login.java 2008-02-06 17:12:28 UTC (rev 697) @@ -42,6 +42,12 @@ /** The password. */ private String password; + /** The login. */ + private String login; + + /** The mail. */ + private String mail; + /** The element list. */ @InjectPage private ElementList elementList; @@ -56,22 +62,22 @@ /** The form. */ @Component - private Form form; + private Form formLogin; /** * On success. * * @return the object */ - public Object onSuccess() { + public Object onSuccessFromFormLogin() { try { token = RemoteSecurityService.getAuthentificationService() .loginUser(user, password); - System.out.println(token); if (token != null && !token.equals("")) { return elementList; } - form.recordError(messages.get("simexplorer.ui.web.login.invalid")); + formLogin.recordError(messages + .get("simexplorer.ui.web.login.invalid")); return this; } catch (SimExplorerServiceException e) { throw new SimExplorerWebException(e); @@ -79,6 +85,21 @@ } /** + * On success from form request account. + * + * @return the object + */ + public Object onSuccessFromFormRequestAccount() { + try { + RemoteSecurityService.getAuthentificationService().requestAccount( + login, mail); + } catch (SimExplorerServiceException e) { + throw new SimExplorerWebException(e); + } + return this; + } + + /** * Gets the user. * * @return the user @@ -134,4 +155,42 @@ return messages.get("simexplorer.ui.web.title.login"); } + /** + * Gets the login. + * + * @return the login + */ + public String getLogin() { + return login; + } + + /** + * Sets the login. + * + * @param login + * the new login + */ + public void setLogin(String login) { + this.login = login; + } + + /** + * Gets the mail. + * + * @return the mail + */ + public String getMail() { + return mail; + } + + /** + * Sets the mail. + * + * @param mail + * the new mail + */ + public void setMail(String mail) { + this.mail = mail; + } + } Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/UserEdit.java =================================================================== --- trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/UserEdit.java 2008-02-06 17:11:57 UTC (rev 696) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/UserEdit.java 2008-02-06 17:12:28 UTC (rev 697) @@ -136,11 +136,10 @@ if (user.getId() == null) { user = RemoteSecurityService.getAuthentificationService() .saveUser(getToken(), user.getLogin(), user.getMail()); - } else { - user = RemoteSecurityService.getAuthentificationService() - .updateUser(getToken(), user); + return this; } - + user = RemoteSecurityService.getAuthentificationService() + .updateUser(getToken(), user); Integer[] groupsIds = new Integer[groupsOfUser.size()]; int i = 0; for (Group group : groupsOfUser) { @@ -149,11 +148,11 @@ } RemoteSecurityService.getAuthentificationService().setGroupsOfUser( getToken(), user, groupsIds); + return userList; + } catch (SimExplorerServiceException e) { throw new SimExplorerWebException(e); } - - return userList; } /** @@ -219,6 +218,21 @@ } /** + * On action from reset password. + * + * @return the object + */ + public Object onActionFromResetPassword() { + try { + RemoteSecurityService.getAuthentificationService().resetPassword( + getToken(), user.getLogin()); + return this; + } catch (SimExplorerServiceException e) { + throw new SimExplorerWebException(e); + } + } + + /** * Gets the user list. * * @return the user list Modified: trunk/simexplorer-is-web/src/main/webapp/Login.tml =================================================================== --- trunk/simexplorer-is-web/src/main/webapp/Login.tml 2008-02-06 17:11:57 UTC (rev 696) +++ trunk/simexplorer-is-web/src/main/webapp/Login.tml 2008-02-06 17:12:28 UTC (rev 697) @@ -3,7 +3,7 @@ <h1 class="Title">${windowtitle}</h1> - <t:form> + <t:form t:id="formLogin"> <t:errors /> @@ -16,6 +16,21 @@ t:validate="required,minlength=1" t:value="password" size="30" /> <br /> <input t:type="Submit" t:value="${message:simexplorer.ui.web.login}" /> + </t:form> + <t:form t:id="formRequestAccount"> + <div t:type="t5components/SlidingPanel" closed="true" + subject="${message:simexplorer.ui.web.login.requestaccount}"> + ${message:simexplorer.ui.web.login} : <input t:type="TextField" + t:id="loginField" t:validate="required,minlength=1" t:value="login" + size="30" /> <br /> + ${message:simexplorer.ui.web.mail} : <input t:type="TextField" + t:id="mailField" t:validate="required,minlength=1" t:value="mail" + size="30" /> <br /> + <input t:type="Submit" + t:value="${message:simexplorer.ui.web.login.requestaccount}" /></div> + </t:form> + + </t:layout> Modified: trunk/simexplorer-is-web/src/main/webapp/UserEdit.tml =================================================================== --- trunk/simexplorer-is-web/src/main/webapp/UserEdit.tml 2008-02-06 17:11:57 UTC (rev 696) +++ trunk/simexplorer-is-web/src/main/webapp/UserEdit.tml 2008-02-06 17:12:28 UTC (rev 697) @@ -15,29 +15,31 @@ <p><t:label for="mail" />: <input t:type="TextField" t:id="mail" t:validate="required,minlength=4" t:value="user.mail" size="40" /></p> - <p><t:label for="isAdmin" />: <input t:type="checkbox" - t:id="isAdmin" t:value="user.admin" /></p> + <t:if test="creating" negate="true"> + <p><t:label for="isAdmin" />: <input t:type="checkbox" + t:id="isAdmin" t:value="user.admin" /></p> - <p><t:label for="isSuperAdmin" />: <input t:type="checkbox" - t:id="isSuperAdmin" t:value="user.superAdmin" /></p> + <p><t:label for="isSuperAdmin" />: <input t:type="checkbox" + t:id="isSuperAdmin" t:value="user.superAdmin" /></p> - <p>${message:simexplorer.ui.web.password} : <a t:type="ActionLink" - t:id="resetPassword" t:context="user.id">${message:simexplorer.ui.web.resetPassword}</a> - </p> + <p>${message:simexplorer.ui.web.password} : <a + t:type="ActionLink" t:id="resetPassword">${message:simexplorer.ui.web.resetPassword}</a> + </p> - <p>${message:simexplorer.ui.web.memberOf} : <input - t:type="Palette" model="groups" selected="groupsOfUser" - encoder="groupEncoder" /></p> + <p>${message:simexplorer.ui.web.memberOf} : <input + t:type="Palette" model="groups" selected="groupsOfUser" + encoder="groupEncoder" /></p> - <p>${message:simexplorer.ui.web.ownerOf} : - <table t:type="Grid" source="ownedGroups" row="group" - model="groupModel"> - <t:parameter name="empty"> + <p>${message:simexplorer.ui.web.ownerOf} : + <table t:type="Grid" source="ownedGroups" row="group" + model="groupModel"> + <t:parameter name="empty"> ${message:simexplorer.ui.web.none} </t:parameter> - </table> - </p> + </table> + </p> + </t:if> <input t:type="Submit" t:value="${message:simexplorer.ui.web.submit}" /> <a t:type="actionlink" t:id="cancel">${message:simexplorer.ui.web.cancel}</a> Modified: trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties =================================================================== --- trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties 2008-02-06 17:11:57 UTC (rev 696) +++ trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties 2008-02-06 17:12:28 UTC (rev 697) @@ -66,6 +66,9 @@ simexplorer.ui.web.layout.install=Generate data +simexplorer.ui.web.login.invalid=Invalid login +simexplorer.ui.web.login.requestaccount=Request account + simexplorer.ui.web.back=Back simexplorer.ui.web.cancel=Cancel simexplorer.ui.web.confirm=Confirm Modified: trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app_fr.properties =================================================================== --- trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app_fr.properties 2008-02-06 17:11:57 UTC (rev 696) +++ trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app_fr.properties 2008-02-06 17:12:28 UTC (rev 697) @@ -67,6 +67,7 @@ simexplorer.ui.web.layout.install=Générer des données simexplorer.ui.web.login.invalid=Echec de la connexion +simexplorer.ui.web.login.requestaccount=Ouvrir un compte simexplorer.ui.web.back=Retour simexplorer.ui.web.cancel=Annuler
participants (1)
-
glandais@users.labs.libre-entreprise.org