import com.fasterxml.jackson.databind.ObjectMapper;
import com.prueba.core.context.util.AntPathMatcher;
import com.prueba.core.web.controller.Controller;
-import com.prueba.persistence.domain.AccountResource;
+import com.prueba.model.domain.AccountResource;
import com.prueba.services.impl.ApiServiceImpl;
import com.sun.net.httpserver.Headers;
import com.sun.net.httpserver.HttpExchange;
--- /dev/null
+package com.prueba.model.dao;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.sql.DataSource;
+
+import com.prueba.core.context.integration.database.DataBaseAccess;
+import com.prueba.core.context.integration.database.impl.DataBaseAccessImpl;
+import com.prueba.core.context.web.application.ApplicationWebContext;
+import com.prueba.model.domain.AccountResource;
+
+public class AccountDao {
+ private static final String CODE = "CODE";
+ private static final String NAME = "NAME";
+ private static final String SURNAME = "SURNAME";
+ private static final String PASSWORD = "PASSWORD";
+ private static final String APP_ROLE_CODE = "APPLICATION_ROLE_CODE";
+
+ public AccountResource findByCode(String accountCode) {
+ final DataSource dataSource = ApplicationWebContext.getInstance().getDataSource();
+ final DataBaseAccess dataBaseAccess = new DataBaseAccessImpl(dataSource);
+
+ final List<Map<String, String>> results =
+ dataBaseAccess.executeQuery("SELECT * FROM ACCOUNT WHERE CODE = ?",
+ answer ->
+ {
+ final List<Map<String, String>> result = new ArrayList<>();
+ while (answer.next()) {
+ final Map<String, String> row = new HashMap<>();
+ row.put(CODE, answer.getString(CODE));
+ row.put(NAME, answer.getString(NAME));
+ row.put(SURNAME, answer.getString(SURNAME));
+ row.put(PASSWORD, answer.getString(PASSWORD));
+ row.put(APP_ROLE_CODE, answer.getString(APP_ROLE_CODE));
+ result.add(row);
+ }
+
+ return result;
+ },
+ preparedStatement -> {
+ preparedStatement.setString(1, accountCode);
+ });
+
+ AccountResource account = null;
+ if (!results.isEmpty()) {
+ final Map<String, String> row = results.get(0);
+
+ account = new AccountResource(row.get(CODE), row.get(NAME),
+ row.get(SURNAME), null, row.get(APP_ROLE_CODE));
+ }
+
+ return account;
+ }
+
+ public void create(AccountResource account) {
+ final DataSource dataSource = ApplicationWebContext.getInstance().getDataSource();
+ final DataBaseAccessImpl dataBaseAccess = new DataBaseAccessImpl(dataSource);
+
+ dataBaseAccess.executeUpdate(
+ "INSERT INTO ACCOUNT VALUES (?, ?, ?, ?, ?)",
+ preparedStatement -> {
+ preparedStatement.setString(1, account.getCode());
+ preparedStatement.setString(2, account.getName());
+ preparedStatement.setString(3, account.getSurname());
+ preparedStatement.setString(4, account.getPassword());
+ preparedStatement.setString(5, account.getRole());
+ });
+
+ }
+
+ public void deleteByCode(String code) {
+ final DataSource dataSource = ApplicationWebContext.getInstance().getDataSource();
+ final DataBaseAccessImpl dataBaseAccess = new DataBaseAccessImpl(dataSource);
+
+ dataBaseAccess.executeUpdate("DELETE FROM ACCOUNT WHERE CODE = ?",
+ preparedStatement -> {
+ preparedStatement.setString(1, code);
+ });
+
+ }
+
+ public AccountResource findByCodeAndPassword(String username, String password) {
+ final DataSource dataSource = ApplicationWebContext.getInstance().getDataSource();
+ final DataBaseAccessImpl dataBaseAccess = new DataBaseAccessImpl(dataSource);
+
+ final List<Map<String, String>> results =
+ dataBaseAccess.executeQuery("SELECT * FROM ACCOUNT WHERE CODE = ? AND PASSWORD = ?",
+ answer ->
+ {
+ final List<Map<String, String>> result = new ArrayList<>();
+ while (answer.next()) {
+ final Map<String, String> row = new HashMap<>();
+ row.put(CODE, answer.getString(CODE));
+ row.put(NAME, answer.getString(NAME));
+ row.put(SURNAME, answer.getString(SURNAME));
+ row.put(PASSWORD, answer.getString(PASSWORD));
+ row.put(APP_ROLE_CODE, answer.getString(APP_ROLE_CODE));
+ result.add(row);
+ }
+
+ return result;
+ },
+ preparedStatement -> {
+ preparedStatement.setString(1, username);
+ preparedStatement.setString(2, password);
+ });
+
+ AccountResource account = null;
+ if (!results.isEmpty()) {
+ final Map<String, String> row = results.get(0);
+
+ account = new AccountResource(row.get(CODE), row.get(NAME),
+ row.get(SURNAME), null, row.get(APP_ROLE_CODE));
+ }
+
+ return account;
+ }
+}
--- /dev/null
+package com.prueba.model.dao;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.sql.DataSource;
+
+import com.prueba.core.context.integration.database.impl.DataBaseAccessImpl;
+import com.prueba.core.context.web.application.ApplicationWebContext;
+import com.prueba.model.domain.ApplicationResourceResource;
+
+public class ApplicationResourceDao {
+ private static final String URL_PATTERN = "URL_PATTERN";
+ private static final String HTTP_METHOD = "HTTP_METHOD";
+
+ public List<ApplicationResourceResource> findURLsByUserName(String userName) {
+ final DataSource dataSource = ApplicationWebContext.getInstance().getDataSource();
+ final DataBaseAccessImpl dataBaseAccess = new DataBaseAccessImpl(dataSource);
+
+ final List<Map<String, String>> results = dataBaseAccess.executeQuery(""
+ + "SELECT APP_RES.URL_PATTERN, APP_RES.HTTP_METHOD FROM APPLICATION_ROLE APP_ROLE "
+ + "INNER JOIN APPLICATION_RESOURCE_APPLICATION_ROLE APP_RES_APP_ROLE ON APP_ROLE.CODE = APP_RES_APP_ROLE.APPLICATION_ROLE_CODE "
+ + "INNER JOIN APPLICATION_RESOURCE APP_RES ON APP_RES.URL_PATTERN = APP_RES_APP_ROLE.APPLICATION_RESOURCE_URL_PATTERN "
+ + "INNER JOIN ACCOUNT ACC ON ACC.APPLICATION_ROLE_CODE = APP_ROLE.CODE "
+ + "WHERE ACC.CODE = ? ",
+ answer ->
+ {
+ final List<Map<String, String>> result = new ArrayList<>();
+ while (answer.next()) {
+ final Map<String, String> row = new HashMap<>();
+ String urlPatternValue = answer.getString(URL_PATTERN);
+ String httpMethodValue = answer.getString(HTTP_METHOD);
+ row.put(URL_PATTERN, urlPatternValue);
+ row.put(HTTP_METHOD, httpMethodValue);
+ result.add(row);
+ }
+
+ return result;
+ },
+ preparedStatement -> {
+ preparedStatement.setString(1, userName);
+ });
+
+ final List<ApplicationResourceResource> applicationResources = new ArrayList<>();
+ if (!results.isEmpty()) {
+ results.forEach(row ->
+ {
+ ApplicationResourceResource resource =
+ new ApplicationResourceResource(row.get(URL_PATTERN), row.get(HTTP_METHOD));
+ applicationResources.add(resource);
+ });
+ }
+
+ return applicationResources;
+ }
+}
+
--- /dev/null
+package com.prueba.model.domain;
+
+public class AccountResource {
+ private final String code;
+ private final String name;
+ private final String surname;
+ private final String password;
+ private final String role;
+
+ public AccountResource() {
+ this.code = null;
+ this.name = null;
+ this.surname = null;
+ this.password = null;
+ this.role = null;
+ }
+
+ public AccountResource(String code, String name, String surname, String password, String role) {
+ this.code = code;
+ this.name = name;
+ this.surname = surname;
+ this.password = password;
+ this.role = role;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getSurname() {
+ return surname;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public String getRole() {
+ return role;
+ }
+
+}
--- /dev/null
+package com.prueba.model.domain;
+
+public class ApplicationResourceResource {
+ private final String urlPattern;
+ private final String httpMethod;
+
+ public ApplicationResourceResource() {
+ this.urlPattern = null;
+ this.httpMethod = null;
+ }
+
+ public ApplicationResourceResource(String urlPattern, String httpMethod) {
+ this.urlPattern = urlPattern;
+ this.httpMethod = httpMethod;
+ }
+
+ public String getUrlPattern() {
+ return urlPattern;
+ }
+
+ public String getHttpMethod() {
+ return httpMethod;
+ }
+
+}
+++ /dev/null
-package com.prueba.persistence.dao;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.sql.DataSource;
-
-import com.prueba.core.context.integration.database.DataBaseAccess;
-import com.prueba.core.context.integration.database.impl.DataBaseAccessImpl;
-import com.prueba.core.context.web.application.ApplicationWebContext;
-import com.prueba.persistence.domain.AccountResource;
-
-public class AccountDao {
- private static final String CODE = "CODE";
- private static final String NAME = "NAME";
- private static final String SURNAME = "SURNAME";
- private static final String PASSWORD = "PASSWORD";
- private static final String APP_ROLE_CODE = "APPLICATION_ROLE_CODE";
-
- public AccountResource findByCode(String accountCode) {
- final DataSource dataSource = ApplicationWebContext.getInstance().getDataSource();
- final DataBaseAccess dataBaseAccess = new DataBaseAccessImpl(dataSource);
-
- final List<Map<String, String>> results =
- dataBaseAccess.executeQuery("SELECT * FROM ACCOUNT WHERE CODE = ?",
- answer ->
- {
- final List<Map<String, String>> result = new ArrayList<>();
- while (answer.next()) {
- final Map<String, String> row = new HashMap<>();
- row.put(CODE, answer.getString(CODE));
- row.put(NAME, answer.getString(NAME));
- row.put(SURNAME, answer.getString(SURNAME));
- row.put(PASSWORD, answer.getString(PASSWORD));
- row.put(APP_ROLE_CODE, answer.getString(APP_ROLE_CODE));
- result.add(row);
- }
-
- return result;
- },
- preparedStatement -> {
- preparedStatement.setString(1, accountCode);
- });
-
- AccountResource account = null;
- if (!results.isEmpty()) {
- final Map<String, String> row = results.get(0);
-
- account = new AccountResource(row.get(CODE), row.get(NAME),
- row.get(SURNAME), null, row.get(APP_ROLE_CODE));
- }
-
- return account;
- }
-
- public void create(AccountResource account) {
- final DataSource dataSource = ApplicationWebContext.getInstance().getDataSource();
- final DataBaseAccessImpl dataBaseAccess = new DataBaseAccessImpl(dataSource);
-
- dataBaseAccess.executeUpdate(
- "INSERT INTO ACCOUNT VALUES (?, ?, ?, ?, ?)",
- preparedStatement -> {
- preparedStatement.setString(1, account.getCode());
- preparedStatement.setString(2, account.getName());
- preparedStatement.setString(3, account.getSurname());
- preparedStatement.setString(4, account.getPassword());
- preparedStatement.setString(5, account.getRole());
- });
-
- }
-
- public void deleteByCode(String code) {
- final DataSource dataSource = ApplicationWebContext.getInstance().getDataSource();
- final DataBaseAccessImpl dataBaseAccess = new DataBaseAccessImpl(dataSource);
-
- dataBaseAccess.executeUpdate("DELETE FROM ACCOUNT WHERE CODE = ?",
- preparedStatement -> {
- preparedStatement.setString(1, code);
- });
-
- }
-
- public AccountResource findByCodeAndPassword(String username, String password) {
- final DataSource dataSource = ApplicationWebContext.getInstance().getDataSource();
- final DataBaseAccessImpl dataBaseAccess = new DataBaseAccessImpl(dataSource);
-
- final List<Map<String, String>> results =
- dataBaseAccess.executeQuery("SELECT * FROM ACCOUNT WHERE CODE = ? AND PASSWORD = ?",
- answer ->
- {
- final List<Map<String, String>> result = new ArrayList<>();
- while (answer.next()) {
- final Map<String, String> row = new HashMap<>();
- row.put(CODE, answer.getString(CODE));
- row.put(NAME, answer.getString(NAME));
- row.put(SURNAME, answer.getString(SURNAME));
- row.put(PASSWORD, answer.getString(PASSWORD));
- row.put(APP_ROLE_CODE, answer.getString(APP_ROLE_CODE));
- result.add(row);
- }
-
- return result;
- },
- preparedStatement -> {
- preparedStatement.setString(1, username);
- preparedStatement.setString(2, password);
- });
-
- AccountResource account = null;
- if (!results.isEmpty()) {
- final Map<String, String> row = results.get(0);
-
- account = new AccountResource(row.get(CODE), row.get(NAME),
- row.get(SURNAME), null, row.get(APP_ROLE_CODE));
- }
-
- return account;
- }
-}
+++ /dev/null
-package com.prueba.persistence.dao;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.sql.DataSource;
-
-import com.prueba.core.context.integration.database.impl.DataBaseAccessImpl;
-import com.prueba.core.context.web.application.ApplicationWebContext;
-import com.prueba.persistence.domain.ApplicationResourceResource;
-
-public class ApplicationResourceDao {
- private static final String URL_PATTERN = "URL_PATTERN";
- private static final String HTTP_METHOD = "HTTP_METHOD";
-
- public List<ApplicationResourceResource> findURLsByUserName(String userName) {
- final DataSource dataSource = ApplicationWebContext.getInstance().getDataSource();
- final DataBaseAccessImpl dataBaseAccess = new DataBaseAccessImpl(dataSource);
-
- final List<Map<String, String>> results = dataBaseAccess.executeQuery(""
- + "SELECT APP_RES.URL_PATTERN, APP_RES.HTTP_METHOD FROM APPLICATION_ROLE APP_ROLE "
- + "INNER JOIN APPLICATION_RESOURCE_APPLICATION_ROLE APP_RES_APP_ROLE ON APP_ROLE.CODE = APP_RES_APP_ROLE.APPLICATION_ROLE_CODE "
- + "INNER JOIN APPLICATION_RESOURCE APP_RES ON APP_RES.URL_PATTERN = APP_RES_APP_ROLE.APPLICATION_RESOURCE_URL_PATTERN "
- + "INNER JOIN ACCOUNT ACC ON ACC.APPLICATION_ROLE_CODE = APP_ROLE.CODE "
- + "WHERE ACC.CODE = ? ",
- answer ->
- {
- final List<Map<String, String>> result = new ArrayList<>();
- while (answer.next()) {
- final Map<String, String> row = new HashMap<>();
- String urlPatternValue = answer.getString(URL_PATTERN);
- String httpMethodValue = answer.getString(HTTP_METHOD);
- row.put(URL_PATTERN, urlPatternValue);
- row.put(HTTP_METHOD, httpMethodValue);
- result.add(row);
- }
-
- return result;
- },
- preparedStatement -> {
- preparedStatement.setString(1, userName);
- });
-
- final List<ApplicationResourceResource> applicationResources = new ArrayList<>();
- if (!results.isEmpty()) {
- results.forEach(row ->
- {
- ApplicationResourceResource resource =
- new ApplicationResourceResource(row.get(URL_PATTERN), row.get(HTTP_METHOD));
- applicationResources.add(resource);
- });
- }
-
- return applicationResources;
- }
-}
-
+++ /dev/null
-package com.prueba.persistence.domain;
-
-public class AccountResource {
- private final String code;
- private final String name;
- private final String surname;
- private final String password;
- private final String role;
-
- public AccountResource() {
- this.code = null;
- this.name = null;
- this.surname = null;
- this.password = null;
- this.role = null;
- }
-
- public AccountResource(String code, String name, String surname, String password, String role) {
- this.code = code;
- this.name = name;
- this.surname = surname;
- this.password = password;
- this.role = role;
- }
-
- public String getCode() {
- return code;
- }
-
- public String getName() {
- return name;
- }
-
- public String getSurname() {
- return surname;
- }
-
- public String getPassword() {
- return password;
- }
-
- public String getRole() {
- return role;
- }
-
-}
+++ /dev/null
-package com.prueba.persistence.domain;
-
-public class ApplicationResourceResource {
- private final String urlPattern;
- private final String httpMethod;
-
- public ApplicationResourceResource() {
- this.urlPattern = null;
- this.httpMethod = null;
- }
-
- public ApplicationResourceResource(String urlPattern, String httpMethod) {
- this.urlPattern = urlPattern;
- this.httpMethod = httpMethod;
- }
-
- public String getUrlPattern() {
- return urlPattern;
- }
-
- public String getHttpMethod() {
- return httpMethod;
- }
-
-}
package com.prueba.services.impl;
-import com.prueba.persistence.dao.AccountDao;
-import com.prueba.persistence.domain.AccountResource;
+import com.prueba.model.dao.AccountDao;
+import com.prueba.model.domain.AccountResource;
public class ApiServiceImpl {
import org.slf4j.LoggerFactory;
import com.prueba.core.context.util.AntPathMatcher;
-import com.prueba.persistence.dao.ApplicationResourceDao;
-import com.prueba.persistence.domain.ApplicationResourceResource;
+import com.prueba.model.domain.ApplicationResourceResource;
+import com.prueba.model.dao.ApplicationResourceDao;
public class AuthorizationServicesImpl {
private static final Logger LOGGER = LoggerFactory.getLogger(AuthorizationServicesImpl.class);
import com.prueba.core.context.security.persistence.SessionInfo;
import com.prueba.core.context.security.persistence.Sessions;
import com.prueba.core.context.security.persistence.context.SessionContext;
-import com.prueba.persistence.dao.AccountDao;
+import com.prueba.model.dao.AccountDao;
import com.prueba.view.login.LoginFormImpl;
import com.sun.net.httpserver.Headers;
import com.sun.net.httpserver.HttpExchange;
import com.prueba.core.context.integration.datasource.impl.DoDataSourceContext;
import com.prueba.core.context.integration.liquibase.impl.LiquibaseContext;
-import com.prueba.persistence.domain.AccountResource;
+import com.prueba.model.dao.AccountDao;
+import com.prueba.model.domain.AccountResource;
public class AccountDaoIntegrationTest {
private AccountDao accountDao;