[Suiviobsmer-commits] r507 - in trunk: wao-business/src/main/java/fr/ifremer/wao/bean wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/java/fr/ifremer/wao/io wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/xmi wao-business/src/test/java/fr/ifremer/wao/entity wao-business/src/test/java/fr/ifremer/wao/service wao-ui/src/main/java/fr/ifremer/wao/ui/base wao-ui/src/main/java/fr/ifremer/wao/ui/components wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/ja
Author: fdesbois Date: 2010-06-11 14:51:13 +0000 (Fri, 11 Jun 2010) New Revision: 507 Log: Evo #2325 : Add ConnectedUser bean to separate connection context from WaoUser entity Added: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/io/ContactInput.java trunk/wao-business/src/main/java/fr/ifremer/wao/io/SamplingExport.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-business/src/test/java/fr/ifremer/wao/entity/WaoUserImplTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/BoatActivityCalendar.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Connexion.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/AppModule.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/RequiresAuthenticationFilter.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ServiceAuthentication.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ServiceAuthenticationImpl.java trunk/wao-ui/src/main/webapp/SampleRowHistoric.tml trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/AbstractApplicationTest.java trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/pages/AdministrationTest.java trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/pages/ConnectionTest.java trunk/wao-ui/src/test/resources/log4j.properties Added: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java (rev 0) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java 2010-06-11 14:51:13 UTC (rev 507) @@ -0,0 +1,41 @@ +package fr.ifremer.wao.bean; + +import fr.ifremer.wao.entity.Company; + +/** + * Created: 11 juin 2010 + * + * @author fdesbois <fdesbois at codelutin.com> + * @version $Id$ + */ +public class ConnectedUserImpl extends ConnectedUser { + + @Override + public boolean isAdmin() { + return role.equals(UserRole.ADMIN); + } + + @Override + public boolean isGuest() { + return role.equals(UserRole.GUEST); + } + + @Override + public boolean isReadOnly() { + return user.isReadOnly(role); + } + @Override + public String getFullName() { + return user.getFullName(); + } + + @Override + public String getLogin() { + return user.getLogin(); + } + + @Override + public Company getCompany() { + return user.getCompany(); + } +} Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2010-06-11 14:51:13 UTC (rev 507) @@ -338,7 +338,7 @@ TopiaContext transaction = null; try { WaoUser author = rowLog.getAuthor(); - if (log.isInfoEnabled()) { + if (log.isInfoEnabled()) { log.info("W:[ saveSampleRowLog ] : " + "authorName = " + author.getFullName() + " _ authorRole = " + author.getUserRoles()); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2010-06-11 14:51:13 UTC (rev 507) @@ -50,8 +50,6 @@ protected boolean passwordChanged; - protected UserRole currentRole; - /** * Return the fullName of the user, i.e. fisrtName + lastName. * @return a String for the user fullName @@ -149,12 +147,8 @@ // Just apply a soustraction to remove the role int newCode = getRole() - role.toInt(); setRole(newCode); - - // Apply same change on readOnly if defined - if (isReadOnly(current)) { - int newReadOnly = getRoleReadOnly() - role.toInt(); - setRoleReadOnly(newReadOnly); - } + // Update the readOnly to false (will check if operation is needed) + updateReadOnly(role, false); return true; } } @@ -162,36 +156,6 @@ } @Override - public UserRole getCurrentRole() { - return currentRole; - } - - @Override - public boolean setCurrentRole(UserRole role) { - if (hasUserRole(role)) { - this.currentRole = role; - return true; - } - return false; - } - - @Override - public boolean isAdmin() { - return currentRole.equals(UserRole.ADMIN); - } - - @Override - public boolean isGuest() { - return currentRole.equals(UserRole.GUEST); - } - - @Override - public boolean isCurrentReadOnly() { - boolean result = isReadOnly(currentRole); - return result; - } - - @Override public boolean isReadOnly(UserRole role) { boolean result = role.isSelected(getRoleReadOnly()); return result; Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/ContactInput.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/io/ContactInput.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/ContactInput.java 2010-06-11 14:51:13 UTC (rev 507) @@ -33,7 +33,7 @@ protected int rowNumber; - protected WaoUser creator; + protected ConnectedUser creator; protected Company company; @@ -48,7 +48,7 @@ * @param creator of the contact * @param rowNumber in the input file */ - public void initialize(TopiaContext transaction, WaoUser creator, + public void initialize(TopiaContext transaction, ConnectedUser creator, int rowNumber) { this.transaction = transaction; this.rowNumber = rowNumber; @@ -60,7 +60,7 @@ * * @return the WaoUser creator of the contact. */ - public WaoUser getCreator() { + public ConnectedUser getCreator() { return creator; } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/SamplingExport.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/io/SamplingExport.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/SamplingExport.java 2010-06-11 14:51:13 UTC (rev 507) @@ -26,6 +26,7 @@ package fr.ifremer.wao.io; import com.csvreader.CsvWriter; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.entity.SampleMonth; import fr.ifremer.wao.entity.SampleRow; import fr.ifremer.wao.entity.WaoUser; @@ -49,7 +50,7 @@ private static final Logger log = LoggerFactory.getLogger(SamplingExport.class); - protected WaoUser user; + protected ConnectedUser user; protected List<String> monthHeaders; @@ -65,7 +66,7 @@ * @param monthHeaders String values of months to put in header row * @throws IOException */ - public SamplingExport(CsvWriter writer, WaoUser user, List<String> monthHeaders) throws IOException { + public SamplingExport(CsvWriter writer, ConnectedUser user, List<String> monthHeaders) throws IOException { super(writer, SAMPLING.getTotalHeaders() + monthHeaders.size()); this.monthHeaders = monthHeaders; this.user = user; Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2010-06-11 14:51:13 UTC (rev 507) @@ -29,6 +29,7 @@ import com.csvreader.CsvWriter; import fr.ifremer.wao.*; import fr.ifremer.wao.WaoBusinessException.Type; +import fr.ifremer.wao.bean.ConnectedUser; import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaQuery; import org.nuiton.topia.framework.TopiaQuery.Op; @@ -541,7 +542,7 @@ @Override public ActivityCalendar executeGetLastActivityCalendar( TopiaContext transaction, List<Object> errorArgs, - WaoUser user, Boat boat) throws TopiaException, IOException { + ConnectedUser user, Boat boat) throws TopiaException, IOException { errorArgs.add(boat.getName()); errorArgs.add(boat.getImmatriculation()); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-06-11 14:51:13 UTC (rev 507) @@ -38,6 +38,7 @@ import java.util.Map; import com.csvreader.CsvReader; import com.csvreader.CsvWriter; +import fr.ifremer.wao.bean.ConnectedUser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.nuiton.topia.TopiaContext; @@ -130,19 +131,6 @@ ContactDAO dao = WaoDAOHelper.getContactDAO(transaction); -// TopiaQuery query = dao.createQuery("C").addDistinct(); -// -// query = filter.prepareQueryForContact(query); -// -// query.addOrderDesc("C." + TopiaEntity.TOPIA_CREATE_DATE). -// addLoad(Contact.OBSERVER + "." + WaoUser.COMPANY); -// -// if (log.isDebugEnabled()) { -// log.debug("Query : " + query); -// } -// -// query.addLoad(Contact.SAMPLE_ROW + "." + SampleRow.SAMPLE_MONTH); - // Use QueryBuilder to apply filter TopiaQuery query = new WaoQueryBuilder(Contact.class). applyContactFilter(filter). @@ -166,10 +154,6 @@ ContactFilter filter) throws TopiaException { ContactDAO dao = WaoDAOHelper.getContactDAO(transaction); -// TopiaQuery query = dao.createQuery("C"); -// query = filter.prepareQueryForContact(query); -// -// return query.executeCount(); TopiaQuery query = new WaoQueryBuilder(Contact.class). applyContactFilter(filter). @@ -445,7 +429,7 @@ @Override public ImportResults executeImportContactCsv(TopiaContext transaction, - WaoUser user, InputStream input) + ConnectedUser user, InputStream input) throws TopiaException, IOException, WaoBusinessException, ParseException { Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-06-11 14:51:13 UTC (rev 507) @@ -28,6 +28,7 @@ import com.csvreader.CsvReader; import com.csvreader.CsvWriter; import fr.ifremer.wao.*; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.io.ImportHelper; import fr.ifremer.wao.WaoBusinessException.Type; import fr.ifremer.wao.bean.FacadeRow; @@ -450,7 +451,7 @@ @Override public SampleRow executeGetSampleRowByCode(TopiaContext transaction, - List<Object> errorArgs, WaoUser user, String sampleRowCode) + List<Object> errorArgs, ConnectedUser user, String sampleRowCode) throws TopiaException, WaoBusinessException { errorArgs.add(sampleRowCode); @@ -460,7 +461,7 @@ TopiaQuery query = dao.createQuery(). addEquals(SampleRow.CODE, sampleRowCode); - if (!user.isAdmin()) { + if (!user.isAdmin() && !user.isGuest()) { query.addEquals(SampleRow.COMPANY, user.getCompany()); } @@ -581,7 +582,7 @@ @Override public InputStream executeExportSamplingPlanCsv(TopiaContext transaction, - List<Object> errorArgs, WaoUser user, SamplingFilter filter) + List<Object> errorArgs, ConnectedUser user, SamplingFilter filter) throws Exception { CsvWriter writer = null; try { Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-06-11 14:51:13 UTC (rev 507) @@ -31,6 +31,8 @@ import fr.ifremer.wao.WaoDAOHelper; import fr.ifremer.wao.WaoException; import fr.ifremer.wao.WaoProperty; +import fr.ifremer.wao.bean.ConnectedUser; +import fr.ifremer.wao.bean.ConnectedUserImpl; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.Company; import fr.ifremer.wao.entity.CompanyDAO; @@ -86,7 +88,7 @@ } @Override - public WaoUser executeConnect(TopiaContext transaction, + public ConnectedUser executeConnect(TopiaContext transaction, String login, String password, UserRole role) throws TopiaException, WaoBusinessException { @@ -97,13 +99,17 @@ WaoUser.LOGIN, login, WaoUser.PASSWORD, passwordEncoded); + ConnectedUser result = null; + if (user != null && user.getActive()) { // load company entity user.getCompany(); if (user.hasUserRole(role)) { - // Associate the connection role to the user - user.setCurrentRole(role); + // Instantiate the connected user + result = new ConnectedUserImpl(); + result.setUser(user); + result.setRole(role); } else { throw new WaoBusinessException(Type.ILLEGAL_CONNECTION, this.getClass(), @@ -121,7 +127,7 @@ "Mot de passe incorrect, veuillez réessayer."); } - return user; + return result; } @Override Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/WaoUserImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/WaoUserImplTest.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/WaoUserImplTest.java 2010-06-11 14:51:13 UTC (rev 507) @@ -61,17 +61,17 @@ Assert.assertEquals(10, user.getRole()); } - @Test - public void testCurrentRole() { - - WaoUser user = new WaoUserImpl(); - user.addUserRole(UserRole.OBSERVER, true); - - boolean result = user.setCurrentRole(UserRole.OBSERVER); - Assert.assertTrue(result); - Assert.assertTrue(user.isCurrentReadOnly()); - - result = user.setCurrentRole(UserRole.ADMIN); - Assert.assertFalse(result); - } +// @Test +// public void testCurrentRole() { +// +// WaoUser user = new WaoUserImpl(); +// user.addUserRole(UserRole.OBSERVER, true); +// +// boolean result = user.setCurrentRole(UserRole.OBSERVER); +// Assert.assertTrue(result); +// Assert.assertTrue(user.isCurrentReadOnly()); +// +// result = user.setCurrentRole(UserRole.ADMIN); +// Assert.assertFalse(result); +// } } Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2010-06-11 14:51:13 UTC (rev 507) @@ -32,6 +32,8 @@ import fr.ifremer.wao.TestManager; import fr.ifremer.wao.bean.BoatFilter; import fr.ifremer.wao.bean.CompanyBoatInfos; +import fr.ifremer.wao.bean.ConnectedUser; +import fr.ifremer.wao.bean.ConnectedUserImpl; import fr.ifremer.wao.bean.ContactState; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.*; @@ -375,12 +377,15 @@ // Evo #2063 : the defaut instanciation of WaoUser doesn't put the // user automatically as an non admin user.addUserRole(UserRole.OBSERVER, false); - user.setCurrentRole(UserRole.OBSERVER); Company company = new CompanyImpl(); company.setName("TARTANPION"); user.setCompany(company); + + ConnectedUser connectedUser = new ConnectedUserImpl(); + connectedUser.setUser(user); + connectedUser.setRole(UserRole.OBSERVER); - ActivityCalendar result = service.getLastActivityCalendar(user, boat); + ActivityCalendar result = service.getLastActivityCalendar(connectedUser, boat); Assert.assertNotNull(result); Assert.assertEquals(2009, result.getYear()); Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java 2010-06-11 14:51:13 UTC (rev 507) @@ -5,6 +5,7 @@ import fr.ifremer.wao.TestManager; import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoDAOHelper; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.ContactState; import fr.ifremer.wao.bean.ImportResults; import fr.ifremer.wao.bean.UserRole; @@ -101,7 +102,7 @@ @Mock protected Contact contactReference; @Mock - protected WaoUser creator; + protected ConnectedUser creator; @Mock protected CsvReader reader; @@ -398,7 +399,7 @@ SampleMonthDAO dao = WaoDAOHelper.getSampleMonthDAO(transaction); TopiaQuery query = dao.createQuery(); - query.add(SampleMonth.PERIOD_DATE, DateUtils.createDate(1, 4, 2010)); + query.addEquals(SampleMonth.PERIOD_DATE, DateUtils.createDate(1, 4, 2010)); SampleMonth month = dao.findByQuery(query); Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-06-11 14:51:13 UTC (rev 507) @@ -26,6 +26,7 @@ package fr.ifremer.wao.ui.base; import fr.ifremer.wao.WaoException; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.SamplingFilter; import fr.ifremer.wao.entity.Company; import fr.ifremer.wao.entity.SampleRow; @@ -34,9 +35,6 @@ import fr.ifremer.wao.service.ServiceReferential; import fr.ifremer.wao.service.ServiceSampling; import fr.ifremer.wao.service.ServiceUser; -import java.util.ArrayList; -import java.util.List; - import fr.ifremer.wao.ui.data.GenericSelectModel; import org.apache.tapestry5.OptionModel; import org.apache.tapestry5.SelectModel; @@ -49,6 +47,9 @@ import org.apache.tapestry5.ioc.services.PropertyAccess; import org.slf4j.Logger; +import java.util.ArrayList; +import java.util.List; + /** * AbstractFilteredPage * @@ -60,7 +61,7 @@ * Known implementations are {@link fr.ifremer.wao.ui.pages.Synthesis } * and {@link fr.ifremer.wao.ui.pages.Contacts } * - * You must override the three abstract methods and call {@link #initFilter() } + * You must override the three abstract methods and call {@link #initSelectFilters(boolean, boolean, boolean)} () } * in the setupRender of the page. * <pre> * - BoatName uses an Autocomplete mixins : @@ -88,7 +89,7 @@ private Logger log; @SessionState - private WaoUser user; + private ConnectedUser user; @Inject private PropertyAccess propertyAccess; @@ -286,7 +287,7 @@ /** * Get select model for companies. Depends on - * {@link #getAvailableDataForFiltersOnly() } to return only activated + * {@link #isAvailableDataForFiltersOnly()} () } to return only activated * companies. This select model is only used by admin users. * * @return the GenericSelectModel<Company> for companies @@ -303,7 +304,7 @@ /** * Get the select model for observers. Depends on - * {@link #getAvailableDataForFiltersOnly() } to return only activated + * {@link #isAvailableDataForFiltersOnly() } to return only activated * companies. * * @return the GenericSelectModel<WaoUser> for observers Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java 2010-06-11 14:51:13 UTC (rev 507) @@ -26,21 +26,19 @@ package fr.ifremer.wao.ui.components; import fr.ifremer.wao.WaoProperty; -import fr.ifremer.wao.bean.UserRole; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.ui.pages.Index; import fr.ifremer.wao.ui.services.ServiceAuthentication; import fr.ifremer.wao.ui.services.WaoManager; import org.apache.tapestry5.BindingConstants; import org.apache.tapestry5.annotations.InjectComponent; -import org.apache.tapestry5.annotations.InjectContainer; import org.apache.tapestry5.annotations.Log; import org.apache.tapestry5.annotations.Parameter; import org.apache.tapestry5.annotations.Property; import org.apache.tapestry5.ioc.Messages; import org.apache.tapestry5.ioc.annotations.Inject; import org.apache.tapestry5.services.Request; -import org.nuiton.util.StringUtil; import org.slf4j.Logger; /** @@ -112,7 +110,7 @@ * contributeApplicationStateManager(MappedConfiguration) */ public boolean isCurrentUserExists() { - return serviceAuthentication.isUserConnected(); + return serviceAuthentication.existConnectedUser(); } public String getContextPath() { @@ -123,8 +121,8 @@ return WaoProperty.APP_VERSION.getValue(); } - public WaoUser getCurrentUser() { - return serviceAuthentication.getUserConnected(); + public ConnectedUser getCurrentUser() { + return serviceAuthentication.getConnectedUser(); } public FeedBack getFeedBack() { @@ -156,8 +154,8 @@ } public String getAccessText() { - String text = getCurrentUser().getCurrentRole().getLabel(); - if (getCurrentUser().isCurrentReadOnly()) { + String text = getCurrentUser().getRole().getLabel(); + if (getCurrentUser().isReadOnly()) { text += " lecture seule"; } return text; @@ -198,7 +196,7 @@ @Log Object onActionFromExit() { - serviceAuthentication.setUserConnected(null); + serviceAuthentication.setConnectedUser(null); request.getSession(false).invalidate(); return Index.class; } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/BoatActivityCalendar.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/BoatActivityCalendar.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/BoatActivityCalendar.java 2010-06-11 14:51:13 UTC (rev 507) @@ -27,6 +27,7 @@ import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoException; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.ActivityCalendar; import fr.ifremer.wao.entity.ActivityMonth; @@ -70,7 +71,7 @@ private ServiceBoat serviceBoat; @SessionState - private WaoUser user; + private ConnectedUser user; private ActivityCalendar activityCalendar; Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2010-06-11 14:51:13 UTC (rev 507) @@ -98,7 +98,7 @@ @SessionState @Property - private WaoUser user; + private ConnectedUser user; @Inject private ServiceReferential serviceReferential; @@ -197,7 +197,7 @@ protected static final String GZIP_MIMETYPE = "application/x-gzip"; public boolean canImportReferentials() { - return user.isAdmin() && !user.isCurrentReadOnly(); + return user.isAdmin() && !user.isReadOnly(); } @Log @@ -521,7 +521,7 @@ } public boolean canCreateNewContactFromList() throws WaoException { - if (!user.isAdmin() && !user.isCurrentReadOnly() && isSampleRowExists()) { + if (!user.isAdmin() && !user.isReadOnly() && isSampleRowExists()) { return boat.canCreateContact(user.getCompany()); } return false; @@ -723,7 +723,7 @@ } public boolean canCreateNewContactFromElligibleBoat() throws WaoException { - if (!user.isAdmin() && !user.isCurrentReadOnly() && + if (!user.isAdmin() && !user.isReadOnly() && !isElligibleBoatCompanyActiveFalse()) { Boat currentBoat = getBoatInfos().getBoat(); return currentBoat.canCreateContact(user.getCompany()); @@ -744,7 +744,7 @@ * @return true if BoatInfos can be edited */ public boolean canEditBoatInfos() { - return !user.isCurrentReadOnly(); + return !user.isReadOnly(); } void onSuccess() throws WaoException { Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Connexion.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Connexion.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Connexion.java 2010-06-11 14:51:13 UTC (rev 507) @@ -4,10 +4,12 @@ import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoBusinessException.Type; import fr.ifremer.wao.WaoException; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.service.ServiceUser; import fr.ifremer.wao.ui.components.FeedBack; +import fr.ifremer.wao.ui.services.ServiceAuthentication; import org.apache.tapestry5.EventContext; import org.apache.tapestry5.Link; import org.apache.tapestry5.OptionModel; @@ -52,14 +54,11 @@ private ServiceUser serviceUser; @Inject + private ServiceAuthentication serviceAuthentication; + + @Inject private PageRenderLinkSource pageRender; - /** - * Objet de session représentant l'utilisateur identifié - */ - @SessionState - private WaoUser currentUser; - @InjectComponent private FeedBack connexionFeedback; @@ -157,10 +156,12 @@ logger.debug("Role : " + userRole); } if (login != null && password != null && userRole != null) { - currentUser = serviceUser.connect(login, password, userRole); + ConnectedUser user = serviceUser.connect(login, password, userRole); + // Authenticate the user in appropriate service + serviceAuthentication.setConnectedUser(user); if (logger.isDebugEnabled()) { logger.debug("User connected : " + - currentUser.getFullName()); + user.getFullName()); } } } catch (WaoBusinessException eee) { Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-06-11 14:51:13 UTC (rev 507) @@ -27,6 +27,7 @@ import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoException; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.ContactFilter; import fr.ifremer.wao.bean.ContactFilterImpl; import fr.ifremer.wao.bean.ContactState; @@ -93,7 +94,7 @@ @SessionState @Property - private WaoUser user; + private ConnectedUser user; @Inject private ServiceContact serviceContact; @@ -205,8 +206,8 @@ */ public boolean canImportExport() { return (user.isAdmin() || - user.getCurrentRole().equals(UserRole.COORDINATOR)) && - !user.isCurrentReadOnly(); + user.getRole().equals(UserRole.COORDINATOR)) && + !user.isReadOnly(); } @Log @@ -400,7 +401,7 @@ public boolean hasActions() { return !user.isAdmin() && contact.getValidationCompany() == null - && !user.isCurrentReadOnly(); + && !user.isReadOnly(); } /** @@ -411,8 +412,8 @@ */ public boolean hasValidationActions() { return (user.isAdmin() || - user.getCurrentRole().equals(UserRole.COORDINATOR)) && - !user.isCurrentReadOnly(); + user.getRole().equals(UserRole.COORDINATOR)) && + !user.isReadOnly(); } public boolean canValidate() { @@ -420,7 +421,7 @@ if (isEditionMode()) { return false; } - switch (user.getCurrentRole()) { + switch (user.getRole()) { case ADMIN: return contact.getValidationProgram() == null && BooleanUtils.isTrue(contact.getValidationCompany()); @@ -439,7 +440,7 @@ } public boolean canUnvalidate() { - switch (user.getCurrentRole()) { + switch (user.getRole()) { case ADMIN: return contact.getValidationProgram() != null; // Evo #2063 : only coordinator can unvalidate @@ -696,7 +697,7 @@ } public void createNewContact(Boat boat, SampleRow sampleRow) throws WaoException { - contact = serviceContact.getNewContact(user, sampleRow, boat); + contact = serviceContact.getNewContact(user.getUser(), sampleRow, boat); // Check boat not null and validation for create the new contact if (boat != null && boat.canCreateContact(user.getCompany())) { serviceContact.saveContact(contact, Boolean.FALSE); Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java 2010-06-11 14:51:13 UTC (rev 507) @@ -26,15 +26,11 @@ package fr.ifremer.wao.ui.pages; import fr.ifremer.wao.WaoException; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.entity.News; import fr.ifremer.wao.entity.NewsImpl; -import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.service.ServiceNews; import fr.ifremer.wao.ui.data.RequiresAuthentication; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.List; import org.apache.tapestry5.Asset2; import org.apache.tapestry5.PersistenceConstants; import org.apache.tapestry5.annotations.IncludeStylesheet; @@ -46,6 +42,11 @@ import org.apache.tapestry5.ioc.annotations.Inject; import org.slf4j.Logger; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + /** * Index * @@ -65,7 +66,7 @@ @SessionState @Property - private WaoUser user; + private ConnectedUser user; @Persist private List<News> newsList; @@ -113,7 +114,7 @@ } public boolean canEditNews() { - return user.isAdmin() && !user.isCurrentReadOnly(); + return user.isAdmin() && !user.isReadOnly(); } public boolean isEditionMode() { Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java 2010-06-11 14:51:13 UTC (rev 507) @@ -27,6 +27,7 @@ import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoException; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.SampleRow; import fr.ifremer.wao.entity.SampleRowLog; @@ -62,7 +63,7 @@ private Logger log; @SessionState - private WaoUser user; + private ConnectedUser user; @InjectComponent private Layout layout; @@ -143,16 +144,22 @@ return styleClass; } + public boolean isAdminAuthor() { + // Note : maybe problematic way if admin role is removed from user + // Maybe need add admin field in sampleRowLog + return sampleRowLog.getAuthor().hasUserRole(UserRole.ADMIN); + } + public SampleRowLog getNewLog() throws WaoBusinessException { if (newLog == null) { - newLog = getSampleRow().getNewSampleRowLog(user); + newLog = getSampleRow().getNewSampleRowLog(user.getUser()); } return newLog; } public boolean canAddComment() { - return user.getCurrentRole().equals(UserRole.COORDINATOR) && - !user.isCurrentReadOnly(); + return user.getRole().equals(UserRole.COORDINATOR) && + !user.isReadOnly(); } public void onSuccessFromAddComment() throws WaoException { Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-06-11 14:51:13 UTC (rev 507) @@ -86,7 +86,7 @@ @SessionState @Property - private WaoUser user; + private ConnectedUser user; private long nbTidesExpectedTime; @@ -121,7 +121,7 @@ private UploadedFile samplingPlanCsvFile; public boolean canImportSamplingPlan() { - return user.isAdmin() && !user.isCurrentReadOnly(); + return user.isAdmin() && !user.isReadOnly(); } @Log @@ -466,7 +466,7 @@ * @return true if the sampleRow can be edited. */ public boolean canEditSampleRow() { - return user.isAdmin() && !user.isCurrentReadOnly(); + return user.isAdmin() && !user.isReadOnly(); } /** Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2010-06-11 14:51:13 UTC (rev 507) @@ -80,7 +80,7 @@ @SessionState @Property - private WaoUser user; + private ConnectedUser user; @Persist private SynthesisId activeSynthesis; Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/AppModule.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/AppModule.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/AppModule.java 2010-06-11 14:51:13 UTC (rev 507) @@ -26,10 +26,21 @@ package fr.ifremer.wao.ui.services; import fr.ifremer.wao.WaoContextImpl; -import fr.ifremer.wao.entity.WaoUser; -import fr.ifremer.wao.service.*; - -import java.io.IOException; +import fr.ifremer.wao.bean.ConnectedUser; +import fr.ifremer.wao.service.ServiceBoat; +import fr.ifremer.wao.service.ServiceBoatImpl; +import fr.ifremer.wao.service.ServiceContact; +import fr.ifremer.wao.service.ServiceContactImpl; +import fr.ifremer.wao.service.ServiceNews; +import fr.ifremer.wao.service.ServiceNewsImpl; +import fr.ifremer.wao.service.ServiceReferential; +import fr.ifremer.wao.service.ServiceReferentialImpl; +import fr.ifremer.wao.service.ServiceSampling; +import fr.ifremer.wao.service.ServiceSamplingImpl; +import fr.ifremer.wao.service.ServiceSynthesis; +import fr.ifremer.wao.service.ServiceSynthesisImpl; +import fr.ifremer.wao.service.ServiceUser; +import fr.ifremer.wao.service.ServiceUserImpl; import org.apache.tapestry5.SymbolConstants; import org.apache.tapestry5.ioc.MappedConfiguration; import org.apache.tapestry5.ioc.OrderedConfiguration; @@ -47,6 +58,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; + /** * This module is automatically included as part of the Tapestry IoC Registry, * it's a good place to configure and extend Tapestry, or to place your own @@ -227,15 +240,15 @@ public void contributeApplicationStateManager(MappedConfiguration<Class<?>, ApplicationStateContribution> configuration, final ServiceAuthentication serviceAuthentication) { - ApplicationStateCreator<WaoUser> creator = - new ApplicationStateCreator<WaoUser>() { + ApplicationStateCreator<ConnectedUser> creator = + new ApplicationStateCreator<ConnectedUser>() { @Override - public WaoUser create() { + public ConnectedUser create() { return serviceAuthentication.getNewUserInstance(); } }; - configuration.add(WaoUser.class, + configuration.add(ConnectedUser.class, new ApplicationStateContribution("session", creator)); } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/RequiresAuthenticationFilter.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/RequiresAuthenticationFilter.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/RequiresAuthenticationFilter.java 2010-06-11 14:51:13 UTC (rev 507) @@ -1,14 +1,9 @@ package fr.ifremer.wao.ui.services; -import fr.ifremer.wao.entity.WaoUser; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.ui.data.RequiresAuthentication; import fr.ifremer.wao.ui.pages.Connexion; import fr.ifremer.wao.ui.pages.Unavailable; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - import org.apache.tapestry5.EventContext; import org.apache.tapestry5.Link; import org.apache.tapestry5.runtime.Component; @@ -22,6 +17,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * RequiresLoginFilter * @@ -123,7 +123,7 @@ logger.trace("RequiresLogin annotation : " + page.getClass().isAnnotationPresent(RequiresAuthentication.class)); logger.trace("User in session : " + - serviceAuthentication.isUserConnected()); + serviceAuthentication.existConnectedUser()); logger.trace("Activation context : " + Arrays.toString(context)); } @@ -133,11 +133,11 @@ Class<?> redirectPage = Connexion.class; - if (serviceAuthentication.isUserConnected()) { - WaoUser user = serviceAuthentication.getUserConnected(); + if (serviceAuthentication.existConnectedUser()) { + ConnectedUser user = serviceAuthentication.getConnectedUser(); if (logger.isTraceEnabled()) { logger.trace("User connected : " + user); - logger.trace("User role : " + user.getCurrentRole()); + logger.trace("User role : " + user.getRole()); logger.trace("User allowed : " + serviceAuthentication.isAllowed(page.getClass())); } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ServiceAuthentication.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ServiceAuthentication.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ServiceAuthentication.java 2010-06-11 14:51:13 UTC (rev 507) @@ -1,6 +1,7 @@ package fr.ifremer.wao.ui.services; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.entity.WaoUser; /** @@ -13,14 +14,14 @@ */ public interface ServiceAuthentication { - boolean isUserConnected(); + boolean existConnectedUser(); - WaoUser getUserConnected(); + ConnectedUser getConnectedUser(); - void setUserConnected(WaoUser user); + void setConnectedUser(ConnectedUser user); boolean isAllowed(Class<?> page); - WaoUser getNewUserInstance(); + ConnectedUser getNewUserInstance(); } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ServiceAuthenticationImpl.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ServiceAuthenticationImpl.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ServiceAuthenticationImpl.java 2010-06-11 14:51:13 UTC (rev 507) @@ -1,9 +1,9 @@ package fr.ifremer.wao.ui.services; +import fr.ifremer.wao.bean.ConnectedUser; +import fr.ifremer.wao.bean.ConnectedUserImpl; import fr.ifremer.wao.bean.UserRole; -import fr.ifremer.wao.entity.WaoUser; -import fr.ifremer.wao.entity.WaoUserImpl; import fr.ifremer.wao.ui.data.RequiresAuthentication; import org.apache.tapestry5.services.ApplicationStateManager; @@ -24,38 +24,38 @@ } @Override - public boolean isUserConnected() { - return stateManager.exists(WaoUser.class); + public boolean existConnectedUser() { + return stateManager.exists(ConnectedUser.class); } @Override - public WaoUser getUserConnected() { - return stateManager.getIfExists(WaoUser.class); + public ConnectedUser getConnectedUser() { + return stateManager.getIfExists(ConnectedUser.class); } @Override - public void setUserConnected(WaoUser user) { - stateManager.set(WaoUser.class, user); + public void setConnectedUser(ConnectedUser user) { + stateManager.set(ConnectedUser.class, user); } @Override public boolean isAllowed(Class<?> page) { if (page.isAnnotationPresent(RequiresAuthentication.class) && - isUserConnected()) { + existConnectedUser()) { RequiresAuthentication check = page.getAnnotation(RequiresAuthentication.class); - WaoUser user = getUserConnected(); + ConnectedUser user = getConnectedUser(); // Check if user readOnly is allowed - if (user.isCurrentReadOnly() && !check.readOnlyAllowed()) { + if (user.isReadOnly() && !check.readOnlyAllowed()) { return false; } // Check if user role is allowed for (UserRole role : check.value()) { - if (role.equals(user.getCurrentRole())) { + if (role.equals(user.getRole())) { return true; } } @@ -66,8 +66,8 @@ } @Override - public WaoUser getNewUserInstance() { - return new WaoUserImpl(); + public ConnectedUser getNewUserInstance() { + return new ConnectedUserImpl(); } } Modified: trunk/wao-ui/src/main/webapp/SampleRowHistoric.tml =================================================================== --- trunk/wao-ui/src/main/webapp/SampleRowHistoric.tml 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/main/webapp/SampleRowHistoric.tml 2010-06-11 14:51:13 UTC (rev 507) @@ -51,7 +51,7 @@ </t:if> <div class="so-samplerow-log" t:type="loop" t:source="sampleRow.sampleRowLog" t:value="sampleRowLog"> <p class="${logStyle}"> - <t:if t:test="sampleRowLog.author.admin"> + <t:if t:test="adminAuthor"> Modification du <p:else>Commentaire ajouté le</p:else> </t:if> Modified: trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/AbstractApplicationTest.java =================================================================== --- trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/AbstractApplicationTest.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/AbstractApplicationTest.java 2010-06-11 14:51:13 UTC (rev 507) @@ -26,6 +26,7 @@ import com.formos.tapestry.testify.core.TapestryTester; import com.formos.tapestry.testify.junit4.TapestryTest; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.Company; import fr.ifremer.wao.entity.WaoUser; @@ -64,7 +65,7 @@ } @Mock - protected WaoUser user; + protected ConnectedUser user; @Inject private ApplicationStateManager stateManager; @@ -75,10 +76,10 @@ when(user.getFullName()).thenReturn("Jean Michmuche"); when(user.isAdmin()).thenReturn(false); - when(user.getCurrentRole()).thenReturn(UserRole.OBSERVER); + when(user.getRole()).thenReturn(UserRole.OBSERVER); when(user.getCompany()).thenReturn(company); if (contributeSession) { - stateManager.set(WaoUser.class, user); + stateManager.set(ConnectedUser.class, user); } } @@ -88,7 +89,7 @@ when(user.getFullName()).thenReturn("Super Admin"); when(user.isAdmin()).thenReturn(true); - when(user.getCurrentRole()).thenReturn(UserRole.ADMIN); + when(user.getRole()).thenReturn(UserRole.ADMIN); when(user.getCompany()).thenReturn(company); } } Modified: trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/pages/AdministrationTest.java =================================================================== --- trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/pages/AdministrationTest.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/pages/AdministrationTest.java 2010-06-11 14:51:13 UTC (rev 507) @@ -28,15 +28,13 @@ prepareObserverUser(true); - // Administration page is broken + Document page = tester.renderPage("administration"); + // User not allowed will be redirect on Unavailable page + Element main = page.getElementById("so-unavailable"); + Assert.assertNotNull(main); -// Document page = tester.renderPage("administration"); -// // User not allowed will be redirect on Unavailable page -// Element main = page.getElementById("so-unavailable"); -// Assert.assertNotNull(main); -// -// if (logger.isDebugEnabled()) { -// logger.debug("Page content : " + main); -// } + if (logger.isDebugEnabled()) { + logger.debug("Page content : " + main); + } } } Modified: trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/pages/ConnectionTest.java =================================================================== --- trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/pages/ConnectionTest.java 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/test/java/test/fr/ifremer/wao/ui/pages/ConnectionTest.java 2010-06-11 14:51:13 UTC (rev 507) @@ -28,12 +28,15 @@ import com.formos.tapestry.testify.core.ForComponents; import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoException; +import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.News; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.service.ServiceNews; import fr.ifremer.wao.service.ServiceUser; import java.util.ArrayList; + +import fr.ifremer.wao.ui.services.ServiceAuthentication; import test.fr.ifremer.wao.ui.AbstractApplicationTest; import java.util.HashMap; import java.util.Map; @@ -67,16 +70,21 @@ @Inject private ApplicationStateManager stateManager; + @Inject + private ServiceAuthentication serviceAuthentication; + @Test public void testObserverSession() throws WaoException, WaoBusinessException { logger.info("## testObserverSession"); prepareObserverUser(true); - WaoUser sso = stateManager.getIfExists(WaoUser.class); + ConnectedUser sso = stateManager.getIfExists(ConnectedUser.class); Assert.assertNotNull(sso); Assert.assertFalse(sso.isAdmin()); + Assert.assertTrue(serviceAuthentication.existConnectedUser()); + Document page = tester.renderPage("index"); Element main = page.getElementById("so-news"); if (logger.isInfoEnabled()) { Modified: trunk/wao-ui/src/test/resources/log4j.properties =================================================================== --- trunk/wao-ui/src/test/resources/log4j.properties 2010-06-11 12:38:37 UTC (rev 506) +++ trunk/wao-ui/src/test/resources/log4j.properties 2010-06-11 14:51:13 UTC (rev 507) @@ -8,4 +8,4 @@ log4j.appender.console.Threshold=DEBUG log4j.logger.test.fr.ifremer.wao=DEBUG -log4j.logger.fr.ifremer.wao=DEBUG +log4j.logger.fr.ifremer.wao=TRACE
participants (1)
-
fdesbois@users.labs.libre-entreprise.org