From 17ad00f6d92b4ea430addd34fb82663102ec0964 Mon Sep 17 00:00:00 2001 From: Nils Christian Ehmke <nie@informatik.uni-kiel.de> Date: Thu, 1 Nov 2012 20:11:09 +0100 Subject: [PATCH] Refactoring --- Kieker.WebGUI/nb-configuration.xml | 6 +- .../kieker/webgui/common/IUserManager.java | 40 ---- .../webgui/common/converter/package-info.java | 21 --- .../webgui/common/impl/UserManagerImpl.java | 175 ------------------ .../java/kieker/webgui/domain/Project.java | 40 ++++ .../kieker/webgui/persistence/IUserDAO.java | 10 +- .../persistence/impl/DerbyUserDAOImpl.java | 60 +++--- .../kieker/webgui/service/IUserService.java | 24 +++ .../webgui/service/impl/UserServiceImpl.java | 69 ++++++- .../application/GlobalPropertiesBean.java | 2 +- .../beans/application/ProjectsBean.java | 4 +- .../beans/application/ThemeSwitcherBean.java | 2 +- .../beans/application/package-info.java | 2 +- .../{ => web}/beans/request/NewUserBean.java | 2 +- .../{ => web}/beans/request/StringBean.java | 2 +- .../{ => web}/beans/request/package-info.java | 2 +- .../{ => web}/beans/session/UserBean.java | 4 +- .../{ => web}/beans/session/package-info.java | 2 +- .../beans/view/CurrentAnalysisEditorBean.java | 8 +- .../view/CurrentAnalysisEditorGraphBean.java | 2 +- .../beans/view/CurrentCockpitBean.java | 6 +- .../beans/view/CurrentCockpitEditorBean.java | 6 +- .../beans/view/CurrentControllerBean.java | 4 +- .../view/CurrentProjectOverviewBean.java | 4 +- .../beans/view/CurrentUserManagementBean.java | 22 +-- .../{ => web}/beans/view/package-info.java | 2 +- .../converter/RoleStringConverter.java | 2 +- .../impl => web/converter}/package-info.java | 2 +- .../lang/ProjectOverviewPage_de.properties | 5 +- .../lang/ProjectOverviewPage_en.properties | 1 + .../webapp/WEB-INF/spring-bean-config.xml | 34 ++-- .../webapp/pages/ProjectOverviewPage.xhtml | 10 +- 32 files changed, 241 insertions(+), 334 deletions(-) delete mode 100644 Kieker.WebGUI/src/main/java/kieker/webgui/common/IUserManager.java delete mode 100644 Kieker.WebGUI/src/main/java/kieker/webgui/common/converter/package-info.java delete mode 100644 Kieker.WebGUI/src/main/java/kieker/webgui/common/impl/UserManagerImpl.java rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/application/GlobalPropertiesBean.java (99%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/application/ProjectsBean.java (98%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/application/ThemeSwitcherBean.java (97%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/application/package-info.java (95%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/request/NewUserBean.java (98%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/request/StringBean.java (98%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/request/package-info.java (95%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/session/UserBean.java (98%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/session/package-info.java (95%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/view/CurrentAnalysisEditorBean.java (99%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/view/CurrentAnalysisEditorGraphBean.java (99%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/view/CurrentCockpitBean.java (97%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/view/CurrentCockpitEditorBean.java (99%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/view/CurrentControllerBean.java (99%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/view/CurrentProjectOverviewBean.java (96%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/view/CurrentUserManagementBean.java (85%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{ => web}/beans/view/package-info.java (95%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{common => web}/converter/RoleStringConverter.java (97%) rename Kieker.WebGUI/src/main/java/kieker/webgui/{common/impl => web/converter}/package-info.java (95%) diff --git a/Kieker.WebGUI/nb-configuration.xml b/Kieker.WebGUI/nb-configuration.xml index 508f207d..e226fa62 100644 --- a/Kieker.WebGUI/nb-configuration.xml +++ b/Kieker.WebGUI/nb-configuration.xml @@ -21,10 +21,10 @@ Any value defined here will override the pom.xml file value but is only applicab </properties> <spring-data xmlns="http://www.netbeans.org/ns/spring-data/1"> <config-files> - <config-file>src/main/webapp/WEB-INF/spring-config.xml</config-file> - <config-file>src/main/webapp/WEB-INF/spring-security-taglib.xml</config-file> - <config-file>src/main/webapp/WEB-INF/spring-database-config.xml</config-file> <config-file>src/main/webapp/WEB-INF/spring-bean-config.xml</config-file> + <config-file>src/main/webapp/WEB-INF/spring-common-config.xml</config-file> + <config-file>src/main/webapp/WEB-INF/spring-database-config.xml</config-file> + <config-file>src/main/webapp/WEB-INF/spring-security-config.xml</config-file> </config-files> <config-file-groups/> </spring-data> diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/IUserManager.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/IUserManager.java deleted file mode 100644 index 827e6858..00000000 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/IUserManager.java +++ /dev/null @@ -1,40 +0,0 @@ -/*************************************************************************** - * Copyright 2012 Kieker Project (http://kieker-monitoring.net) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - ***************************************************************************/ - -package kieker.webgui.common; - -import java.util.List; - -import org.springframework.security.access.prepost.PreAuthorize; - -import kieker.webgui.domain.User; -import kieker.webgui.domain.User.Role; - -public interface IUserManager { - - @PreAuthorize("hasRole('ROLE_ADMIN')") - public void addUser(final String username, final String password, final List<Role> roles); - - @PreAuthorize("hasRole('ROLE_ADMIN')") - public void removeUser(final String username); - - @PreAuthorize("hasRole('ROLE_ADMIN')") - public void editUser(final String username, final String password, final Role... roles); - - @PreAuthorize("hasRole('ROLE_ADMIN')") - public List<User> getUsers(); - -} diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/converter/package-info.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/converter/package-info.java deleted file mode 100644 index 7d66d449..00000000 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/converter/package-info.java +++ /dev/null @@ -1,21 +0,0 @@ -/*************************************************************************** - * Copyright 2012 Kieker Project (http://kieker-monitoring.net) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - ***************************************************************************/ - -/** - * @author Nils Christian Ehmke - * - */ -package kieker.webgui.common.converter; \ No newline at end of file diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/impl/UserManagerImpl.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/impl/UserManagerImpl.java deleted file mode 100644 index d737a4b3..00000000 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/impl/UserManagerImpl.java +++ /dev/null @@ -1,175 +0,0 @@ -/*************************************************************************** - * Copyright 2012 Kieker Project (http://kieker-monitoring.net) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - ***************************************************************************/ - -package kieker.webgui.common.impl; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -import javax.sql.DataSource; - -import org.springframework.security.access.prepost.PreAuthorize; - -import kieker.common.logging.Log; -import kieker.common.logging.LogFactory; -import kieker.webgui.common.IUserManager; -import kieker.webgui.domain.User; -import kieker.webgui.domain.User.Role; - -public class UserManagerImpl implements IUserManager { - - private static final Log LOG = LogFactory.getLog(UserManagerImpl.class); - private DataSource dataSource; - private Connection connection; - - /** - * Default constructor. <b>Do not use this constructor. This bean is Spring managed.</b> - */ - public UserManagerImpl() { - // No code necessary - } - - /** - * This method initializes the object.. <b>Do not call this method manually. It will only be accessed by Spring.</b> - */ - public void initialize() { - try { - this.connection = this.dataSource.getConnection(); - } catch (final SQLException ex) { - UserManagerImpl.LOG.error("Could not establish database connection.", ex); - } - } - - public void destroy() { - try { - this.connection.close(); - } catch (final SQLException ex) { - UserManagerImpl.LOG.error("Could not close database connection.", ex); - } - } - - public void setDataSource(final DataSource dataSource) { - this.dataSource = dataSource; - } - - @Override - @PreAuthorize("hasRole('ROLE_ADMIN')") - public void addUser(final String username, final String password, final List<Role> roles) { - PreparedStatement userCmd = null; - PreparedStatement roleCmd = null; - try { - userCmd = this.connection.prepareStatement("INSERT INTO KIEKERUser (name, password, enabled) VALUES (?, ?, True)"); - roleCmd = this.connection.prepareStatement("INSERT INTO Userroles (name, role) VALUES (?, ?)"); - - userCmd.setString(1, username); - userCmd.setString(2, password); - userCmd.execute(); - - roleCmd.setString(1, username); - for (final Role role : roles) { - roleCmd.setInt(2, role.getID()); - roleCmd.execute(); - } - } catch (final SQLException ex) { - UserManagerImpl.LOG.error("Could not add user to the database.", ex); - } finally { - if (userCmd != null) { - try { - userCmd.close(); - } catch (final SQLException ex) { - UserManagerImpl.LOG.error("Could not close prepared statement.", ex); - } - } - if (roleCmd != null) { - try { - roleCmd.close(); - } catch (final SQLException ex) { - UserManagerImpl.LOG.error("Could not close prepared statement.", ex); - } - } - } - } - - @Override - @PreAuthorize("hasRole('ROLE_ADMIN')") - public void removeUser(final String username) { - // TODO Auto-generated method stub - - } - - @Override - @PreAuthorize("hasRole('ROLE_ADMIN')") - public void editUser(final String username, final String password, final Role... roles) { - // TODO Auto-generated method stub - - } - - @Override - @PreAuthorize("hasRole('ROLE_ADMIN')") - public List<User> getUsers() { - // FIXME Users without roles - final List<User> result = new ArrayList<User>(); - ResultSet queryResult = null; - - try { - final Map<String, User> tempMap = new TreeMap<String, User>(); - - final PreparedStatement getQuery = this.connection - .prepareStatement("select u.name, ur.role, u.enabled from KIEKERUser u, Userroles ur where u.name=ur.name"); - - // Run through all results - queryResult = getQuery.executeQuery(); - while (queryResult.next()) { - // Get both the username and the role from the current entry - final String username = queryResult.getString(1); - final int roleID = queryResult.getInt(2); - final Role role = Role.fromID(roleID); - final boolean enabled = queryResult.getBoolean(3); - - // If the user doesn't exist in our map yet, add him. - // In each case we add the role to the user - if (tempMap.containsKey(username)) { - tempMap.get(username).getRoles().add(role); - } else { - final List<Role> roles = new ArrayList<Role>(); - roles.add(role); - tempMap.put(username, new User(username, null, roles, enabled)); - } - } - - // Now convert the map to the list - result.addAll(tempMap.values()); - } catch (final SQLException ex) { - UserManagerImpl.LOG.error("Could not receive user list.", ex); - } finally { - try { - if (queryResult != null) { - queryResult.close(); - } - } catch (final SQLException ex) { - UserManagerImpl.LOG.error("Could not close query result.", ex); - } - } - - return result; - } -} diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/domain/Project.java b/Kieker.WebGUI/src/main/java/kieker/webgui/domain/Project.java index 2c5d9f06..dd2002f4 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/domain/Project.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/domain/Project.java @@ -22,6 +22,8 @@ import kieker.analysis.model.analysisMetaModel.MIProject; */ public class Project { + private String owner; + private String lastEditor; private MIProject projectInstance; public Project(final MIProject projectInstace) { @@ -47,4 +49,42 @@ public class Project { this.projectInstance = projectInstance; } + /** + * Getter for the property {@link Project#owner}. + * + * @return The current value of the property. + */ + public String getOwner() { + return this.owner; + } + + /** + * Setter for the property {@link Project#owner}. + * + * @param owner + * The new value of the property. + */ + public void setOwner(final String owner) { + this.owner = owner; + } + + /** + * Getter for the property {@link Project#lastEditor}. + * + * @return The current value of the property. + */ + public String getLastEditor() { + return this.lastEditor; + } + + /** + * Setter for the property {@link Project#lastEditor}. + * + * @param lastEditor + * The new value of the property. + */ + public void setLastEditor(final String lastEditor) { + this.lastEditor = lastEditor; + } + } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/IUserDAO.java b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/IUserDAO.java index f4d6748e..f641af29 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/IUserDAO.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/IUserDAO.java @@ -22,7 +22,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import kieker.webgui.domain.User; -import kieker.webgui.common.exception.DataAccessException; +import kieker.webgui.domain.User.Role; /** * @@ -33,18 +33,18 @@ public interface IUserDAO { @PreAuthorize("hasRole('ROLE_ADMIN')") @Transactional - public void addUser(final User user) throws DataAccessException; + public void addUser(final String username, final String password, final List<Role> roles); @PreAuthorize("hasRole('ROLE_ADMIN')") @Transactional - public void editUser(final User user) throws DataAccessException; + public void removeUser(final String username); @PreAuthorize("hasRole('ROLE_ADMIN')") @Transactional - public void deleteUser(final User user) throws DataAccessException; + public void editUser(final String username, final String password, final Role... roles); @PreAuthorize("hasRole('ROLE_ADMIN')") @Transactional - public List<User> getUsers() throws DataAccessException; + public List<User> getUsers(); } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/DerbyUserDAOImpl.java b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/DerbyUserDAOImpl.java index 6c49c87d..f11448d0 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/DerbyUserDAOImpl.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/DerbyUserDAOImpl.java @@ -31,7 +31,6 @@ import org.springframework.security.access.prepost.PreAuthorize; import kieker.common.logging.Log; import kieker.common.logging.LogFactory; -import kieker.webgui.common.exception.DataAccessException; import kieker.webgui.domain.User; import kieker.webgui.domain.User.Role; import kieker.webgui.persistence.IUserDAO; @@ -46,51 +45,61 @@ public class DerbyUserDAOImpl implements IUserDAO { private DataSource dataSource; private Connection connection; - public void initialize() throws Exception { - this.connection = this.dataSource.getConnection(); - } - - public void destroy() throws Exception { - this.connection.close(); + /** + * Default constructor. <b>Do not use this constructor. This bean is Spring managed.</b> + */ + public DerbyUserDAOImpl() { + // No code necessary } /** - * Setter for the property {@link DerbyUserDAO#dataSource}. - * - * @param dataSource - * The new value of the property. + * This method initializes the object.. <b>Do not call this method manually. It will only be accessed by Spring.</b> */ + public void initialize() { + try { + this.connection = this.dataSource.getConnection(); + } catch (final SQLException ex) { + DerbyUserDAOImpl.LOG.error("Could not establish database connection.", ex); + } + } + + public void destroy() { + try { + this.connection.close(); + } catch (final SQLException ex) { + DerbyUserDAOImpl.LOG.error("Could not close database connection.", ex); + } + } + public void setDataSource(final DataSource dataSource) { this.dataSource = dataSource; } @Override @PreAuthorize("hasRole('ROLE_ADMIN')") - public void addUser(final User user) throws DataAccessException { + public void addUser(final String username, final String password, final List<Role> roles) { PreparedStatement userCmd = null; PreparedStatement roleCmd = null; try { - userCmd = this.connection.prepareStatement("INSERT INTO KIEKERUser (name, password, enabled) VALUES (?, ?, ?)"); + userCmd = this.connection.prepareStatement("INSERT INTO KIEKERUser (name, password, enabled) VALUES (?, ?, True)"); roleCmd = this.connection.prepareStatement("INSERT INTO Userroles (name, role) VALUES (?, ?)"); - userCmd.setString(1, user.getName()); - userCmd.setString(2, user.getPassword()); - userCmd.setBoolean(3, user.isEnabled()); + userCmd.setString(1, username); + userCmd.setString(2, password); userCmd.execute(); - roleCmd.setString(1, user.getName()); - for (final Role role : user.getRoles()) { + roleCmd.setString(1, username); + for (final Role role : roles) { roleCmd.setInt(2, role.getID()); roleCmd.execute(); } } catch (final SQLException ex) { - throw new DataAccessException("Could not add user to the database.", ex); + DerbyUserDAOImpl.LOG.error("Could not add user to the database.", ex); } finally { if (userCmd != null) { try { userCmd.close(); } catch (final SQLException ex) { - // No need to inform the calling method DerbyUserDAOImpl.LOG.error("Could not close prepared statement.", ex); } } @@ -98,7 +107,6 @@ public class DerbyUserDAOImpl implements IUserDAO { try { roleCmd.close(); } catch (final SQLException ex) { - // No need to inform the calling method DerbyUserDAOImpl.LOG.error("Could not close prepared statement.", ex); } } @@ -107,19 +115,20 @@ public class DerbyUserDAOImpl implements IUserDAO { @Override @PreAuthorize("hasRole('ROLE_ADMIN')") - public void deleteUser(final User user) throws DataAccessException { + public void removeUser(final String username) { // TODO Auto-generated method stub + } @Override @PreAuthorize("hasRole('ROLE_ADMIN')") - public void editUser(final User user) throws DataAccessException { + public void editUser(final String username, final String password, final Role... roles) { // TODO Auto-generated method stub } @Override @PreAuthorize("hasRole('ROLE_ADMIN')") - public List<User> getUsers() throws DataAccessException { + public List<User> getUsers() { // FIXME Users without roles final List<User> result = new ArrayList<User>(); ResultSet queryResult = null; @@ -153,14 +162,13 @@ public class DerbyUserDAOImpl implements IUserDAO { // Now convert the map to the list result.addAll(tempMap.values()); } catch (final SQLException ex) { - throw new DataAccessException("Could not receive user list.", ex); + DerbyUserDAOImpl.LOG.error("Could not receive user list.", ex); } finally { try { if (queryResult != null) { queryResult.close(); } } catch (final SQLException ex) { - // No need to inform the calling method DerbyUserDAOImpl.LOG.error("Could not close query result.", ex); } } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/service/IUserService.java b/Kieker.WebGUI/src/main/java/kieker/webgui/service/IUserService.java index 82f4dbf9..0623c8ae 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/service/IUserService.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/service/IUserService.java @@ -15,9 +15,33 @@ ***************************************************************************/ package kieker.webgui.service; +import java.util.List; + +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; + +import kieker.webgui.domain.User; +import kieker.webgui.domain.User.Role; + /** * @author Nils Christian Ehmke */ public interface IUserService { + @PreAuthorize("hasRole('ROLE_ADMIN')") + @Transactional + public void addUser(final String username, final String password, final List<Role> roles); + + @PreAuthorize("hasRole('ROLE_ADMIN')") + @Transactional + public void removeUser(final String username); + + @PreAuthorize("hasRole('ROLE_ADMIN')") + @Transactional + public void editUser(final String username, final String password, final Role... roles); + + @PreAuthorize("hasRole('ROLE_ADMIN')") + @Transactional + public List<User> getUsers(); + } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/service/impl/UserServiceImpl.java b/Kieker.WebGUI/src/main/java/kieker/webgui/service/impl/UserServiceImpl.java index a50db303..80bd5e36 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/service/impl/UserServiceImpl.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/service/impl/UserServiceImpl.java @@ -15,6 +15,14 @@ ***************************************************************************/ package kieker.webgui.service.impl; +import java.util.List; + +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; + +import kieker.webgui.domain.User; +import kieker.webgui.domain.User.Role; +import kieker.webgui.persistence.IUserDAO; import kieker.webgui.service.IUserService; /** @@ -22,11 +30,68 @@ import kieker.webgui.service.IUserService; */ public class UserServiceImpl implements IUserService { + private IUserDAO userDAO; + + public UserServiceImpl() { + // No code necessary + } + /** + * Setter for the property {@link UserServiceImpl#userDAO}. * + * @param userDAO + * The new value of the property. */ - public UserServiceImpl() { - // TODO Auto-generated constructor stub + public void setUserDAO(final IUserDAO userDAO) { + this.userDAO = userDAO; + } + + /* + * (non-Javadoc) + * + * @see kieker.webgui.service.IUserService#addUser(java.lang.String, java.lang.String, java.util.List) + */ + @Override + @PreAuthorize("hasRole('ROLE_ADMIN')") + @Transactional + public void addUser(final String username, final String password, final List<Role> roles) { + this.userDAO.addUser(username, password, roles); + } + + /* + * (non-Javadoc) + * + * @see kieker.webgui.service.IUserService#removeUser(java.lang.String) + */ + @Override + @PreAuthorize("hasRole('ROLE_ADMIN')") + @Transactional + public void removeUser(final String username) { + this.userDAO.removeUser(username); + } + + /* + * (non-Javadoc) + * + * @see kieker.webgui.service.IUserService#editUser(java.lang.String, java.lang.String, kieker.webgui.domain.User.Role[]) + */ + @Override + @PreAuthorize("hasRole('ROLE_ADMIN')") + @Transactional + public void editUser(final String username, final String password, final Role... roles) { + this.userDAO.editUser(username, password, roles); + } + + /* + * (non-Javadoc) + * + * @see kieker.webgui.service.IUserService#getUsers() + */ + @Override + @PreAuthorize("hasRole('ROLE_ADMIN')") + @Transactional + public List<User> getUsers() { + return this.userDAO.getUsers(); } } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/GlobalPropertiesBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/GlobalPropertiesBean.java similarity index 99% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/GlobalPropertiesBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/GlobalPropertiesBean.java index d93a1bdc..1f1caa7e 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/GlobalPropertiesBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/GlobalPropertiesBean.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.application; +package kieker.webgui.web.beans.application; import java.io.Serializable; import java.util.ResourceBundle; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ProjectsBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/ProjectsBean.java similarity index 98% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ProjectsBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/ProjectsBean.java index 49bbe492..2280c6d7 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ProjectsBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/ProjectsBean.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.application; +package kieker.webgui.web.beans.application; import java.io.IOException; import java.util.ArrayList; @@ -27,7 +27,7 @@ import javax.faces.application.FacesMessage; import kieker.analysis.model.analysisMetaModel.MIProject; import kieker.common.logging.Log; import kieker.common.logging.LogFactory; -import kieker.webgui.beans.view.CurrentProjectOverviewBean; +import kieker.webgui.web.beans.view.CurrentProjectOverviewBean; import kieker.webgui.common.exception.ProjectAlreadyExistingException; import kieker.webgui.common.exception.ProjectLoadException; import kieker.webgui.common.exception.ProjectNotExistingException; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ThemeSwitcherBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/ThemeSwitcherBean.java similarity index 97% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ThemeSwitcherBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/ThemeSwitcherBean.java index 91bb4b37..d2b1bd35 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/ThemeSwitcherBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/ThemeSwitcherBean.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.application; +package kieker.webgui.web.beans.application; import java.util.Collections; import java.util.Map; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/package-info.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/package-info.java similarity index 95% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/package-info.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/package-info.java index 07aa9a73..f79bc88f 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/package-info.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/application/package-info.java @@ -19,5 +19,5 @@ * * @author Nils Christian Ehmke */ -package kieker.webgui.beans.application; +package kieker.webgui.web.beans.application; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/NewUserBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/request/NewUserBean.java similarity index 98% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/NewUserBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/request/NewUserBean.java index d86ed59f..21ae5892 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/NewUserBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/request/NewUserBean.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.request; +package kieker.webgui.web.beans.request; import java.util.ArrayList; import java.util.List; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/StringBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/request/StringBean.java similarity index 98% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/StringBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/request/StringBean.java index caabc4ae..6bde06dd 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/StringBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/request/StringBean.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.request; +package kieker.webgui.web.beans.request; /** * This simple bean can be used to store a string during a request. Furthermore it provides some simple methods to handle strings within the application where a bean diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/package-info.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/request/package-info.java similarity index 95% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/package-info.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/request/package-info.java index 26cfe25c..53adcd24 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/request/package-info.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/request/package-info.java @@ -19,5 +19,5 @@ * * @author Nils Christian Ehmke */ -package kieker.webgui.beans.request; +package kieker.webgui.web.beans.request; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/UserBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/session/UserBean.java similarity index 98% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/UserBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/session/UserBean.java index a9a6025d..94e62188 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/UserBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/session/UserBean.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.session; +package kieker.webgui.web.beans.session; import java.io.Serializable; import java.util.Map; @@ -26,7 +26,7 @@ import javax.servlet.http.HttpServletResponse; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; -import kieker.webgui.beans.application.GlobalPropertiesBean; +import kieker.webgui.web.beans.application.GlobalPropertiesBean; /** * This bean contains information about the user of this session (like the properties and configurations). This class is a Spring managed bean with session scope. diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/package-info.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/session/package-info.java similarity index 95% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/package-info.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/session/package-info.java index ecc09dce..64e96c5f 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/package-info.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/session/package-info.java @@ -19,5 +19,5 @@ * * @author Nils Christian Ehmke */ -package kieker.webgui.beans.session; +package kieker.webgui.web.beans.session; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentAnalysisEditorBean.java similarity index 99% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentAnalysisEditorBean.java index 81371c94..7edd84ca 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentAnalysisEditorBean.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.view; +package kieker.webgui.web.beans.view; import java.io.IOException; import java.lang.annotation.Annotation; @@ -49,9 +49,9 @@ import kieker.analysis.plugin.reader.AbstractReaderPlugin; import kieker.analysis.repository.AbstractRepository; import kieker.common.logging.Log; import kieker.common.logging.LogFactory; -import kieker.webgui.beans.application.GlobalPropertiesBean; -import kieker.webgui.beans.application.ProjectsBean; -import kieker.webgui.beans.session.UserBean; +import kieker.webgui.web.beans.application.GlobalPropertiesBean; +import kieker.webgui.web.beans.application.ProjectsBean; +import kieker.webgui.web.beans.session.UserBean; import kieker.webgui.common.ClassAndMethodContainer; import kieker.webgui.common.exception.LibraryAlreadyExistingException; import kieker.webgui.common.exception.LibraryLoadException; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorGraphBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentAnalysisEditorGraphBean.java similarity index 99% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorGraphBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentAnalysisEditorGraphBean.java index ca3f6c43..e8a24cfd 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorGraphBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentAnalysisEditorGraphBean.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.view; +package kieker.webgui.web.beans.view; import java.util.Map; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentCockpitBean.java similarity index 97% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentCockpitBean.java index 2d9b158a..1a065350 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentCockpitBean.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.view; +package kieker.webgui.web.beans.view; import java.io.IOException; @@ -25,8 +25,8 @@ import kieker.analysis.model.analysisMetaModel.MIProject; import kieker.analysis.model.analysisMetaModel.MIView; import kieker.common.logging.Log; import kieker.common.logging.LogFactory; -import kieker.webgui.beans.application.GlobalPropertiesBean; -import kieker.webgui.beans.application.ProjectsBean; +import kieker.webgui.web.beans.application.GlobalPropertiesBean; +import kieker.webgui.web.beans.application.ProjectsBean; import kieker.webgui.common.ClassAndMethodContainer; import kieker.webgui.common.exception.DisplayNotFoundException; import kieker.webgui.common.exception.ProjectNotExistingException; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitEditorBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentCockpitEditorBean.java similarity index 99% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitEditorBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentCockpitEditorBean.java index 678242c1..cb7d9875 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentCockpitEditorBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentCockpitEditorBean.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.view; +package kieker.webgui.web.beans.view; import java.io.IOException; import java.lang.annotation.Annotation; @@ -40,8 +40,8 @@ import kieker.analysis.model.analysisMetaModel.impl.MAnalysisMetaModelFactory; import kieker.analysis.plugin.AbstractPlugin; import kieker.common.logging.Log; import kieker.common.logging.LogFactory; -import kieker.webgui.beans.application.GlobalPropertiesBean; -import kieker.webgui.beans.application.ProjectsBean; +import kieker.webgui.web.beans.application.GlobalPropertiesBean; +import kieker.webgui.web.beans.application.ProjectsBean; import kieker.webgui.common.ClassAndMethodContainer; import kieker.webgui.common.exception.NewerProjectException; import kieker.webgui.common.exception.ProjectLoadException; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentControllerBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentControllerBean.java similarity index 99% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentControllerBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentControllerBean.java index 2245572d..fb1bacde 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentControllerBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentControllerBean.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.view; +package kieker.webgui.web.beans.view; import java.io.IOException; import java.io.PrintWriter; @@ -28,7 +28,7 @@ import java.util.List; import kieker.analysis.AnalysisController; import kieker.common.logging.Log; import kieker.common.logging.LogFactory; -import kieker.webgui.beans.application.ProjectsBean; +import kieker.webgui.web.beans.application.ProjectsBean; import kieker.webgui.common.exception.AnalysisInitializationException; import kieker.webgui.common.exception.AnalysisStateException; import kieker.webgui.common.exception.ProjectNotExistingException; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentProjectOverviewBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentProjectOverviewBean.java similarity index 96% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentProjectOverviewBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentProjectOverviewBean.java index 6ccfb249..ac5bc4f7 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentProjectOverviewBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentProjectOverviewBean.java @@ -14,12 +14,12 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.view; +package kieker.webgui.web.beans.view; import java.util.ArrayList; import java.util.List; -import kieker.webgui.beans.application.ProjectsBean; +import kieker.webgui.web.beans.application.ProjectsBean; import org.primefaces.event.SelectEvent; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentUserManagementBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentUserManagementBean.java similarity index 85% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentUserManagementBean.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentUserManagementBean.java index 44cff58d..ea0195bb 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentUserManagementBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentUserManagementBean.java @@ -14,21 +14,21 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.beans.view; +package kieker.webgui.web.beans.view; import java.util.ArrayList; import java.util.List; -import kieker.webgui.common.IUserManager; import kieker.webgui.domain.User; import kieker.webgui.domain.User.Role; +import kieker.webgui.service.IUserService; /** * @author Nils Christian Ehmke */ public final class CurrentUserManagementBean { - private IUserManager userManagerFacade; + private IUserService userService; /** * This list contains all available users. */ @@ -42,13 +42,13 @@ public final class CurrentUserManagementBean { } /** - * Setter for the property {@link CurrentUserManagementBean#userManagerFacade}. + * Setter for the property {@link CurrentUserManagementBean#userService}. * - * @param userManagerFacade + * @param userService * The new value for the property. */ - public void setUserManagerFacade(final IUserManager userManagerFacade) { - this.userManagerFacade = userManagerFacade; + public void setUserService(final IUserService userService) { + this.userService = userService; } /** @@ -62,7 +62,7 @@ public final class CurrentUserManagementBean { * The roles of the new user. */ public void addUser(final String username, final String password, final List<Role> roles) { - this.userManagerFacade.addUser(username, password, roles); + this.userService.addUser(username, password, roles); // TODO Check that the op was successful before adding the user to our list this.users.add(new User(username, null, roles, true)); } @@ -74,7 +74,7 @@ public final class CurrentUserManagementBean { * The name of the user. */ public void removeUser(final String username) { - this.userManagerFacade.removeUser(username); + this.userService.removeUser(username); } /** @@ -88,7 +88,7 @@ public final class CurrentUserManagementBean { * The (new) roles of the user. */ public void editUser(final String username, final String password, final Role... roles) { - this.userManagerFacade.editUser(username, password, roles); + this.userService.editUser(username, password, roles); } /** @@ -102,7 +102,7 @@ public final class CurrentUserManagementBean { * Updates the list containing the available users. */ public void updateList() { - this.users = this.userManagerFacade.getUsers(); + this.users = this.userService.getUsers(); } /** diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/package-info.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/package-info.java similarity index 95% rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/package-info.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/package-info.java index 1294ccfa..57470cd3 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/package-info.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/package-info.java @@ -19,5 +19,5 @@ * * @author Nils Christian Ehmke */ -package kieker.webgui.beans.view; +package kieker.webgui.web.beans.view; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/converter/RoleStringConverter.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/converter/RoleStringConverter.java similarity index 97% rename from Kieker.WebGUI/src/main/java/kieker/webgui/common/converter/RoleStringConverter.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/converter/RoleStringConverter.java index 2168bc31..99b15498 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/converter/RoleStringConverter.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/converter/RoleStringConverter.java @@ -14,7 +14,7 @@ * limitations under the License. ***************************************************************************/ -package kieker.webgui.common.converter; +package kieker.webgui.web.converter; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/impl/package-info.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/converter/package-info.java similarity index 95% rename from Kieker.WebGUI/src/main/java/kieker/webgui/common/impl/package-info.java rename to Kieker.WebGUI/src/main/java/kieker/webgui/web/converter/package-info.java index 54cf3cb2..1bfdcb1b 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/impl/package-info.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/converter/package-info.java @@ -18,4 +18,4 @@ * @author Nils Christian Ehmke * */ -package kieker.webgui.common.impl; \ No newline at end of file +package kieker.webgui.web.converter; \ No newline at end of file diff --git a/Kieker.WebGUI/src/main/resources/lang/ProjectOverviewPage_de.properties b/Kieker.WebGUI/src/main/resources/lang/ProjectOverviewPage_de.properties index dd9d1586..f26b7405 100644 --- a/Kieker.WebGUI/src/main/resources/lang/ProjectOverviewPage_de.properties +++ b/Kieker.WebGUI/src/main/resources/lang/ProjectOverviewPage_de.properties @@ -1,7 +1,7 @@ #------------------------------------------------------------------------------ # -# Diese Datei beinhaltet sämtliche Nachrichten, Buttonbeschriftungen etc., -# welche innerhalb der Projektübersichtsseite benutzt werden. +# Diese Datei beinhaltet s\u00e4mtliche Nachrichten, Buttonbeschriftungen etc., +# welche innerhalb der Projekt\u00fcbersichtsseite benutzt werden. # #------------------------------------------------------------------------------ @@ -13,6 +13,7 @@ projectName = Projektname state = Status lastModification = Letzte \u00c4nderung owner = Besitzer +lastEditor = Letzter Bearbeiter copyProject = Projekt Kopieren renameProject = Projekt Umbenennen diff --git a/Kieker.WebGUI/src/main/resources/lang/ProjectOverviewPage_en.properties b/Kieker.WebGUI/src/main/resources/lang/ProjectOverviewPage_en.properties index 7e12607f..b915b322 100644 --- a/Kieker.WebGUI/src/main/resources/lang/ProjectOverviewPage_en.properties +++ b/Kieker.WebGUI/src/main/resources/lang/ProjectOverviewPage_en.properties @@ -13,6 +13,7 @@ projectName = Project Name state = State lastModification = Last Modification owner = Owner +lastEditor = Last Editor copyProject = Copy Project renameProject = Rename Project diff --git a/Kieker.WebGUI/src/main/webapp/WEB-INF/spring-bean-config.xml b/Kieker.WebGUI/src/main/webapp/WEB-INF/spring-bean-config.xml index 4cd740b5..a3ccefdb 100644 --- a/Kieker.WebGUI/src/main/webapp/WEB-INF/spring-bean-config.xml +++ b/Kieker.WebGUI/src/main/webapp/WEB-INF/spring-bean-config.xml @@ -13,13 +13,16 @@ <property name="acManager" ref="acManager" /> <property name="pluginFinder" ref="pluginFinder" /> </bean> + <bean id="userService" class="kieker.webgui.service.impl.UserServiceImpl"> + <property name="userDAO" ref="userDAO" /> + </bean> <bean id="acManager" class="kieker.webgui.service.impl.util.ACManager"> <property name="projectDAO" ref="projectDAO" /> </bean> - <bean id="projectsBean" lazy-init="true" class="kieker.webgui.beans.application.ProjectsBean" init-method="initialize"> + <bean id="projectsBean" lazy-init="true" class="kieker.webgui.web.beans.application.ProjectsBean" init-method="initialize"> <property name="projectService" ref="projectService" /> </bean> - <bean id="globalPropertiesBean" class="kieker.webgui.beans.application.GlobalPropertiesBean"> + <bean id="globalPropertiesBean" class="kieker.webgui.web.beans.application.GlobalPropertiesBean"> <property name="themeCookieName" value="${kieker.webgui.config.lookAndFeel.cookieName}"/> <property name="projectOverviewPage" value="${kieker.webgui.page.projectOverview}"/> <property name="facesContextThemeKey" value="${kieker.webgui.config.lookAndFeel.facesContextKey}"/> @@ -29,7 +32,7 @@ <property name="analysisEditorDefaultGridSize" value="${kieker.webgui.config.analysisEditor.defaultGridSize}"/> <property name="analysisEditorDefaultGridColor" value="${kieker.webgui.config.analysisEditor.defaultGridColor}"/> </bean> - <bean id="themeSwitcherBean" class="kieker.webgui.beans.application.ThemeSwitcherBean"> + <bean id="themeSwitcherBean" class="kieker.webgui.web.beans.application.ThemeSwitcherBean"> <!-- This is the map containing the available themes (look and feels). If one wants to add more themes, this is the correct place to do so. --> <property name="themes"> <map> @@ -66,50 +69,47 @@ </map> </property> </bean> - <bean destroy-method="destroy" init-method="initialize" id="userManager" class="kieker.webgui.common.impl.UserManagerImpl"> - <property name="dataSource" ref="userDataSource" /> - </bean> <bean id="userDAO" class="kieker.webgui.persistence.impl.DerbyUserDAOImpl" init-method="initialize" destroy-method="destroy"> <property name="dataSource" ref="userDataSource"/> </bean> <!-- The session scoped beans. --> - <bean id="userBean" init-method="initialize" class="kieker.webgui.beans.session.UserBean" scope="session"> + <bean id="userBean" init-method="initialize" class="kieker.webgui.web.beans.session.UserBean" scope="session"> <property name="globalPropertiesBean" ref="globalPropertiesBean"/> </bean> <!-- The view scoped beans. --> - <bean id="currentAnalysisEditorBean" class="kieker.webgui.beans.view.CurrentAnalysisEditorBean" scope="view"> + <bean id="currentAnalysisEditorBean" class="kieker.webgui.web.beans.view.CurrentAnalysisEditorBean" scope="view"> <property name="globalPropertiesBean" ref="globalPropertiesBean"/> <property name="projectService" ref="projectService" /> <property name="projectsBean" ref="projectsBean" /> <property name="currentAnalysisEditorGraphBean" ref="currentAnalysisEditorGraphBean" /> <property name="userBean" ref="userBean" /> </bean> - <bean id="currentAnalysisEditorGraphBean" class="kieker.webgui.beans.view.CurrentAnalysisEditorGraphBean" scope="view"/> - <bean id="currentCockpitBean" class="kieker.webgui.beans.view.CurrentCockpitBean" scope="view"> + <bean id="currentAnalysisEditorGraphBean" class="kieker.webgui.web.beans.view.CurrentAnalysisEditorGraphBean" scope="view"/> + <bean id="currentCockpitBean" class="kieker.webgui.web.beans.view.CurrentCockpitBean" scope="view"> <property name="projectsBean" ref="projectsBean"/> <property name="projectService" ref="projectService" /> </bean> - <bean id="currentCockpitEditorBean" class="kieker.webgui.beans.view.CurrentCockpitEditorBean" scope="view"> + <bean id="currentCockpitEditorBean" class="kieker.webgui.web.beans.view.CurrentCockpitEditorBean" scope="view"> <property name="globalPropertiesBean" ref="globalPropertiesBean"/> <property name="projectService" ref="projectService" /> <property name="projectsBean" ref="projectsBean"/> </bean> - <bean id="currentControllerBean" class="kieker.webgui.beans.view.CurrentControllerBean" scope="view"> + <bean id="currentControllerBean" class="kieker.webgui.web.beans.view.CurrentControllerBean" scope="view"> <property name="projectsBean" ref="projectsBean"/> <property name="projectService" ref="projectService" /> </bean> - <bean id="currentProjectOverviewBean" class="kieker.webgui.beans.view.CurrentProjectOverviewBean" scope="view" init-method="initialialize"> + <bean id="currentProjectOverviewBean" class="kieker.webgui.web.beans.view.CurrentProjectOverviewBean" scope="view" init-method="initialialize"> <property name="projectsBean" ref="projectsBean"/> </bean> - <bean id="currentUserManagementBean" class="kieker.webgui.beans.view.CurrentUserManagementBean" init-method="initialialize" scope="view"> - <property name="userManagerFacade" ref="userManager"/> + <bean id="currentUserManagementBean" class="kieker.webgui.web.beans.view.CurrentUserManagementBean" init-method="initialialize" scope="view"> + <property name="userService" ref="userService"/> </bean> <!-- The request scoped beans. --> - <bean id="stringBean" class="kieker.webgui.beans.request.StringBean" scope="request"/> - <bean id="newUserBean" class="kieker.webgui.beans.request.NewUserBean" scope="request"/> + <bean id="stringBean" class="kieker.webgui.web.beans.request.StringBean" scope="request"/> + <bean id="newUserBean" class="kieker.webgui.web.beans.request.NewUserBean" scope="request"/> <!-- The enums. --> <util:constant id="ROLE_USER" static-field="kieker.webgui.domain.User.Role.ROLE_USER"/> diff --git a/Kieker.WebGUI/src/main/webapp/pages/ProjectOverviewPage.xhtml b/Kieker.WebGUI/src/main/webapp/pages/ProjectOverviewPage.xhtml index 18e9b18f..719740a3 100644 --- a/Kieker.WebGUI/src/main/webapp/pages/ProjectOverviewPage.xhtml +++ b/Kieker.WebGUI/src/main/webapp/pages/ProjectOverviewPage.xhtml @@ -69,14 +69,18 @@ <h:outputText value="#{projectsBean.getAnalysisControllerState(project)}"/> </p:column> + <p:column headerText="#{localizedProjectOverviewMessages.owner}" style="text-align: center"> + <h:outputText value="N/A" /> + </p:column> + <p:column headerText="#{localizedProjectOverviewMessages.lastModification}" sortBy="#{projectsBean.getCurrTimeStamp(project)}" style="text-align: center"> <h:outputText value="#{projectsBean.getCurrTimeStamp(project)}" /> </p:column> - - <p:column headerText="#{localizedProjectOverviewMessages.owner}" style="text-align: center" rendered="false"> + + <p:column headerText="#{localizedProjectOverviewMessages.lastEditor}" style="text-align: center"> <h:outputText value="N/A" /> </p:column> - + </p:dataTable> </h:form> </ui:define> -- GitLab