Un poco de documentacion
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -109,3 +109,4 @@ buildNumber.properties
|
|||||||
|
|
||||||
# cosas random que pasan
|
# cosas random que pasan
|
||||||
nohup.out
|
nohup.out
|
||||||
|
docs/
|
||||||
|
|||||||
8
.idea/misc.xml
generated
8
.idea/misc.xml
generated
@@ -1,6 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
|
<component name="JavadocGenerationManager">
|
||||||
|
<option name="OUTPUT_DIRECTORY" value="$PROJECT_DIR$/docs" />
|
||||||
|
<option name="OPTION_SCOPE" value="private" />
|
||||||
|
<option name="OPTION_DOCUMENT_TAG_USE" value="true" />
|
||||||
|
<option name="OPTION_DOCUMENT_TAG_AUTHOR" value="true" />
|
||||||
|
<option name="OPTION_DOCUMENT_TAG_VERSION" value="true" />
|
||||||
|
<option name="OPEN_IN_BROWSER" value="false" />
|
||||||
|
</component>
|
||||||
<component name="MavenProjectsManager">
|
<component name="MavenProjectsManager">
|
||||||
<option name="originalFiles">
|
<option name="originalFiles">
|
||||||
<list>
|
<list>
|
||||||
|
|||||||
@@ -8,8 +8,19 @@ import xyz.danielcortes.controllers.LaunchController;
|
|||||||
import xyz.danielcortes.login.LoginController;
|
import xyz.danielcortes.login.LoginController;
|
||||||
import xyz.danielcortes.login.LoginPanel;
|
import xyz.danielcortes.login.LoginPanel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Punto de entrada de la aplicacion.
|
||||||
|
*/
|
||||||
public class App {
|
public class App {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Punto de entrada de ejecucion de la aplicacion
|
||||||
|
* <p>
|
||||||
|
* Ejecuta el <code>LoginController</code> y le entrega el <code>LoggedListener</code> que ejecutara <code>LaunchController</code> al cual se le
|
||||||
|
* entrega el usuario obtenido en el proceso de login
|
||||||
|
*
|
||||||
|
* @see LoginController
|
||||||
|
*/
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
setupLookAndFeel();
|
setupLookAndFeel();
|
||||||
LoginController loginController = new LoginController(new LoginPanel());
|
LoginController loginController = new LoginController(new LoginPanel());
|
||||||
@@ -19,6 +30,16 @@ public class App {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configura el look and feel del programa.
|
||||||
|
* <p>
|
||||||
|
* Activa el antialiasing optimizado para lcd.
|
||||||
|
* <p>
|
||||||
|
* Configura directamente el lookAndFeel seleccionado uno desde una serie de strings
|
||||||
|
* <p>
|
||||||
|
* Finalmente configura la clase de la ventana java para que no tenga el nombre generico y pueda configurarlo como ventana flotante en un
|
||||||
|
* WindowManager.
|
||||||
|
*/
|
||||||
private static void setupLookAndFeel() {
|
private static void setupLookAndFeel() {
|
||||||
System.setProperty("awt.useSystemAAFontSettings", "lcd");
|
System.setProperty("awt.useSystemAAFontSettings", "lcd");
|
||||||
System.setProperty("swing.aatext", "true");
|
System.setProperty("swing.aatext", "true");
|
||||||
|
|||||||
@@ -137,6 +137,11 @@ import xyz.danielcortes.views.usuario.UsuarioCreatePanel;
|
|||||||
import xyz.danielcortes.views.usuario.UsuarioUpdatePanel;
|
import xyz.danielcortes.views.usuario.UsuarioUpdatePanel;
|
||||||
import xyz.danielcortes.views.usuario.UsuarioViewPanel;
|
import xyz.danielcortes.views.usuario.UsuarioViewPanel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controlador principal de la aplicacion
|
||||||
|
* <p>
|
||||||
|
* Se encarga de crear todos los controladores con sus vistas que estaran contenidos en la ventana principal
|
||||||
|
*/
|
||||||
public class LaunchController {
|
public class LaunchController {
|
||||||
|
|
||||||
private LaunchFrame frame;
|
private LaunchFrame frame;
|
||||||
@@ -148,21 +153,42 @@ public class LaunchController {
|
|||||||
this.controllers = new HashMap<>();
|
this.controllers = new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Entrega un <code>BaseController</code> dado su nombre
|
||||||
|
*
|
||||||
|
* @param name <code>PanelName</code> el cual esta relacionado con el controlador que se busca
|
||||||
|
* @return Un <code>BaseController</code> correspondiente al nombre entregado
|
||||||
|
*/
|
||||||
public BaseController getCard(PanelName name) {
|
public BaseController getCard(PanelName name) {
|
||||||
return this.controllers.get(name);
|
return this.controllers.get(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lanza la vista inicial
|
||||||
|
*/
|
||||||
public void run() {
|
public void run() {
|
||||||
this.create();
|
this.create();
|
||||||
this.frame.setVisible(true);
|
this.frame.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crea el frame y llama a crear las cartas del <code>CardLayout</code> y el <code>MenuBar</code>
|
||||||
|
*/
|
||||||
private void create() {
|
private void create() {
|
||||||
this.frame = new LaunchFrame();
|
this.frame = new LaunchFrame();
|
||||||
this.createCards();
|
this.createCards();
|
||||||
this.createMenuBar();
|
this.createMenuBar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crea las cartas que estaran contenidas en la vista
|
||||||
|
* <p>
|
||||||
|
* Estan son agregadas a un <code>HashMap</code> que las almacenara relacionadas a su <code>PanelName</code>
|
||||||
|
* <p>
|
||||||
|
* A cada controlador se le entregara una referencia a esta clase
|
||||||
|
* <p>
|
||||||
|
* Luego de agregar todos los controladores al <code>HashMap</code> estos son agregados al <code>CardLayout</code> del JFrame
|
||||||
|
*/
|
||||||
private void createCards() {
|
private void createCards() {
|
||||||
this.frame.addCard(new JPanel(), PanelName.EMPTY);
|
this.frame.addCard(new JPanel(), PanelName.EMPTY);
|
||||||
|
|
||||||
@@ -266,6 +292,9 @@ public class LaunchController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Llama a crear los <code>Menu</code> que contendra el <code>MenuBar</code> y los añade a este
|
||||||
|
*/
|
||||||
private void createMenuBar() {
|
private void createMenuBar() {
|
||||||
JMenuBar menuBar = new JMenuBar();
|
JMenuBar menuBar = new JMenuBar();
|
||||||
|
|
||||||
@@ -275,6 +304,11 @@ public class LaunchController {
|
|||||||
this.frame.setJMenuBar(menuBar);
|
this.frame.setJMenuBar(menuBar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crear todos los menus para acceder a las vistas de mantenedores con sus <code>ActionListener</code> creados.
|
||||||
|
*
|
||||||
|
* @return <code>JMenu</code> con los <code>MenuItem</code> para acceder a las vistas.
|
||||||
|
*/
|
||||||
private JMenu createMantenedoresMenu() {
|
private JMenu createMantenedoresMenu() {
|
||||||
JMenu mantenedoresMenu = new JMenu("Mantenedores");
|
JMenu mantenedoresMenu = new JMenu("Mantenedores");
|
||||||
|
|
||||||
@@ -311,6 +345,11 @@ public class LaunchController {
|
|||||||
return mantenedoresMenu;
|
return mantenedoresMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crear todos los menus para acceder a las vistas de compras con sus <code>ActionListener</code> creados.
|
||||||
|
*
|
||||||
|
* @return <code>JMenu</code> con los <code>MenuItem</code> para acceder a las vistas.
|
||||||
|
*/
|
||||||
private JMenu createComprarMenu() {
|
private JMenu createComprarMenu() {
|
||||||
JMenu comprarMenu = new JMenu("Comprar");
|
JMenu comprarMenu = new JMenu("Comprar");
|
||||||
|
|
||||||
@@ -323,6 +362,11 @@ public class LaunchController {
|
|||||||
return comprarMenu;
|
return comprarMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Muestra la Carta con el nombre entregado Llama al metodo show del controlador de la carta a mostrar
|
||||||
|
*
|
||||||
|
* @param name <code>PanelName</code> de la Carta que se quiere mostrar.
|
||||||
|
*/
|
||||||
public void showCard(PanelName name) {
|
public void showCard(PanelName name) {
|
||||||
this.frame.showCard(name);
|
this.frame.showCard(name);
|
||||||
this.controllers.get(name).show();
|
this.controllers.get(name).show();
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ import xyz.danielcortes.framework.Passwords;
|
|||||||
import xyz.danielcortes.models.Usuario;
|
import xyz.danielcortes.models.Usuario;
|
||||||
import xyz.danielcortes.repository.UsuarioRepository;
|
import xyz.danielcortes.repository.UsuarioRepository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controlador para el panel <code>LoginPanel</code>
|
||||||
|
*/
|
||||||
public class LoginController {
|
public class LoginController {
|
||||||
|
|
||||||
private JFrame frame;
|
private JFrame frame;
|
||||||
@@ -18,6 +21,11 @@ public class LoginController {
|
|||||||
private UsuarioRepository repository;
|
private UsuarioRepository repository;
|
||||||
private LoggedListener loggedListener;
|
private LoggedListener loggedListener;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crea la clase, almacena la vista, crea el listener y el frame que contiene la vista
|
||||||
|
*
|
||||||
|
* @param view LoginPanel.
|
||||||
|
*/
|
||||||
public LoginController(LoginPanel view) {
|
public LoginController(LoginPanel view) {
|
||||||
this.view = view;
|
this.view = view;
|
||||||
this.repository = new UsuarioRepository();
|
this.repository = new UsuarioRepository();
|
||||||
@@ -25,12 +33,30 @@ public class LoginController {
|
|||||||
this.createFrame();
|
this.createFrame();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crea los listeners de la vista
|
||||||
|
* <p>
|
||||||
|
* El field de usuario, el field de contraseña y el boton de logeo ejecutaran <code>login()</code>
|
||||||
|
*/
|
||||||
private void setupListeners() {
|
private void setupListeners() {
|
||||||
this.view.getUserField().addActionListener(e -> this.login());
|
this.view.getUserField().addActionListener(e -> this.login());
|
||||||
this.view.getPassField().addActionListener(e -> this.login());
|
this.view.getPassField().addActionListener(e -> this.login());
|
||||||
this.view.getLoginButton().addActionListener(e -> this.login());
|
this.view.getLoginButton().addActionListener(e -> this.login());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crea un frame que contendra el <code>LoginPanel</code>
|
||||||
|
* <p>
|
||||||
|
* Dimensiones de 400x400
|
||||||
|
* <p>
|
||||||
|
* Cierra el programa al cerrar la ventana
|
||||||
|
* <p>
|
||||||
|
* Relativo a nada, por lo tanto centrado
|
||||||
|
* <p>
|
||||||
|
* Titulo "Login"
|
||||||
|
* <p>
|
||||||
|
* El content panel siendo la vista entregada en el constructor.
|
||||||
|
*/
|
||||||
private void createFrame() {
|
private void createFrame() {
|
||||||
Dimension dimension = new Dimension(400, 400);
|
Dimension dimension = new Dimension(400, 400);
|
||||||
this.frame = new JFrame();
|
this.frame = new JFrame();
|
||||||
@@ -43,6 +69,20 @@ public class LoginController {
|
|||||||
this.frame.setVisible(true);
|
this.frame.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Intenta logear a un usuario con los datos entregados
|
||||||
|
* <p>
|
||||||
|
* Primero comprueba si el nombre de usuario existe en la base de datos
|
||||||
|
* <p>
|
||||||
|
* Luego comprueba que la contraseña entregada sea igual que la que esta guarda en la base de datos, para esto se utiliza la clase
|
||||||
|
* <code>Passwords</code>
|
||||||
|
* <p>
|
||||||
|
* Si es que alguno de los 2 pasos falló se muestra el mismo mensaje de error.
|
||||||
|
* <p>
|
||||||
|
* Y en caso que no falle nada se ejecutara el <code>loggedListener</code> con un <code>LoggedEvent</code> que contiene el usuario obtenido
|
||||||
|
*
|
||||||
|
* @see Passwords
|
||||||
|
*/
|
||||||
private void login() {
|
private void login() {
|
||||||
String name = this.view.getUserField().getText();
|
String name = this.view.getUserField().getText();
|
||||||
Optional<Usuario> optionalUser = this.repository.getByName(name);
|
Optional<Usuario> optionalUser = this.repository.getByName(name);
|
||||||
@@ -71,6 +111,13 @@ public class LoginController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Almacena un <code>LoggedListener</code>.
|
||||||
|
* <p>
|
||||||
|
* Este listener es ejecutado cuando se logea correctamente un usuario.
|
||||||
|
*
|
||||||
|
* @param listener Listener a ser ejecutado.
|
||||||
|
*/
|
||||||
public void setLoggedListener(LoggedListener listener) {
|
public void setLoggedListener(LoggedListener listener) {
|
||||||
this.loggedListener = listener;
|
this.loggedListener = listener;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user