use of org.cerberus.crud.entity.UserSystem in project cerberus-source by cerberustesting.
the class UpdateUser method doPost.
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, IndexOutOfBoundsException {
// TODO create class Validator to validate all parameter from page
JSONObject jsonResponse = new JSONObject();
MessageEvent msg1 = new MessageEvent(MessageEventEnum.GENERIC_OK);
Answer ans = new Answer();
Answer finalAnswer = new Answer(msg1);
MessageEvent msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", ""));
ans.setResultMessage(msg);
String id = request.getParameter("id");
String login = request.getParameter("login");
String name = request.getParameter("name");
String email = request.getParameter("email");
String team = request.getParameter("team");
String systems = request.getParameter("systems");
String requests = request.getParameter("request");
String groups = request.getParameter("groups");
String defaultSystem = request.getParameter("defaultSystem");
if (StringUtil.isNullOrEmpty(login) || StringUtil.isNullOrEmpty(id)) {
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_EXPECTED);
msg.setDescription(msg.getDescription().replace("%ITEM%", "User").replace("%OPERATION%", "Update").replace("%REASON%", "User login is missing."));
ans.setResultMessage(msg);
} else {
LOG.info("Updating user " + login);
ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
IUserService userService = appContext.getBean(UserService.class);
IUserGroupService userGroupService = appContext.getBean(UserGroupService.class);
IFactoryUserSystem userSystemFactory = appContext.getBean(IFactoryUserSystem.class);
IUserSystemService userSystemService = appContext.getBean(IUserSystemService.class);
IFactoryUserGroup factoryGroup = new FactoryUserGroup();
User myUser;
List<UserGroup> newGroups = null;
List<UserSystem> newSystems = null;
try {
myUser = userService.findUserByKey(id);
List<String> listGroup = new ArrayList<String>();
JSONArray GroupArray = new JSONArray(request.getParameter("groups"));
for (int i = 0; i < GroupArray.length(); i++) {
listGroup.add(GroupArray.getString(i));
}
newGroups = new ArrayList<UserGroup>();
for (String group : listGroup) {
newGroups.add(factoryGroup.create(group));
}
myUser.setLogin(login);
myUser.setName(name);
myUser.setTeam(team);
newSystems = new ArrayList<UserSystem>();
JSONArray SystemArray = new JSONArray(request.getParameter("systems"));
List<String> listSystem = new ArrayList<String>();
for (int i = 0; i < SystemArray.length(); i++) {
listSystem.add(SystemArray.getString(i));
}
for (String system : listSystem) {
newSystems.add(userSystemFactory.create(login, system));
}
myUser.setDefaultSystem(defaultSystem);
myUser.setRequest(requests);
myUser.setEmail(email);
try {
ans = userService.update(myUser);
AnswerUtil.agregateAnswer(finalAnswer, (Answer) ans);
if (ans.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode())) {
/**
* Update was successful. Adding Log entry.
*/
ILogEventService logEventService = appContext.getBean(LogEventService.class);
logEventService.createForPrivateCalls("/UpdateUser", "UPDATE", "Updated user : " + login, request);
if (!newGroups.isEmpty()) {
userGroupService.updateUserGroups(myUser, newGroups);
/**
* Adding Log entry.
*/
logEventService = appContext.getBean(LogEventService.class);
logEventService.createForPrivateCalls("/UpdateUser", "UPDATE", "Updated user groups : " + login, request);
}
if (!newSystems.isEmpty()) {
request.getSession().setAttribute("MySystem", newSystems.get(0).getSystem());
userSystemService.updateUserSystems(myUser, newSystems);
/**
* Adding Log entry.
*/
logEventService = appContext.getBean(LogEventService.class);
logEventService.createForPrivateCalls("/UpdateUser", "UPDATE", "Updated user system : " + login, request);
}
}
/**
* Adding Log entry.
*/
finalAnswer = AnswerUtil.agregateAnswer(finalAnswer, (Answer) ans);
AnswerUtil.agregateAnswer(finalAnswer, (Answer) ans);
jsonResponse.put("messageType", finalAnswer.getResultMessage().getMessage().getCodeString());
jsonResponse.put("message", finalAnswer.getResultMessage().getDescription());
response.getWriter().print(jsonResponse);
} catch (CerberusException ex) {
response.getWriter().print(ex.getMessageError().getDescription());
}
} catch (CerberusException ex) {
response.getWriter().print(ex.getMessageError().getDescription());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
use of org.cerberus.crud.entity.UserSystem in project cerberus-source by cerberustesting.
the class ReadUser method findUserList.
// </editor-fold>
private AnswerItem findUserList(ApplicationContext appContext, HttpServletRequest request, HttpServletResponse response) throws JSONException {
AnswerItem item = new AnswerItem();
JSONObject jsonResponse = new JSONObject();
userService = appContext.getBean(UserService.class);
int startPosition = Integer.valueOf(ParameterParserUtil.parseStringParam(request.getParameter("iDisplayStart"), "0"));
int length = Integer.valueOf(ParameterParserUtil.parseStringParam(request.getParameter("iDisplayLength"), "0"));
/*int sEcho = Integer.valueOf(request.getParameter("sEcho"));*/
String searchParameter = ParameterParserUtil.parseStringParam(request.getParameter("sSearch"), "");
int columnToSortParameter = Integer.parseInt(ParameterParserUtil.parseStringParam(request.getParameter("iSortCol_0"), "1"));
String sColumns = ParameterParserUtil.parseStringParam(request.getParameter("sColumns"), "userID,login,name");
String[] columnToSort = sColumns.split(",");
String columnName = columnToSort[columnToSortParameter];
String sort = ParameterParserUtil.parseStringParam(request.getParameter("sSortDir_0"), "asc");
List<String> individualLike = new ArrayList(Arrays.asList(ParameterParserUtil.parseStringParam(request.getParameter("sLike"), "").split(",")));
Map<String, List<String>> individualSearch = new HashMap<>();
for (int a = 0; a < columnToSort.length; a++) {
if (null != request.getParameter("sSearch_" + a) && !request.getParameter("sSearch_" + a).isEmpty()) {
List<String> search = new ArrayList(Arrays.asList(request.getParameter("sSearch_" + a).split(",")));
if (individualLike.contains(columnToSort[a])) {
individualSearch.put(columnToSort[a] + ":like", search);
} else {
individualSearch.put(columnToSort[a], search);
}
}
}
AnswerList resp = userService.readByCriteria(startPosition, length, columnName, sort, searchParameter, individualSearch);
JSONArray jsonArray = new JSONArray();
boolean userHasPermissions = request.isUserInRole("IntegratorRO");
if (resp.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode())) {
// the service was able to perform the query, then we should get all values
for (User user : (List<User>) resp.getDataList()) {
JSONObject res = convertUserToJSONObject(user);
if (request.getParameter("systems") != null) {
IUserSystemService userSystemService = appContext.getBean(IUserSystemService.class);
AnswerList a = userSystemService.readByUser(user.getLogin());
if (a.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode()) && a.getDataList() != null) {
JSONArray JSONsystems = new JSONArray();
List<UserSystem> systems = a.getDataList();
for (UserSystem u : systems) {
JSONsystems.put(convertUserSystemToJSONObject(u));
}
res.put("systems", JSONsystems);
}
}
if (request.getParameter("groups") != null) {
IUserGroupService userGroupService = appContext.getBean(UserGroupService.class);
AnswerList a = userGroupService.readByUser(user.getLogin());
if (a.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode()) && a.getDataList() != null) {
JSONArray JSONgroups = new JSONArray();
List<UserGroup> groups = a.getDataList();
for (UserGroup u : groups) {
JSONgroups.put(convertUserGroupToJSONObject(u));
}
res.put("groups", JSONgroups);
}
}
jsonArray.put(res);
}
}
jsonResponse.put("hasPermissions", userHasPermissions);
jsonResponse.put("contentTable", jsonArray);
jsonResponse.put("iTotalRecords", resp.getTotalRows());
jsonResponse.put("iTotalDisplayRecords", resp.getTotalRows());
item.setItem(jsonResponse);
item.setResultMessage(resp.getResultMessage());
return item;
}
use of org.cerberus.crud.entity.UserSystem in project cerberus-source by cerberustesting.
the class UserSystemDAO method readByUser.
@Override
public AnswerList<UserSystem> readByUser(String login) {
AnswerList ans = new AnswerList();
MessageEvent msg = null;
try (Connection connection = databaseSpring.connect();
PreparedStatement preStat = connection.prepareStatement(Query.READ_BY_USER)) {
// Prepare and execute query
preStat.setString(1, login);
try (ResultSet resultSet = preStat.executeQuery()) {
// Parse query
List<UserSystem> result = new ArrayList<>();
while (resultSet.next()) {
result.add(loadUserSystemFromResultSet(resultSet));
}
ans.setDataList(result);
// Set the final message
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_OK).resolveDescription("ITEM", OBJECT_NAME).resolveDescription("OPERATION", "GET");
} catch (SQLException exception) {
LOG.error("Unable to execute query : " + exception.toString());
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", exception.toString()));
}
} catch (Exception e) {
LOG.warn("Unable to read userSystem: " + e.getMessage());
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED).resolveDescription("DESCRIPTION", e.toString());
} finally {
ans.setResultMessage(msg);
}
return ans;
}
use of org.cerberus.crud.entity.UserSystem in project cerberus-source by cerberustesting.
the class UserSystemDAO method findallUser.
@Override
public List<UserSystem> findallUser() throws CerberusException {
List<UserSystem> list = null;
final String query = "SELECT * FROM usersystem ORDER BY `login`";
Connection connection = this.databaseSpring.connect();
try {
PreparedStatement preStat = connection.prepareStatement(query);
try {
ResultSet resultSet = preStat.executeQuery();
try {
list = new ArrayList<UserSystem>();
while (resultSet.next()) {
UserSystem user = this.loadUserSystemFromResultSet(resultSet);
list.add(user);
}
} catch (SQLException exception) {
LOG.warn("Unable to execute query : " + exception.toString());
} finally {
resultSet.close();
}
} catch (SQLException exception) {
LOG.warn("Unable to execute query : " + exception.toString());
} finally {
preStat.close();
}
} catch (SQLException exception) {
LOG.warn("Unable to execute query : " + exception.toString());
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
LOG.warn(e.toString());
}
}
return list;
}
use of org.cerberus.crud.entity.UserSystem in project cerberus-source by cerberustesting.
the class UserSystemDAO method findUserSystemByUser.
@Override
public List<UserSystem> findUserSystemByUser(String login) throws CerberusException {
List<UserSystem> list = null;
final String query = "SELECT * FROM usersystem u WHERE u.`login` = ? ";
Connection connection = this.databaseSpring.connect();
try {
PreparedStatement preStat = connection.prepareStatement(query);
try {
preStat.setString(1, login);
ResultSet resultSet = preStat.executeQuery();
try {
list = new ArrayList<UserSystem>();
while (resultSet.next()) {
UserSystem user = this.loadUserSystemFromResultSet(resultSet);
list.add(user);
}
} catch (SQLException exception) {
LOG.warn("Unable to execute query : " + exception.toString());
} finally {
resultSet.close();
}
} catch (SQLException exception) {
LOG.warn("Unable to execute query : " + exception.toString());
} finally {
preStat.close();
}
} catch (SQLException exception) {
LOG.warn("Unable to execute query : " + exception.toString());
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
LOG.warn(e.toString());
}
}
return list;
}
Aggregations