@ -0,0 +1,55 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<classpath> | |||
<classpathentry kind="src" output="target/classes" path="src/main/java"> | |||
<attributes> | |||
<attribute name="optional" value="true"/> | |||
<attribute name="maven.pomderived" value="true"/> | |||
</attributes> | |||
</classpathentry> | |||
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> | |||
<attributes> | |||
<attribute name="maven.pomderived" value="true"/> | |||
</attributes> | |||
</classpathentry> | |||
<classpathentry kind="src" output="target/test-classes" path="src/test/java"> | |||
<attributes> | |||
<attribute name="optional" value="true"/> | |||
<attribute name="maven.pomderived" value="true"/> | |||
<attribute name="test" value="true"/> | |||
</attributes> | |||
</classpathentry> | |||
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"> | |||
<attributes> | |||
<attribute name="maven.pomderived" value="true"/> | |||
<attribute name="test" value="true"/> | |||
</attributes> | |||
</classpathentry> | |||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"> | |||
<attributes> | |||
<attribute name="maven.pomderived" value="true"/> | |||
</attributes> | |||
</classpathentry> | |||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> | |||
<attributes> | |||
<attribute name="maven.pomderived" value="true"/> | |||
</attributes> | |||
</classpathentry> | |||
<classpathentry kind="src" path="target/generated-sources/annotations"> | |||
<attributes> | |||
<attribute name="optional" value="true"/> | |||
<attribute name="maven.pomderived" value="true"/> | |||
<attribute name="ignore_optional_problems" value="true"/> | |||
<attribute name="m2e-apt" value="true"/> | |||
</attributes> | |||
</classpathentry> | |||
<classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations"> | |||
<attributes> | |||
<attribute name="optional" value="true"/> | |||
<attribute name="maven.pomderived" value="true"/> | |||
<attribute name="ignore_optional_problems" value="true"/> | |||
<attribute name="m2e-apt" value="true"/> | |||
<attribute name="test" value="true"/> | |||
</attributes> | |||
</classpathentry> | |||
<classpathentry kind="output" path="target/classes"/> | |||
</classpath> |
@ -0,0 +1,8 @@ | |||
# Default ignored files | |||
/shelf/ | |||
/workspace.xml | |||
# Editor-based HTTP Client requests | |||
/httpRequests/ | |||
# Datasource local storage ignored files | |||
/dataSources/ | |||
/dataSources.local.xml |
@ -0,0 +1,16 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project version="4"> | |||
<component name="CompilerConfiguration"> | |||
<annotationProcessing> | |||
<profile name="Maven default annotation processors profile" enabled="true"> | |||
<sourceOutputDir name="target/generated-sources/annotations" /> | |||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> | |||
<outputRelativeToContentRoot value="true" /> | |||
<module name="primerEjemplo" /> | |||
</profile> | |||
</annotationProcessing> | |||
<bytecodeTargetLevel target="10"> | |||
<module name="primerEjemplo" target="16" /> | |||
</bytecodeTargetLevel> | |||
</component> | |||
</project> |
@ -0,0 +1,20 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project version="4"> | |||
<component name="RemoteRepositoriesConfiguration"> | |||
<remote-repository> | |||
<option name="id" value="central" /> | |||
<option name="name" value="Central Repository" /> | |||
<option name="url" value="https://repo.maven.apache.org/maven2" /> | |||
</remote-repository> | |||
<remote-repository> | |||
<option name="id" value="central" /> | |||
<option name="name" value="Maven Central repository" /> | |||
<option name="url" value="https://repo1.maven.org/maven2" /> | |||
</remote-repository> | |||
<remote-repository> | |||
<option name="id" value="jboss.community" /> | |||
<option name="name" value="JBoss Community repository" /> | |||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> | |||
</remote-repository> | |||
</component> | |||
</project> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: com.github.javafaker:javafaker:1.0.2"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/com/github/javafaker/javafaker/1.0.2/javafaker-1.0.2.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/com/github/javafaker/javafaker/1.0.2/javafaker-1.0.2-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/com/github/javafaker/javafaker/1.0.2/javafaker-1.0.2-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: com.github.mifmif:generex:1.0.2"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/com/github/mifmif/generex/1.0.2/generex-1.0.2.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/com/github/mifmif/generex/1.0.2/generex-1.0.2-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/com/github/mifmif/generex/1.0.2/generex-1.0.2-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: dk.brics.automaton:automaton:1.11-8"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/dk/brics/automaton/automaton/1.11-8/automaton-1.11-8.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/dk/brics/automaton/automaton/1.11-8/automaton-1.11-8-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/dk/brics/automaton/automaton/1.11-8/automaton-1.11-8-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: org.apache.commons:commons-lang3:3.5"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: org.json:json:20140107"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/json/json/20140107/json-20140107.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/json/json/20140107/json-20140107-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/json/json/20140107/json-20140107-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: org.springframework:spring-aop:5.3.23"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/5.3.23/spring-aop-5.3.23.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/5.3.23/spring-aop-5.3.23-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/5.3.23/spring-aop-5.3.23-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: org.springframework:spring-beans:5.3.23"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/5.3.23/spring-beans-5.3.23.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/5.3.23/spring-beans-5.3.23-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/5.3.23/spring-beans-5.3.23-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: org.springframework:spring-context:5.3.23"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.3.23/spring-context-5.3.23.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.3.23/spring-context-5.3.23-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.3.23/spring-context-5.3.23-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: org.springframework:spring-core:5.3.23"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.3.23/spring-core-5.3.23.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.3.23/spring-core-5.3.23-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.3.23/spring-core-5.3.23-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: org.springframework:spring-expression:5.3.23"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/5.3.23/spring-expression-5.3.23.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/5.3.23/spring-expression-5.3.23-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/5.3.23/spring-expression-5.3.23-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: org.springframework:spring-jcl:5.3.23"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jcl/5.3.23/spring-jcl-5.3.23.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jcl/5.3.23/spring-jcl-5.3.23-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jcl/5.3.23/spring-jcl-5.3.23-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<component name="libraryTable"> | |||
<library name="Maven: org.yaml:snakeyaml:android:1.23"> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.23/snakeyaml-1.23-android.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.23/snakeyaml-1.23-javadoc.jar!/" /> | |||
</JAVADOC> | |||
<SOURCES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.23/snakeyaml-1.23-sources.jar!/" /> | |||
</SOURCES> | |||
</library> | |||
</component> |
@ -0,0 +1,11 @@ | |||
<component name="libraryTable"> | |||
<library name="github.java.json.tools.btf" type="repository"> | |||
<properties maven-id="com.github.java-json-tools:btf:1.3" /> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/com/github/java-json-tools/btf/1.3/btf-1.3.jar!/" /> | |||
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC /> | |||
<SOURCES /> | |||
</library> | |||
</component> |
@ -0,0 +1,15 @@ | |||
<component name="libraryTable"> | |||
<library name="springframework.spring.context" type="repository"> | |||
<properties maven-id="org.springframework:spring-context:5.0.1.RELEASE" /> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.0.1.RELEASE/spring-context-5.0.1.RELEASE.jar!/" /> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/5.0.1.RELEASE/spring-aop-5.0.1.RELEASE.jar!/" /> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/5.0.1.RELEASE/spring-beans-5.0.1.RELEASE.jar!/" /> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.0.1.RELEASE/spring-core-5.0.1.RELEASE.jar!/" /> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jcl/5.0.1.RELEASE/spring-jcl-5.0.1.RELEASE.jar!/" /> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/5.0.1.RELEASE/spring-expression-5.0.1.RELEASE.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC /> | |||
<SOURCES /> | |||
</library> | |||
</component> |
@ -0,0 +1,10 @@ | |||
<component name="libraryTable"> | |||
<library name="springframework.spring.context.indexer" type="repository"> | |||
<properties maven-id="org.springframework:spring-context-indexer:5.1.8.RELEASE" /> | |||
<CLASSES> | |||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context-indexer/5.1.8.RELEASE/spring-context-indexer-5.1.8.RELEASE.jar!/" /> | |||
</CLASSES> | |||
<JAVADOC /> | |||
<SOURCES /> | |||
</library> | |||
</component> |
@ -0,0 +1,13 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project version="4"> | |||
<component name="MavenProjectsManager"> | |||
<option name="originalFiles"> | |||
<list> | |||
<option value="$PROJECT_DIR$/pom.xml" /> | |||
</list> | |||
</option> | |||
</component> | |||
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="corretto-18" project-jdk-type="JavaSDK"> | |||
<output url="file://$PROJECT_DIR$" /> | |||
</component> | |||
</project> |
@ -0,0 +1,8 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project version="4"> | |||
<component name="ProjectModuleManager"> | |||
<modules> | |||
<module fileurl="file://$PROJECT_DIR$/primerEjemplo.iml" filepath="$PROJECT_DIR$/primerEjemplo.iml" /> | |||
</modules> | |||
</component> | |||
</project> |
@ -0,0 +1,124 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project version="4"> | |||
<component name="Palette2"> | |||
<group name="Swing"> | |||
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> | |||
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" /> | |||
</item> | |||
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> | |||
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" /> | |||
</item> | |||
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false"> | |||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" /> | |||
</item> | |||
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true"> | |||
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" /> | |||
</item> | |||
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false"> | |||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" /> | |||
<initial-values> | |||
<property name="text" value="Button" /> | |||
</initial-values> | |||
</item> | |||
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false"> | |||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> | |||
<initial-values> | |||
<property name="text" value="RadioButton" /> | |||
</initial-values> | |||
</item> | |||
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false"> | |||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> | |||
<initial-values> | |||
<property name="text" value="CheckBox" /> | |||
</initial-values> | |||
</item> | |||
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false"> | |||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" /> | |||
<initial-values> | |||
<property name="text" value="Label" /> | |||
</initial-values> | |||
</item> | |||
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> | |||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> | |||
<preferred-size width="150" height="-1" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> | |||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> | |||
<preferred-size width="150" height="-1" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> | |||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> | |||
<preferred-size width="150" height="-1" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true"> | |||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> | |||
<preferred-size width="150" height="50" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> | |||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> | |||
<preferred-size width="150" height="50" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> | |||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> | |||
<preferred-size width="150" height="50" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true"> | |||
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" /> | |||
</item> | |||
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false"> | |||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> | |||
<preferred-size width="150" height="50" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false"> | |||
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3"> | |||
<preferred-size width="150" height="50" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false"> | |||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> | |||
<preferred-size width="150" height="50" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false"> | |||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> | |||
<preferred-size width="200" height="200" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false"> | |||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> | |||
<preferred-size width="200" height="200" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true"> | |||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> | |||
</item> | |||
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false"> | |||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> | |||
</item> | |||
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> | |||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" /> | |||
</item> | |||
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> | |||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" /> | |||
</item> | |||
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false"> | |||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1"> | |||
<preferred-size width="-1" height="20" /> | |||
</default-constraints> | |||
</item> | |||
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> | |||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" /> | |||
</item> | |||
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> | |||
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" /> | |||
</item> | |||
</group> | |||
</component> | |||
</project> |
@ -0,0 +1,34 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<projectDescription> | |||
<name>primerEjemplo</name> | |||
<comment></comment> | |||
<projects> | |||
</projects> | |||
<buildSpec> | |||
<buildCommand> | |||
<name>org.eclipse.jdt.core.javabuilder</name> | |||
<arguments> | |||
</arguments> | |||
</buildCommand> | |||
<buildCommand> | |||
<name>org.eclipse.m2e.core.maven2Builder</name> | |||
<arguments> | |||
</arguments> | |||
</buildCommand> | |||
</buildSpec> | |||
<natures> | |||
<nature>org.eclipse.jdt.core.javanature</nature> | |||
<nature>org.eclipse.m2e.core.maven2Nature</nature> | |||
</natures> | |||
<filteredResources> | |||
<filter> | |||
<id>1668183688460</id> | |||
<name></name> | |||
<type>30</type> | |||
<matcher> | |||
<id>org.eclipse.core.resources.regexFilterMatcher</id> | |||
<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments> | |||
</matcher> | |||
</filter> | |||
</filteredResources> | |||
</projectDescription> |
@ -0,0 +1,2 @@ | |||
eclipse.preferences.version=1 | |||
org.eclipse.jdt.apt.aptEnabled=false |
@ -0,0 +1,8 @@ | |||
eclipse.preferences.version=1 | |||
org.eclipse.jdt.core.compiler.annotation.nonnull=org.springframework.lang.NonNull | |||
org.eclipse.jdt.core.compiler.annotation.nullable=org.springframework.lang.Nullable | |||
org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled | |||
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning | |||
org.eclipse.jdt.core.compiler.problem.nullReference=warning | |||
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=warning | |||
org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning |
@ -0,0 +1,4 @@ | |||
activeProfiles= | |||
eclipse.preferences.version=1 | |||
resolveWorkspaceProjects=true | |||
version=1 |
@ -0,0 +1,53 @@ | |||
<h1>ANOTACIONES </h1> | |||
<h3>Autowired </h3> | |||
<p>Tiene el mismo efecto que la configuracion via XML</p> | |||
<p>Busca un bean y lo inyecta en la depencia</p> | |||
<p>Se realiza un autocableado byType </p> | |||
<h4>*****Donde lo podemos usar******</h4> | |||
<p>Lo podemos utilizar en un metodo setter</p> | |||
```java | |||
@Autowired | |||
public void setPeliculas(PeliculasServicio peliculasServicio){....} | |||
``` | |||
<p>Definicion en la propiedad</p> | |||
```java | |||
@Autowired | |||
private PeliculaServicio peliculaServicio; | |||
``` | |||
<p>En el constructor</p> | |||
```java | |||
@Autowired | |||
public PeliculaServicio(PeliculaServicio){....} | |||
``` | |||
<p>Ejemplo en el xml </p> | |||
```xml | |||
<bean id="peliculaDaoMemory" | |||
class="com.primerEjemplo.PeliculaImplements" | |||
init-method="cargarDatos" /> | |||
<bean id="peliculaService" class="com.primerEjemplo.Modelo.PeliculaServicio" autowire="byType"/> | |||
``` | |||
<p>Ejemplo del main</p> | |||
```java | |||
// Necesitamos el bean de servicios para printar por pantalla la logica | |||
PeliculaServicio peliculaService = appContext.getBean(PeliculaServicio.class); | |||
peliculaService.peliculasPorGenero("Drama").forEach(System.out::println); | |||
appContext.close(); | |||
``` | |||
@ -0,0 +1,47 @@ | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<groupId>com.primerEjemplo</groupId> | |||
<artifactId>primerEjemplo</artifactId> | |||
<version>0.0.1-SNAPSHOT</version> | |||
<build> | |||
<plugins> | |||
<plugin> | |||
<groupId>org.apache.maven.plugins</groupId> | |||
<artifactId>maven-compiler-plugin</artifactId> | |||
<configuration> | |||
<source>16</source> | |||
<target>16</target> | |||
</configuration> | |||
</plugin> | |||
</plugins> | |||
</build> | |||
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> | |||
<dependencies> | |||
<dependency> | |||
<groupId>org.springframework</groupId> | |||
<artifactId>spring-context</artifactId> | |||
<version>5.3.23</version> | |||
</dependency> | |||
<!-- https://mvnrepository.com/artifact/org.json/json --> | |||
<dependency> | |||
<groupId>org.json</groupId> | |||
<artifactId>json</artifactId> | |||
<version>20140107</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>com.github.javafaker</groupId> | |||
<artifactId>javafaker</artifactId> | |||
<version>1.0.2</version> | |||
</dependency> | |||
</dependencies> | |||
<properties> | |||
<maven.compiler.source>1.8</maven.compiler.source> | |||
<maven.compiler.target>1.8</maven.compiler.target> | |||
</properties> | |||
</project> |
@ -0,0 +1,40 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> | |||
<component name="FacetManager"> | |||
<facet type="Spring" name="Spring"> | |||
<configuration> | |||
<fileset id="fileset" name="Spring Application Context" removed="false"> | |||
<file>file://$MODULE_DIR$/src/main/resources/beans.xml</file> | |||
</fileset> | |||
</configuration> | |||
</facet> | |||
</component> | |||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_16"> | |||
<output url="file://$MODULE_DIR$/target/classes" /> | |||
<output-test url="file://$MODULE_DIR$/target/test-classes" /> | |||
<content url="file://$MODULE_DIR$"> | |||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> | |||
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> | |||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> | |||
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" /> | |||
<excludeFolder url="file://$MODULE_DIR$/target" /> | |||
</content> | |||
<orderEntry type="inheritedJdk" /> | |||
<orderEntry type="sourceFolder" forTests="false" /> | |||
<orderEntry type="library" name="github.java.json.tools.btf" level="project" /> | |||
<orderEntry type="library" name="springframework.spring.context" level="project" /> | |||
<orderEntry type="library" name="springframework.spring.context.indexer" level="project" /> | |||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.23" level="project" /> | |||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.23" level="project" /> | |||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.23" level="project" /> | |||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.23" level="project" /> | |||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.23" level="project" /> | |||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.23" level="project" /> | |||
<orderEntry type="library" name="Maven: org.json:json:20140107" level="project" /> | |||
<orderEntry type="library" name="Maven: com.github.javafaker:javafaker:1.0.2" level="project" /> | |||
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.5" level="project" /> | |||
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:android:1.23" level="project" /> | |||
<orderEntry type="library" name="Maven: com.github.mifmif:generex:1.0.2" level="project" /> | |||
<orderEntry type="library" name="Maven: dk.brics.automaton:automaton:1.11-8" level="project" /> | |||
</component> | |||
</module> |
@ -0,0 +1,114 @@ | |||
package Lib; | |||
import java.util.IllegalFormatException; | |||
public class Ansi { | |||
public enum Color { | |||
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, NONE | |||
} | |||
public enum ColorType { | |||
FOREGROUND, BACKGROUND | |||
} | |||
public static final String ESC = "\u001b["; | |||
public static final String RESET = ESC + "0m"; | |||
public static final String HIGH_INTENSITY = ESC + "[1m"; | |||
public static final String LOW_INTESITY = ESC + "[2m"; | |||
public static final String ITALIC = ESC + "[3m"; | |||
public static final String UNDERLINE = ESC + "[4m"; | |||
public static final String BLINK = ESC + "[5m"; | |||
public static final String RAPID_BLINK = ESC + "[6m"; | |||
public static final String REVERSE_VIDEO = ESC + "[7m"; | |||
public static final String INVISIBLE_TEXT = ESC + "[8m"; | |||
private Ansi() { } | |||
public static Color randomColor() { | |||
int min = 0; | |||
int max = Color.values().length - 1; | |||
int alea =Util.random(min, max); | |||
return Color.values()[alea]; | |||
} | |||
public static void print(char c, Color fg, Color bg) { | |||
printTo(c, -1, -1, false, fg, bg); | |||
} | |||
public static void printTo(char c, int col, int row) { | |||
printTo(c, col, row, false, Color.NONE, Color.NONE); | |||
} | |||
public static void printTo(char c, int col, int row, boolean bold, Color fg, Color bg) { | |||
String color = getColorStr(bold, fg, bg); | |||
if(row > 0 || col > 0) | |||
System.out.print(ESC + row + ";" + col + "f"); | |||
System.out.print(color + c); | |||
if(!color.isEmpty()) | |||
System.out.print(RESET); | |||
System.out.flush(); | |||
} | |||
private static String getColorStr(boolean bold, Color fg, Color bg) { | |||
String fgColor = getColor(fg, ColorType.FOREGROUND); | |||
String bgColor = getColor(bg, ColorType.BACKGROUND); | |||
String negrita = (bold ? "1" : "0"); | |||
String color = ""; | |||
if(!fgColor.isEmpty() || !bgColor.isEmpty()) { | |||
color = ESC + negrita; | |||
color += (!fgColor.isEmpty() ? ";" + fgColor : ""); | |||
color += (!bgColor.isEmpty() ? ";" + bgColor : ""); | |||
color += "m"; | |||
} | |||
return color; | |||
} | |||
public static String format(String s, boolean bold, Color fg, Color bg, Object...args) throws IllegalFormatException { | |||
String color = getColorStr(bold, fg, bg); | |||
return color + String.format(s, args) + RESET; | |||
} | |||
public static void printf(String s, boolean bold, Color fg, Color bg, Object...args) throws IllegalFormatException { | |||
String color = getColorStr(bold, fg, bg); | |||
// String text = String.format(s, args); | |||
System.out.printf(color + s, args); | |||
System.out.print(RESET); | |||
System.out.flush(); | |||
} | |||
public static String getColor(Color c, ColorType ct) { | |||
String result = ""; | |||
if(c != Color.NONE) { | |||
switch(ct) { | |||
case FOREGROUND: | |||
result = "3" + c.ordinal(); | |||
break; | |||
case BACKGROUND: | |||
result = "4" + c.ordinal(); | |||
break; | |||
} | |||
} | |||
return result; | |||
} | |||
public static void clearScreen() { | |||
System.out.print(ESC + "H"); | |||
System.out.print(ESC + "2J"); | |||
System.out.flush(); | |||
} | |||
public static void hideCursor() { | |||
System.out.print(ESC + "?25l"); | |||
System.out.flush(); | |||
} | |||
public static void showCursor() { | |||
System.out.print(ESC + "?25h"); | |||
System.out.flush(); | |||
} | |||
public static void cleanScreen() { | |||
} | |||
} |
@ -0,0 +1,36 @@ | |||
package Lib; | |||
import java.util.Random;; | |||
public class Bombo { | |||
private final int[] array; | |||
private int validos; | |||
private final Random random; | |||
public Bombo(int cantidadElementos, int valorMinimo) { | |||
random = new Random(); | |||
array = new int[cantidadElementos]; | |||
for (int i = 0; i < array.length; i++) { | |||
array[i] = valorMinimo; | |||
valorMinimo++; | |||
} | |||
validos = cantidadElementos - 1; | |||
} | |||
public int extraerBola() { | |||
if (validos >= 0) { | |||
int indice = random.nextInt(validos - 0 + 1) + 0; | |||
int numero = array[indice]; | |||
array[indice] = array[validos]; | |||
array[validos] = numero; | |||
validos--; | |||
return numero; | |||
} | |||
return Integer.MIN_VALUE; | |||
} | |||
public void reset() { | |||
validos = array.length - 1; | |||
} | |||
} |
@ -0,0 +1,438 @@ | |||
package Lib; | |||
import java.text.SimpleDateFormat; | |||
import java.time.LocalDate; | |||
import java.util.Arrays; | |||
import java.util.Calendar; | |||
import java.util.Date; | |||
import java.util.GregorianCalendar; | |||
import java.util.concurrent.ThreadLocalRandom; | |||
import java.util.regex.Pattern; | |||
public class Control { | |||
private static String userStr; | |||
private static int usrInt; | |||
private static boolean correct; | |||
private static final Pattern REGEXP = Pattern.compile("[0-9]{8}[A-Z]"); | |||
private static final Pattern REGEXP1 = Pattern.compile("[0-9]{8}"); | |||
private static final String DIGITO_CONTROL = "TRWAGMYFPDXBNJZSQVHLCKE"; | |||
private static final String[] INVALIDOS = new String[]{"00000000T", "00000001R", "99999999R"}; | |||
/** | |||
* @param tittle for your menu | |||
* @param sentence/s for your choices | |||
* @returns the value of your choice | |||
*/ | |||
public static int menuGenerator(String tittle, String[] sentence) { | |||
System.out.println("\n*****************"); | |||
System.out.printf("** %S **\n", tittle); | |||
System.out.println("*****************\n"); | |||
for (int i = 0; i < sentence.length; i++) { | |||
sentence[i] = String.format("%d %S\n", (i), sentence[i]); | |||
System.out.println(sentence[i]); | |||
} | |||
System.out.println("Choose one option"); | |||
int option = Integer.parseInt(Util.myInput.nextLine()); | |||
boolean correct = option > 0; | |||
do { | |||
if (option > sentence.length) { | |||
System.out.println("Please your answer must be between the range"); | |||
option = -1; | |||
} else { | |||
Ansi.clearScreen(); | |||
return option; | |||
} | |||
} while (!correct); | |||
return option; | |||
} | |||
/** | |||
* @param initializer | |||
* @param tittle | |||
* @param sentence | |||
* @return | |||
*/ | |||
public static int menuGenerator(int initializer, String tittle, String[] sentence) { | |||
System.out.println("\n*****************"); | |||
System.out.printf("** %S **\n", tittle); | |||
System.out.println("*****************\n"); | |||
for (int i = initializer; i < sentence.length; i++) { | |||
sentence[i] = String.format("%d %S\n", (i), sentence[i]); | |||
System.out.println(sentence[i]); | |||
} | |||
System.out.println("Choose one option"); | |||
int option = Integer.parseInt(Util.myInput.nextLine()); | |||
if (option > sentence.length) { | |||
System.out.println("Please your answer must be between the range"); | |||
option = -1; | |||
} else { | |||
Ansi.clearScreen(); | |||
return option; | |||
} | |||
return option; | |||
} | |||
public static int getEdad(GregorianCalendar edad) { | |||
int anyoNacimiento = edad.get(Calendar.YEAR); | |||
int mesNacimiento = edad.get(Calendar.MONTH) + 1; // | |||
int diaNacimiento = edad.get(Calendar.DAY_OF_MONTH); | |||
GregorianCalendar fecha = new GregorianCalendar(); | |||
int anyoActual = fecha.get(Calendar.YEAR); | |||
int mesActual = fecha.get(Calendar.MONTH) + 1; | |||
int diaActual = fecha.get(Calendar.DAY_OF_MONTH); | |||
int edad1 = anyoActual - anyoNacimiento; | |||
if (mesActual < mesNacimiento) { | |||
edad1--; | |||
} else if (mesActual == mesNacimiento) { | |||
if (diaActual < diaNacimiento) { | |||
edad1--; | |||
} | |||
} | |||
return edad1; | |||
} | |||
/** | |||
* @param min introduce the minimum date you want | |||
* @param max introduce the maximum date you want | |||
* @return | |||
*/ | |||
public static GregorianCalendar randBirth(int min, int max) { | |||
GregorianCalendar gc = new GregorianCalendar(); | |||
// we create a date between these two years | |||
// int year = Lib.randBetween(1900, 2010); | |||
if (min < 1900) { | |||
System.out.println("The date needs to be greater than " + min); | |||
} | |||
int year = Util.randBetween(min, max); | |||
// we set the our own year to one gc YEAR | |||
gc.set(gc.YEAR, year); | |||
// get a random day of the year | |||
int dayOfYear = Util.randBetween(1, gc.getActualMaximum(gc.DAY_OF_YEAR)); | |||
// then we obtain our last item | |||
gc.set(gc.DAY_OF_YEAR, dayOfYear); | |||
// print out an example(*we need to format this in order to print this | |||
// correctly) | |||
// System.out.println(gc.get(gc.YEAR) + "-" + (gc.get(gc.MONTH) + 1) + "-" + | |||
// gc.get(gc.DAY_OF_MONTH)); | |||
return gc; | |||
} | |||
/** | |||
* | |||
* @return gregoriancalendar formated () that the user has introduced | |||
*/ | |||
// public static GregorianCalendar birthFormat() { | |||
// System.out.println(" Fecha (dd-mm-yyyy)"); | |||
// userStr = Util.myInput.nextLine(); | |||
// SimpleDateFormat sdf = new SimpleDateFormat("DD-MM-YYYY"); | |||
// // GregorianCalendar birth = null; | |||
// do { | |||
// try { | |||
// Date date = sdf.parse(userStr); | |||
// birth = new GregorianCalendar(); | |||
// birth.setTime(date); | |||
// correct = true; | |||
// } catch (Exception e) { | |||
// correct = false; | |||
// System.out.println("The format that you've introduced is not correct"); | |||
// } | |||
// } while (!correct); | |||
// return birth; | |||
// } | |||
/** | |||
* @return gregoriancalendar formated () that the user has introduced | |||
*/ | |||
public static String birthFormat(GregorianCalendar yourDate) { | |||
SimpleDateFormat sdf = new SimpleDateFormat("DD-MM-YYYY"); | |||
String dateFormatted = sdf.format( | |||
yourDate.getTime()); | |||
return dateFormatted; | |||
} | |||
/** | |||
* @param <T> | |||
* @param yourDate | |||
* @return the formatted date | |||
*/ | |||
public static <T> String dateFormated(T yourDate) { | |||
SimpleDateFormat sdf = new SimpleDateFormat("DD-MM-YYYY"); | |||
String dateFormatted = sdf.format( | |||
((Calendar) yourDate).getTime()); | |||
return dateFormatted; | |||
} | |||
/** | |||
* @param message introduce the message you want to ask to the user | |||
* @param validate validate each one of your validated options | |||
* @return true if it matches any asnwers and false if it does not. | |||
*/ | |||
public static boolean one(String message, char[] validate) { | |||
int index = 0; | |||
System.out.printf(message); | |||
char c = Util.myInput.nextLine().toLowerCase().charAt(index); | |||
for (int i = 0; i < validate.length; i++) { | |||
if (validate[i] == c) { | |||
correct = true; | |||
} else { | |||
correct = false; | |||
} | |||
} | |||
return correct; | |||
} | |||
/** | |||
* @param message introduce the message you want to ask to the user | |||
* @param validate validate the option you want to compare if it is equal to | |||
* other one. | |||
* @return true if it matches any asnwers and false if it does not. | |||
*/ | |||
public static boolean one(String message, char validate) { | |||
int index = 0; | |||
System.out.println(message); | |||
String validateStr = validate + ""; | |||
validate = validateStr.toLowerCase().charAt(index); | |||
char c = Util.myInput.nextLine().toLowerCase().charAt(index); | |||
if (validate == c) | |||
return true; | |||
return false; | |||
} | |||
public static boolean one(char[] validate, char election) { | |||
for (int i = 0; i < validate.length; i++) { | |||
if (validate[i] == election) { | |||
correct = true; | |||
} else { | |||
correct = false; | |||
} | |||
} | |||
return correct; | |||
} | |||
/** | |||
* @param dni introduce 8 digits for your dni | |||
* @return the correct char for your dni (String) | |||
*/ | |||
public static String DNIgeneratorChar(int dni) { | |||
String str = "TRWAGMYFPDXBNJZSQVHLCKE"; | |||
char letra = 'a'; | |||
int result = dni % str.length(); | |||
String dniStr = null; | |||
dniStr = String.valueOf(dni); | |||
if (REGEXP1.matcher(dniStr).matches()) { | |||
letra = str.charAt(result); | |||
} else { | |||
System.out.print("Dni invalido\n"); | |||
System.out.println("Presione enter para continuar..."); | |||
Util.myInput.nextLine(); | |||
} | |||
return dniStr + letra; | |||
} | |||
/** | |||
* @param dni introduce 8 digits for your dni | |||
* @return the correct char for your dni (String) | |||
*/ | |||
public static String DNIgeneratorChar(String dni) { | |||
String str = "TRWAGMYFPDXBNJZSQVHLCKE"; | |||
char letra = 'a'; | |||
// parsing the dni String to int in order to give us the correct mod for the | |||
// calculation | |||
int intDni = Integer.parseInt(dni); | |||
int result = intDni % str.length(); | |||
String dniStr = null; | |||
// parsing the dni int to String | |||
dniStr = String.valueOf(dni); | |||
if (REGEXP1.matcher(dniStr).matches()) { | |||
letra = str.charAt(result); | |||
} else { | |||
System.out.print("Dni invalido\n"); | |||
System.out.println("Presione enter para continuar..."); | |||
Util.myInput.nextLine(); | |||
} | |||
return dniStr + letra; | |||
} | |||
/** | |||
* @param dni validates your dni | |||
* @return true if its correct and false otherwise | |||
*/ | |||
public boolean validateDNI(String dni) { | |||
return Arrays.binarySearch(INVALIDOS, dni) < 0 // (1) | |||
&& REGEXP.matcher(dni).matches() // (2) | |||
&& dni.charAt(8) == DIGITO_CONTROL.charAt(Integer.parseInt(dni.substring(0, 8)) % 23); // (3) | |||
} | |||
/** | |||
* @param numStr | |||
* @returns only digits from the inserted String | |||
*/ | |||
public int strToInt(String numStr) { | |||
int num = 0; | |||
try { | |||
num = Integer.parseInt(numStr); | |||
} catch (NumberFormatException ex) { | |||
ex.printStackTrace(); | |||
} | |||
return num; | |||
} | |||
/** | |||
* @return generate a random localDate | |||
*/ | |||
public static LocalDate rndLocalDate() { | |||
long minDay = LocalDate.of(1970, 1, 1).toEpochDay(); | |||
LocalDate lt = LocalDate.now(); | |||
int maxDay = lt.getYear(); | |||
long randomDay = ThreadLocalRandom.current().nextLong(minDay, maxDay); | |||
LocalDate randomDate = LocalDate.ofEpochDay(randomDay); | |||
return randomDate; | |||
} | |||
/** | |||
* @param min the year you wanna put | |||
* @return a random localDate | |||
*/ | |||
public static LocalDate rndLocalDate(LocalDate min) { | |||
// long minDay = min.toEpochDay(); | |||
LocalDate lt = LocalDate.now(); | |||
int maxDay = lt.getYear(); | |||
int minDay = min.getYear(); | |||
// long randomDay = ThreadLocalRandom.current().nextLong(minDay, maxDay); | |||
long randomDay = ThreadLocalRandom.current().nextLong(minDay, maxDay); | |||
LocalDate randomDate = LocalDate.ofEpochDay(randomDay); | |||
return randomDate; | |||
} // public static GregorianCalendar birthFormat() { | |||
// System.out.println(" Fecha (dd-mm-yyyy)"); | |||
// userStr = Util.myInput.nextLine(); | |||
// SimpleDateFormat sdf = new SimpleDateFormat("DD-MM-YYYY"); | |||
// // GregorianCalendar birth = null; | |||
// do { | |||
// try { | |||
// Date date = sdf.parse(userStr); | |||
// birth = new GregorianCalendar(); | |||
// birth.setTime(date); | |||
// correct = true; | |||
// } catch (Exception e) { | |||
// correct = false; | |||
// System.out.println("The format that you've introduced is not correct"); | |||
// } | |||
// } while (!correct); | |||
// return birth; | |||
// } | |||
/** | |||
* @param <T> | |||
* @param values the enum you would like to loop | |||
* @return the choice you made | |||
*/ | |||
public static <T extends Enum<T>> Enum<T> selectEnum(T[] values) { | |||
do { | |||
System.out.println("These are the options avaliable.\nPlease select one of these."); | |||
for (int i = 0; i < values.length; i++) { | |||
System.out.println(i + " " + values[i]); | |||
} | |||
String message = "Select a number "; | |||
int choice = Util.validateInt(message, 0, values.length); | |||
for (int i = 0; i < values.length; i++) { | |||
if (i == choice) { | |||
return values[i]; | |||
} else { | |||
correct = false; | |||
} | |||
} | |||
System.out.println("Your choice must be between the range"); | |||
} while (correct); | |||
return null; | |||
} | |||
/** | |||
* @param option you must select | |||
* @return the data that has matched with the input of the user; or null if it | |||
* doens't | |||
*/ | |||
public static <T> T checkOptions(String[] option) { | |||
do { | |||
System.out.println("Introduce one answer for the avaliable options " + Arrays.toString(option)); | |||
String usr = Util.myInput.nextLine(); | |||
for (int i = 0; i < option.length; i++) { | |||
if (option[i].equalsIgnoreCase(usr)) { | |||
return (T) usr; | |||
} else { | |||
correct = false; | |||
} | |||
} | |||
System.out.println("Please insert a valid option"); | |||
} while (!correct); | |||
return null; | |||
} | |||
/** | |||
* @param min LocalDate you want to insert | |||
* @param max LocalDate youw ant to insert | |||
* @return random Date between the range | |||
*/ | |||
public static LocalDate rndLD(LocalDate min, LocalDate max) { | |||
long minDay = LocalDate.of(min.getYear(), min.getMonth(), min.getDayOfMonth()).toEpochDay(); | |||
long maxDay = LocalDate.of(max.getYear(), max.getMonth(), max.getDayOfMonth()).toEpochDay(); | |||
long randomDay = ThreadLocalRandom.current().nextLong(minDay, maxDay); | |||
LocalDate rnDate = LocalDate.ofEpochDay(randomDay); | |||
return rnDate; | |||
} | |||
/** | |||
* @param dni | |||
* @return el dni | |||
*/ | |||
public static char letraNIF(int dni) { | |||
String tabla = "TRWAGMYFPDXBNJZSQVHLCKE"; | |||
int modulo = dni % 23; | |||
return tabla.charAt(modulo); | |||
} | |||
} |
@ -0,0 +1,57 @@ | |||
package Lib; | |||
import java.time.LocalDate; | |||
import java.time.ZoneId; | |||
import java.util.ArrayList; | |||
import java.util.GregorianCalendar; | |||
public class Conversion { | |||
static ArrayList<Object> arrayListObj = new ArrayList<Object>(); | |||
static ArrayList<Integer> arrayList = new ArrayList<Integer>(); | |||
private ArrayList<Object> maxSpeed; | |||
public static <T> ArrayList<Object> arrToArrListObj(T[] SPEEDARRAY) { | |||
for (T t : SPEEDARRAY) { | |||
arrayListObj.add(t); | |||
} | |||
return arrayListObj; | |||
} | |||
/** | |||
* | |||
* @param <T> | |||
* @param SPEEDARRAY recieves a Generic array | |||
* @returns an Integer arrayList | |||
*/ | |||
public static <T> ArrayList<Integer> arrToArrList(T[] SPEEDARRAY) { | |||
for (T t : SPEEDARRAY) { | |||
arrayList.add((Integer) t); | |||
} | |||
return arrayList; | |||
} | |||
public String showAll() { | |||
String concate = ""; | |||
for (Object integer : maxSpeed) { | |||
concate += (integer + ","); | |||
} | |||
return concate; | |||
} | |||
/** | |||
* | |||
* @param date localdate | |||
* @return gregorianCalendar | |||
*/ | |||
public static GregorianCalendar convertLDtoGre(LocalDate date) { | |||
GregorianCalendar gc = GregorianCalendar.from(date.atStartOfDay(ZoneId.systemDefault())); | |||
return gc; | |||
} | |||
} |
@ -0,0 +1,76 @@ | |||
package Lib; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
public class MyArr { | |||
/** | |||
* | |||
* @param original original array | |||
* @param implement the new array you want to merge with the previous one | |||
* @returns the new emerged array (int) | |||
*/ | |||
public static int[] mergeArray(int original[], int implement[]) { | |||
int newLength = original.length + implement.length; | |||
int newArr[] = Arrays.copyOf(original, newLength); | |||
for (int i = 0; i < implement.length; i++) { | |||
newArr[original.length + i] = implement[i]; | |||
} | |||
return newArr; | |||
} | |||
/** | |||
* | |||
* @param <T> | |||
* @param original | |||
* @param implement | |||
* @return the new implement obj array | |||
*/ | |||
public static <T> T[] mergeArray(T original[], T implement[]) { | |||
int newLength = original.length + implement.length; | |||
T[] newArr = Arrays.copyOf(original, newLength); | |||
for (int i = 0; i < implement.length; i++) { | |||
newArr[original.length + i] = implement[i]; | |||
} | |||
return newArr; | |||
} | |||
/** | |||
* | |||
* @param <T> | |||
* @param arr | |||
* @return the random obj selected | |||
*/ | |||
public static <T> T getRndValueArr(T arr[]) { | |||
// Store the index in a variable | |||
// int rnd = (int) (Math.random() * arr.length); | |||
int rnd = (Util.random).nextInt(arr.length); | |||
// Then access it using another variable | |||
T random = (arr[rnd]); | |||
return random; | |||
} | |||
public static <T> Object[] mergeObj(Object[] eggs, Object[] perls) { | |||
int newLength = eggs.length + perls.length; | |||
Object[] newArr = Arrays.copyOf(eggs, newLength); | |||
try { | |||
for (int i = 0; i < perls.length; i++) { | |||
newArr[eggs.length + i] = perls[i]; | |||
} | |||
} catch (ArrayStoreException ase) { | |||
ase.printStackTrace(); | |||
} | |||
return newArr; | |||
} | |||
public String getRandom(ArrayList<String> array) { | |||
int index = 0; | |||
index = Util.random.nextInt(array.size()); | |||
System.out.println("This is the index " + index); | |||
// array.remove(index); | |||
return array.get(index); | |||
} | |||
} |
@ -0,0 +1,315 @@ | |||
package Lib; | |||
import java.util.Scanner; | |||
import java.util.UUID; | |||
import java.text.SimpleDateFormat; | |||
import java.time.LocalDate; | |||
import java.time.format.DateTimeFormatter; | |||
import java.time.temporal.TemporalAccessor; | |||
import java.util.Date; | |||
import java.util.GregorianCalendar; | |||
import java.util.Random; | |||
public class Util { | |||
public static Scanner myInput = new Scanner(System.in); | |||
public static Random random = new Random(); | |||
private static boolean correct = true; | |||
public static void pause() { | |||
System.out.println("Press enter to continue ...."); | |||
myInput.nextLine(); | |||
} | |||
public static int randBetween(int start, int end) { | |||
return start + (int) Math.round(Math.random() * (end - start)); | |||
} | |||
public static int random(int min, int max) { | |||
Random r = new Random(); | |||
return r.nextInt(max - min + 1) + min; | |||
} | |||
public static double randomDouble(int min, int max) { | |||
Random r = new Random(); | |||
return r.nextInt(max - min + 1) + min; | |||
} | |||
public static void clearScreen() { | |||
System.out.println("\u000C"); | |||
} | |||
public static void cleanScreen() { | |||
System.out.print("\033[H\033[2J"); | |||
System.out.flush(); | |||
} | |||
/** | |||
* | |||
* @param message | |||
* @param max | |||
* @param min | |||
* @return | |||
*/ | |||
public static int validateInt(String message, int min, int max) { | |||
int userInt = 0; | |||
do { | |||
try { | |||
System.out.println(message); | |||
userInt = myInput.nextInt(); | |||
// userInt = Integer.parseInt(Util.myInput.nextLine()); | |||
if (correct = userInt >= min && userInt <= max) { | |||
correct = true; | |||
} else { | |||
System.out.println("The number must be between" + min + " and " + max); | |||
correct = false; | |||
} | |||
} catch (NumberFormatException e) { | |||
System.out.println("Error"); | |||
Util.pause(); | |||
} | |||
} while (!correct); | |||
return userInt; | |||
} | |||
/** | |||
* | |||
* @param message to validate | |||
* @return DOUBLE | |||
*/ | |||
public static double validateDouble(String message) { | |||
double userDouble = 0; | |||
do { | |||
try { | |||
System.out.println(message); | |||
userDouble = myInput.nextDouble(); | |||
// userDouble = Double.parseDouble(Util.myInput.nextLine()); | |||
correct = true; | |||
} catch (NumberFormatException e) { | |||
System.out.println("Error"); | |||
Util.pause(); | |||
} | |||
} while (!correct); | |||
return userDouble; | |||
} | |||
public static String validateString(String userStr, String errorMs) { | |||
userStr = null; | |||
String compare = ""; | |||
do { | |||
correct = userStr.equals(compare); | |||
System.out.println("Introduce un String "); | |||
try { | |||
userStr = Util.myInput.nextLine(); | |||
} catch (NumberFormatException e) { | |||
System.out.println(errorMs); | |||
correct = false; | |||
} | |||
} while (!correct); | |||
return userStr; | |||
} | |||
public String validateString1(String userStr) { | |||
userStr = null; | |||
String compare = ""; | |||
do { | |||
correct = userStr.equals(compare); | |||
System.out.println("Introduce un String "); | |||
try { | |||
userStr = Util.myInput.nextLine(); | |||
} catch (NumberFormatException e) { | |||
System.out.println("Error: El input no es un String"); | |||
correct = false; | |||
} | |||
} while (!correct); | |||
return userStr; | |||
} | |||
/** | |||
* | |||
* @param message | |||
* @param minLenght | |||
* @param maxLenght | |||
* @return | |||
*/ | |||
public static String validateString2(String message, int minLenght, int maxLenght) { | |||
String userStr; | |||
// No se inicializa porque este | |||
// si data hubiera sido un atributo hubiese sido inicializado como null | |||
do { | |||
System.out.print(message); | |||
userStr = Util.myInput.nextLine(); | |||
correct = userStr.length() >= minLenght && userStr.length() <= maxLenght; | |||
if (!correct) { | |||
System.out.printf("Longitud minima %d, maxima %d \n", minLenght, maxLenght); | |||
Util.pause(); | |||
} | |||
} while (!correct); | |||
return userStr; | |||
} | |||
/** | |||
* | |||
* @return | |||
*/ | |||
public static int[] validateArray() { | |||
System.out.println("***VALIDACION DE UN ARRAY DE ENTEROS***"); | |||
System.out.println("Introduce la longitud del array"); | |||
int userInt; | |||
int array[] = new int[myInput.nextInt()]; | |||
try { | |||
String message = ("Introduce un numero para el array "); | |||
for (int i = 0; i < array.length; i++) { | |||
int userInt1 = 0; | |||
do { | |||
System.out.print(message); | |||
try { | |||
userInt1 = Integer.parseInt(Util.myInput.nextLine()); | |||
Util.correct = true; | |||
Util.pause(); | |||
} catch (NumberFormatException e) { | |||
System.out.println("Error: El input no es un integer"); | |||
Util.pause(); | |||
Util.correct = false; | |||
} | |||
} while (!Util.correct); | |||
userInt = userInt1; | |||
array[i] = (userInt + (i + 1)); | |||
} | |||
// estos errores no tendrian que estar controlados porque son evitables | |||
} catch (Exception e) { | |||
System.out.println("El dato tiene que ser de tipo integer"); | |||
} | |||
return array; | |||
} | |||
// min y max numeros aleatorios a generar | |||
public static void fillArrayRandom(int[] array, int min, int max) { | |||
for (int i = 0; i < array.length; i++) { | |||
array[i] = random.nextInt(max - min + 1) + min; | |||
} | |||
} | |||
/** | |||
* | |||
* @param date | |||
* @return date formated with hour minute and seconds | |||
*/ | |||
public String dateFrmTime(LocalDate date) { | |||
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); | |||
return dtf.format(date); | |||
} | |||
/** | |||
* | |||
* @param date | |||
* @return date formatted only with year | |||
*/ | |||
public static String dateFrmYear(LocalDate date) { | |||
DateTimeFormatter dt = DateTimeFormatter.ofPattern("dd/MM/yyyy"); | |||
return dt.format(date); | |||
} | |||
/** | |||
* | |||
* @param date | |||
* @return date formatted only with year | |||
*/ | |||
public static String dateFrmYear(Date date) { | |||
if (date != null) { | |||
SimpleDateFormat dt = new SimpleDateFormat("dd/MM/yyyy"); | |||
return dt.format(date); | |||
} | |||
return null; | |||
} | |||
/** | |||
* | |||
* @param date gregorian calendar | |||
* @return date formatted only with year | |||
*/ | |||
public static String dateFrmYear(GregorianCalendar date) { | |||
if (date != null) { | |||
try { | |||
SimpleDateFormat dt = new SimpleDateFormat("dd/MM/yyyy"); | |||
dt.setCalendar(date); | |||
return dt.format(date.getTime()); | |||
} catch (StackOverflowError sf) { | |||
sf.printStackTrace(); | |||
} | |||
} | |||
return null; | |||
} | |||
/** | |||
* | |||
* @return a class that represents an immutable universally unique identifier | |||
* (UUID). A UUID represents a 128-bit value. | |||
*/ | |||
public static String generateString() { | |||
String uuid = UUID.randomUUID().toString(); | |||
return uuid; | |||
} | |||
public static String checkAnswer(String option1, String option2) { | |||
String user = ""; | |||
do { | |||
System.out.println("Please write these two avaliable options " + (option1) + " " + option2); | |||
user = Util.myInput.nextLine(); | |||
if (user.equalsIgnoreCase(option1)) { | |||
return option1; | |||
} else if (user.equalsIgnoreCase(option2)) { | |||
return option2; | |||
} else { | |||
System.out | |||
.println("Your answer must match with the avaliable options.\nPlease write again your option."); | |||
correct = false; | |||
} | |||
} while (correct = true); | |||
return "Error"; | |||
} | |||
public static char letraNIF(int dni) { | |||
String tabla = "TRWAGMYFPDXBNJZSQVHLCKE"; | |||
int modulo = dni % 23; | |||
return tabla.charAt(modulo); | |||
} | |||
public static boolean validarNIF(String nif) { | |||
if (nif != null && nif.length() >= 2) { | |||
nif = nif.toUpperCase(); | |||
StringBuilder dniString = new StringBuilder(); | |||
// Cogemos como letra el último caracter del NIF | |||
char letra = nif.charAt(nif.length() - 1); | |||
char c; | |||
for (int i = 0; i < nif.length(); i++) { | |||
// Si es un dígito lo añadimos a dniString | |||
c = nif.charAt(i); | |||
if (Character.isDigit(c)) { | |||
dniString.append(c); | |||
} | |||
} | |||
return !dniString.toString().equals("") && letra == letraNIF(Integer.parseInt(dniString.toString())); | |||
} | |||
return false; | |||
} | |||
} |
@ -0,0 +1,170 @@ | |||
package Lib; | |||
import java.util.Formatter; | |||
public class strM { | |||
public static char charAt(String a) { | |||
char result = 'a'; | |||
// Returns the character at the specified index position. | |||
for (int i = 0; i < a.length(); i++) { | |||
result = (a.charAt(i)); | |||
} | |||
return result; | |||
} | |||
public static String replace(String str, char searchChar, char newChar) { | |||
// The replace() method searches a string for a specified character, and returns | |||
// a new string where the specified character(s) are replaced. | |||
return (str.replace(searchChar, newChar)); | |||
} | |||
public static int indexOf(String str, char character) { | |||
// The indexOf() method returns the position of the first occurrence of | |||
// specified character(s) in a string. | |||
return (str.indexOf(character)); | |||
} | |||
public static boolean startsWith(String str, String searchString) { | |||
return (str.startsWith(searchString)); | |||
} | |||
public static boolean endsWith(String str, String searchString) { | |||
return (str.endsWith(searchString)); | |||
} | |||
public static void split(String str, String searchString, int numberOfArrays) { | |||
// The string split() method breaks a given string around matches of the given | |||
// regular expression | |||
String[] arrStr = (str.split(searchString, numberOfArrays)); | |||
for (String a : arrStr) | |||
System.out.print(a + "\n"); | |||
// System.out.println(); | |||
} | |||
public static int compareTo(String str, String anotherString) { | |||
// System.out.println(str.compareTo(anotherString)); | |||
// Returns: An int value: 0 if the string is equal to the other string. | |||
// < 0 if the string is lexicographically less than the other string | |||
// > 0 if the string is lexicographically greater than the other string (more | |||
// characters) | |||
return (str.compareTo(anotherString)); | |||
} | |||
public static int compareToIngnoreCase(String str, String anotherString) { | |||
// Compare two strings, ignoring lower case and upper case differences: | |||
return (str.compareToIgnoreCase(anotherString)); | |||
} | |||
public static boolean contains(String str, String searchString) { | |||
// The contains() method checks whether a string contains a sequence of | |||
// characters. | |||
// Returns true if the characters exist and false if not. | |||
return (str.contains(searchString)); | |||
} | |||
public static boolean contentEquals(String str, String compareString) { | |||
// The contentEquals() method searches a string to find out if it contains the | |||
// exact same sequence of characters in the specified string or StringBuffer. | |||
return (str.contentEquals(compareString)); | |||
} | |||
public static String concat(String str, String addString) { | |||
return (str.concat(addString)); | |||
} | |||
public static String copyValueOf(char[] myChar, String removeSpaces, int offset, int count) { | |||
return (removeSpaces.copyValueOf(myChar, offset, count)); | |||
} | |||
public static boolean isEmpty(String str) { | |||
return (str.isEmpty()); | |||
} | |||
public static String trim(String str) { | |||
// trim() The trim() method removes whitespace from both ends of a string and | |||
// returns a new string, without modifying the original string. Whitespace in | |||
// this context is all the whitespace characters (space, tab, no-break space, | |||
// etc.) | |||
return (str.trim()); | |||
} | |||
public static boolean equals(String str, String anotherObject) { | |||
// The Java String class equals() method compares the two given strings based on | |||
// the content of the string. If any character is not matched, it returns false. | |||
// If all characters are matched, it returns true. The String equals() method | |||
// overrides the equals() method of the Object class. | |||
return (str.equals(anotherObject)); | |||
} | |||
public static boolean equalsIgnoreCase(String str, String anotherObject) { | |||
return (str.equalsIgnoreCase(anotherObject)); | |||
} | |||
public static String substring(String str, int offset, int count) { | |||
// A part of String is called substring. In other words, substring is a subset | |||
// of another String. Java String class provides the built-in substring() method | |||
// that extract a substring from the given string by using the index values | |||
// passed as an argument. | |||
// In case of substring() method startIndex is inclusive and endIndex is | |||
// exclusive. | |||
return (str.substring(offset, count)); | |||
} | |||
public static int indexOf(String str, int indice) { | |||
// The indexOf() method is used in Java to retrieve the index position at which | |||
// a particular character or substring appears in another string. You can use a | |||
// second argument to start your search after a particular index number in the | |||
// string. If the specified letter or letters cannot be found, indexOf() returns | |||
// -1 | |||
return (str.indexOf(str, indice)); | |||
} | |||
public static int lastIndexOf(String str, String searchString) { | |||
return (str.lastIndexOf(searchString)); | |||
} | |||
public static int lastIndexOf(String str, int searchIndex) { | |||
return (str.lastIndexOf(searchIndex)); | |||
} | |||
public static String replace(String str, String searchString, String newString) { | |||
return (str.replace(searchString, newString)); | |||
} | |||
public static String replaceAll(String str, String searchString, String newString) { | |||
return (str.replaceAll(searchString, newString)); | |||
// "[^abc]" [0 - 9] | |||
// System.out.println(s.replaceAll("[au]", "o")); | |||
// System.out.println(s.replaceAll("perro|gato", "animal")); | |||
// System.out.println(s.replaceAll("e.a", "illa")); | |||
// System.out.println(s.replaceAll("^Hola", "Te saludo")); | |||
// System.out.println(s.replaceAll("Hola$", "Te saludo")); | |||
// System.out.println(s.replaceAll("\\d", "*")); | |||
// System.out.println(s.replaceAll("\\s", "")); | |||
// System.out.println(s.replaceAll("\\s+", " ")); | |||
} | |||
public static String valueOf(String str, int convert) { | |||
// The java string valueOf() method converts different types of values into | |||
// string. By the help of string valueOf() method, you can convert int to | |||
// string, long to string, boolean to string, character to string, float to | |||
// string, double to string, object to string and char array to string. | |||
return (str = String.valueOf(convert)); | |||
} | |||
public static String stringFormat(Object args) { | |||
// The java string format() method returns the formatted string by given locale, | |||
// format and arguments. | |||
return new Formatter().format("%s", args).toString(); | |||
} | |||
} |
@ -0,0 +1,21 @@ | |||
package com.primerEjemplo; | |||
import com.primerEjemplo.Modelo.Servicio.Servicio; | |||
import org.springframework.context.support.ClassPathXmlApplicationContext; | |||
import java.io.IOException; | |||
public class App { | |||
public static void main(String[] args) throws IOException { | |||
ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext("beans.xml"); | |||
// Servicio servicio = new Servicio(); | |||
// servicio = appContext.getBean(Servicio.class); | |||
Tienda tienda = appContext.getBean(Tienda.class); | |||
appContext.close(); | |||
} | |||
} |
@ -0,0 +1,18 @@ | |||
package com.primerEjemplo.Modelo.Interfaz; | |||
import com.primerEjemplo.Modelo.Libro; | |||
import java.util.List; | |||
public interface IServicioConsulta { | |||
List<Libro> ejecutarLibro(); | |||
IServicioConsulta cualquierCategoria(String... generos); | |||
IServicioConsulta categorias(String... generos); | |||
IServicioConsulta anyo(String year); | |||
IServicioConsulta porPeriodoAnyos(String from, String to); | |||
IServicioConsulta buscarTitulo(String titulo); | |||
} |
@ -0,0 +1,17 @@ | |||
package com.primerEjemplo.Modelo.Interfaz; | |||
import com.primerEjemplo.Modelo.Libro; | |||
import java.io.FileNotFoundException; | |||
import java.util.Collection; | |||
import java.util.List; | |||
public interface IServicioLibro { | |||
Libro buscarLibro(String isbn) throws FileNotFoundException; | |||
boolean anyadirLibro(Libro libro); | |||
boolean venderLibro(String isbn); | |||
String mostrarLibroResumen(String isbn); | |||
Collection<Libro> mostrarLibrosResumen(); | |||
Collection<Libro> mostrarLibros(); | |||
} |
@ -0,0 +1,29 @@ | |||
package com.primerEjemplo.Modelo.Interfaz; | |||
import com.primerEjemplo.Modelo.Libro; | |||
import com.primerEjemplo.Modelo.ParserLibros; | |||
import java.io.File; | |||
import java.io.FileNotFoundException; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
public class InterfazDatos { | |||
public static List<Libro> getDatos() throws FileNotFoundException { | |||
List<Libro> libros; | |||
File file = new File("/home/michael/Documents/SpringProjects/SpringCore/Libros/src/main/resources/libros.json"); | |||
ParserLibros parserLibros = new ParserLibros(file); | |||
if (parserLibros.startParser()) { | |||
System.out.println("Datos Parseados"); | |||
libros = parserLibros.getLibros(); | |||
} else { | |||
System.out.println("Error al parsear"); | |||
return null; | |||
} | |||
return libros; | |||
} | |||
} |
@ -0,0 +1,164 @@ | |||
package com.primerEjemplo.Modelo; | |||
import com.github.javafaker.Faker; | |||
import java.io.File; | |||
import java.text.SimpleDateFormat; | |||
import java.time.LocalDate; | |||
import java.time.format.DateTimeFormatter; | |||
import java.util.Calendar; | |||
import java.util.Date; | |||
import java.util.List; | |||
import java.util.Objects; | |||
public class Libro { | |||
private final String isbn; | |||
private final String titulo; | |||
private final long numeroPaginas; | |||
private final String fechaPublicacion; | |||
private final String url; | |||
private final String descripcionCorta; | |||
private final String descripcionLarga; | |||
private final String estado; | |||
private final List<String> autores; | |||
private final List<String> categorias; | |||
private String anyo; | |||
private LocalDate localDate; | |||
public Libro(String isbn, String titulo, long numeroPaginas, String fechaPublicacion, String url, String descripcionCorta, String descripcionLarga, String estado, List<String> autores, List<String> categorias) { | |||
this.isbn = isbn; | |||
this.titulo = titulo; | |||
this.numeroPaginas = numeroPaginas; | |||
this.fechaPublicacion = conversionFecha(fechaPublicacion); | |||
this.url = url; | |||
this.descripcionCorta = descripcionCorta; | |||
this.descripcionLarga = descripcionLarga; | |||
this.estado = estado; | |||
this.autores = autores; | |||
this.categorias = categorias; | |||
} | |||
public String getIsbn() { | |||
return isbn; | |||
} | |||
public String getTitulo() { | |||
return titulo; | |||
} | |||
public long getNumeroPaginas() { | |||
return numeroPaginas; | |||
} | |||
public String getFechaPublicacion() { | |||
return fechaPublicacion; | |||
} | |||
public String getUrl() { | |||
return url; | |||
} | |||
public String getDescripcionCorta() { | |||
return descripcionCorta; | |||
} | |||
public String getDescripcionLarga() { | |||
return descripcionLarga; | |||
} | |||
public String getEstado() { | |||
return estado; | |||
} | |||
public List<String> getAutores() { | |||
return autores; | |||
} | |||
public List<String> getCategorias() { | |||
return categorias; | |||
} | |||
public String conversionFecha(String fecha) { | |||
if (fecha == null) { | |||
return generarFecha(); | |||
} | |||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS"); | |||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyy"); | |||
localDate = LocalDate.parse(fecha, inputFormatter); | |||
anyo = String.valueOf(localDate.getYear()); | |||
return outputFormatter.format(localDate); | |||
} | |||
public String getAnyo(){ | |||
if (anyo == null){ | |||
anyo = String.valueOf(localDate.getYear()); | |||
} | |||
return anyo; | |||
} | |||
public String generarFecha(){ | |||
Faker faker = new Faker(); | |||
Calendar calendar = Calendar.getInstance(); | |||
calendar.set(Calendar.MONTH,11); | |||
calendar.set(Calendar.DATE, 5); | |||
calendar.set(Calendar.YEAR,2009); | |||
Calendar calendar1 = Calendar.getInstance(); | |||
calendar1.set(Calendar.MONTH,11); | |||
calendar1.set(Calendar.DATE, 5); | |||
calendar1.set(Calendar.YEAR,2009); | |||
Date date = faker.date().between(calendar.getTime(),calendar1.getTime()); | |||
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd"); | |||
String fechaFormateada = ft.format(date); | |||
localDate = LocalDate.parse(fechaFormateada); | |||
anyo = String.valueOf(localDate.getYear()); | |||
return fechaFormateada; | |||
} | |||
@Override | |||
public boolean equals(Object o) { | |||
if (this == o) return true; | |||
if (o == null || getClass() != o.getClass()) return false; | |||
Libro libro = (Libro) o; | |||
return Objects.equals(isbn, libro.isbn) && Objects.equals(fechaPublicacion, libro.fechaPublicacion) && Objects.equals(estado, libro.estado) && Objects.equals(categorias, libro.categorias); | |||
} | |||
@Override | |||
public int hashCode() { | |||
return Objects.hash(isbn, fechaPublicacion, estado, categorias); | |||
} | |||
public String printarResumenLibro(){ | |||
return "Libro{" + | |||
"isbn='" + isbn + '\'' + | |||
", titulo='" + titulo + '\'' + | |||
", numeroPaginas=" + numeroPaginas + | |||
", fechaPublicacion='" + fechaPublicacion + '\'' + | |||
", estado='" + estado + '\'' + | |||
", autores=" + autores + | |||
", categorias='" + categorias + '\'' + | |||
'}'; | |||
} | |||
@Override | |||
public String toString() { | |||
return "Libro{" + | |||
"isbn='" + isbn + '\'' + | |||
", titulo='" + titulo + '\'' + | |||
", numeroPaginas=" + numeroPaginas + | |||
", fechaPublicacion='" + fechaPublicacion + '\'' + | |||
", url='" + url + '\'' + | |||
", descripcionCorta='" + descripcionCorta + '\'' + | |||
", descripcionLarga='" + descripcionLarga + '\'' + | |||
", estado='" + estado + '\'' + | |||
", autores=" + autores + | |||
", categorias='" + categorias + '\'' + | |||
'}'; | |||
} | |||
} |
@ -0,0 +1,106 @@ | |||
package com.primerEjemplo.Modelo; | |||
import com.github.javafaker.Faker; | |||
import org.json.JSONArray; | |||
import org.json.JSONException; | |||
import org.json.JSONObject; | |||
import org.json.JSONTokener; | |||
import java.io.*; | |||
import java.nio.charset.StandardCharsets; | |||
import java.text.SimpleDateFormat; | |||
import java.util.ArrayList; | |||
import java.util.Calendar; | |||
import java.util.Date; | |||
import java.util.List; | |||
public class ParserLibros { | |||
private List<Libro> libros; | |||
private final InputStream inputStream; | |||
private Faker faker = new Faker(); | |||
public ParserLibros(File file) throws FileNotFoundException { | |||
inputStream = new FileInputStream(file); | |||
} | |||
public boolean startParser() { | |||
List<String> autores; | |||
List<String> categorias; | |||
libros = new ArrayList<>(); | |||
try { | |||
int size = inputStream.available(); | |||
byte[] buffer = new byte[size]; | |||
inputStream.read(buffer); | |||
inputStream.close(); | |||
String json = new String(buffer, StandardCharsets.UTF_8); | |||
JSONTokener jsonTokener = new JSONTokener(json); | |||
JSONArray jsonArray = new JSONArray(jsonTokener); | |||
libros = new ArrayList<>(); | |||
for (int i = 0; i < jsonArray.length(); i++) { | |||
JSONObject jsonObject = jsonArray.getJSONObject(i); | |||
String titulo = jsonObject.getString("title"); | |||
long numeroPaginas = jsonObject.getLong("pageCount"); | |||
String estado = jsonObject.getString("status"); | |||
//Variables que no pueden estar | |||
String isbn; | |||
String descripcionCorta; | |||
String descripcionLarga; | |||
String url; | |||
String fechaPublicacion; | |||
try { | |||
isbn = jsonObject.getString("isbn"); | |||
descripcionCorta = jsonObject.getString("shortDescription"); | |||
descripcionLarga = jsonObject.getString("longDescription"); | |||
url = jsonObject.getString("thumbnailUrl"); | |||
fechaPublicacion = jsonObject.getString("publishedDate"); | |||
} catch (JSONException j) { | |||
descripcionCorta = null; | |||
descripcionLarga = null; | |||
url = null; | |||
isbn = faker.number().digits(10); | |||
fechaPublicacion = null; | |||
} | |||
//Rellenamos la matriz de autores | |||
JSONArray matrizAutores = jsonObject.getJSONArray("authors"); | |||
autores = new ArrayList<>(matrizAutores.length()); | |||
for (int j = 0; j < matrizAutores.length(); j++) { | |||
String autoresRecogidos = matrizAutores.getString(j); | |||
autores.add(autoresRecogidos); | |||
} | |||
//Rellenamos la matriz de categorias | |||
JSONArray matrizCategorias = jsonObject.getJSONArray("categories"); | |||
categorias = new ArrayList<>(matrizCategorias.length()); | |||
for (int j = 0; j < matrizCategorias.length(); j++) { | |||
String categoriasRecogidas = matrizCategorias.getString(j); | |||
categorias.add(categoriasRecogidas); | |||
} | |||
String fechaFormateada = null; | |||
if (fechaPublicacion != null) { | |||
fechaFormateada = fechaPublicacion.substring(0, 23); | |||
} | |||
libros.add(new Libro(isbn, titulo, numeroPaginas, fechaFormateada, url, descripcionCorta, descripcionLarga, estado, autores, categorias)); | |||
} | |||
return true; | |||
} catch (IOException e) { | |||
e.printStackTrace(); | |||
} | |||
return false; | |||
} | |||
public List<Libro> getLibros() { | |||
return libros; | |||
} | |||
} |
@ -0,0 +1,84 @@ | |||
package com.primerEjemplo.Modelo.Servicio; | |||
import com.primerEjemplo.Modelo.Interfaz.IServicioConsulta; | |||
import com.primerEjemplo.Modelo.Interfaz.IServicioLibro; | |||
import com.primerEjemplo.Modelo.Libro; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import java.time.LocalDate; | |||
import java.util.Arrays; | |||
import java.util.List; | |||
import java.util.function.Predicate; | |||
public class ImplementaIntefazServicioConsultas implements IServicioConsulta { | |||
Predicate<Libro> libroPredicate; | |||
@Autowired | |||
IServicioLibro iServicioLibro; | |||
public ImplementaIntefazServicioConsultas() { | |||
libroPredicate = null; | |||
} | |||
@Override | |||
public List<Libro> ejecutarLibro() { | |||
// return iServicioLibro.mostrarLibros().stream().filter(libroPredicate).toList(); | |||
return iServicioLibro.mostrarLibrosResumen().stream().filter(libroPredicate).toList(); | |||
} | |||
/** | |||
* | |||
* @param categorias busca la primera categoria que encuentra similar | |||
* @return la interfaz recargada con la nueva logica dentro del predicate que servira al ejecutar el libro. | |||
*/ | |||
@Override | |||
public IServicioConsulta cualquierCategoria(String... categorias) { | |||
Predicate<Libro> cualquierGenero = libro -> Arrays.stream(categorias).anyMatch(libro.getCategorias()::contains); | |||
libroPredicate = (libroPredicate == null) ? cualquierGenero : libroPredicate.and(cualquierGenero); | |||
return this; | |||
} | |||
/** | |||
* | |||
* @param categorias busca todas las categorias que encuentra similar | |||
* @return la interfaz recargada con la nueva logica dentro del predicate que servira al ejecutar el libro. | |||
*/ | |||
@Override | |||
public IServicioConsulta categorias(String... categorias) { | |||
Predicate<Libro> categoriaEspecifica = libro -> Arrays.stream(categorias).allMatch(libro.getCategorias()::contains); | |||
libroPredicate = (libroPredicate == null) ? categoriaEspecifica : libroPredicate.and(categoriaEspecifica); | |||
return this; | |||
} | |||
@Override | |||
public IServicioConsulta anyo(String year) { | |||
Predicate<Libro> anyo = libro -> libro.getFechaPublicacion().contains(year); | |||
libroPredicate = (libroPredicate == null) ? anyo : libroPredicate.and(anyo); | |||
return this; | |||
} | |||
@Override | |||
public IServicioConsulta porPeriodoAnyos(String from, String to) { | |||
Predicate<Libro> pBetweenYears = (libro -> { | |||
LocalDate fromYear = LocalDate.of(Integer.parseInt(from), 1, 1); | |||
LocalDate toYear = LocalDate.of(Integer.parseInt(to), 1, 3); | |||
LocalDate filmYear = LocalDate.of(Integer.parseInt(libro.getAnyo()), 1, 2); | |||
return filmYear.isAfter(fromYear) && filmYear.isBefore(toYear); | |||
}); | |||
libroPredicate = (libroPredicate == null) ? pBetweenYears: libroPredicate.and(pBetweenYears); | |||
return this; | |||
} | |||
@Override | |||
public IServicioConsulta buscarTitulo(String titulo) { | |||
Predicate<Libro> tituloEncontrado = (libro -> libro.getTitulo().toLowerCase().contains(titulo.toLowerCase())); | |||
libroPredicate = (libroPredicate == null) ? tituloEncontrado : libroPredicate.and(tituloEncontrado); | |||
return this; | |||
} | |||
} |
@ -0,0 +1,79 @@ | |||
package com.primerEjemplo.Modelo.Servicio; | |||
import com.primerEjemplo.Modelo.Interfaz.IServicioLibro; | |||
import com.primerEjemplo.Modelo.Interfaz.InterfazDatos; | |||
import com.primerEjemplo.Modelo.Libro; | |||
import com.primerEjemplo.Modelo.ParserLibros; | |||
import java.io.File; | |||
import java.io.FileNotFoundException; | |||
import java.util.ArrayList; | |||
import java.util.Collection; | |||
import java.util.List; | |||
public class ImplementaIntefazServicioGeneral implements IServicioLibro { | |||
private final List<Libro> libros; | |||
private Libro libro; | |||
public ImplementaIntefazServicioGeneral() throws FileNotFoundException { | |||
libros = InterfazDatos.getDatos(); | |||
} | |||
@Override | |||
public Libro buscarLibro(String isbn) { | |||
libro = iterarLibros(isbn); | |||
return libro; | |||
} | |||
@Override | |||
public boolean venderLibro(String isbn) { | |||
libro = iterarLibros(isbn); | |||
try{ | |||
if (libro.getEstado().equalsIgnoreCase("publish")){ | |||
return libros.remove(libro); | |||
} | |||
}catch (NullPointerException n){ | |||
return false; | |||
} | |||
return true; | |||
} | |||
@Override | |||
public String mostrarLibroResumen(String isbn) { | |||
libro = iterarLibros(isbn); | |||
if (libro == null){ | |||
System.out.println("Error"); | |||
} | |||
System.out.println(libro.printarResumenLibro()); | |||
return isbn; | |||
} | |||
@Override | |||
public Collection<Libro> mostrarLibrosResumen() { | |||
return libros; | |||
} | |||
@Override | |||
public Collection<Libro> mostrarLibros() { | |||
return libros; | |||
} | |||
@Override | |||
public boolean anyadirLibro(Libro libro) { | |||
return libros.add(libro); | |||
} | |||
public Libro iterarLibros(String isbn){ | |||
for (Libro value : libros) { | |||
if (value.getIsbn().equalsIgnoreCase(isbn)) { | |||
libro = value; | |||
return libro; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@ -0,0 +1,77 @@ | |||
package com.primerEjemplo.Modelo.Servicio; | |||
import com.primerEjemplo.Modelo.Interfaz.IServicioConsulta; | |||
import com.primerEjemplo.Modelo.Libro; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import java.util.Collection; | |||
import java.util.List; | |||
import java.util.stream.Collectors; | |||
@Service | |||
public class Servicio { | |||
@Autowired | |||
private ImplementaIntefazServicioGeneral implementaIntefaz; | |||
@Autowired | |||
private IServicioConsulta iServicioConsulta ; | |||
public Servicio() { | |||
} | |||
//CONSULTAS ESPECIFICAS POR CADALIBRO | |||
public List<String> mostrarCategorias(){ | |||
List<String> categorias; | |||
categorias = implementaIntefaz.mostrarLibros().stream().map(Libro::getCategorias). | |||
flatMap(Collection::stream).distinct().sorted().collect(Collectors.toList()); | |||
return categorias; | |||
} | |||
public List<Libro> mostrarCategorias(String... generos){ | |||
return iServicioConsulta.cualquierCategoria(generos).ejecutarLibro(); | |||
} | |||
public List<Libro> mostrarPorCategoria(String... genero){ | |||
return iServicioConsulta.categorias(genero).ejecutarLibro(); | |||
} | |||
public List<Libro> encontrarPorFecha(String year){ | |||
return iServicioConsulta.anyo(year).ejecutarLibro(); | |||
} | |||
public List<Libro> encontrarPorPeriodo(String from, String till){ | |||
return iServicioConsulta.porPeriodoAnyos(from,till).ejecutarLibro(); | |||
} | |||
public List<Libro> encontrarPorTitulo(String titulo){ | |||
return iServicioConsulta.buscarTitulo(titulo).ejecutarLibro(); | |||
} | |||
//BUSQUEDA GENERAL | |||
public List<Libro> mostrarLibros(){ | |||
return (List<Libro>) implementaIntefaz.mostrarLibros(); | |||
} | |||
public String mostrarResumenLibros(String isbn ){ | |||
return implementaIntefaz.mostrarLibroResumen(isbn); | |||
} | |||
public boolean anyadirLibro(Libro libro){ | |||
return implementaIntefaz.anyadirLibro(libro); | |||
} | |||
public boolean venderLibro(String isbn){ | |||
return implementaIntefaz.venderLibro(isbn); | |||
} | |||
public Libro buscarLibro(String isbn){ | |||
return implementaIntefaz.buscarLibro(isbn); | |||
} | |||
} |
@ -0,0 +1,84 @@ | |||
package com.primerEjemplo; | |||
import Lib.Control; | |||
import Lib.Util; | |||
import com.primerEjemplo.Modelo.Libro; | |||
import com.primerEjemplo.Modelo.Servicio.Servicio; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import java.util.Scanner; | |||
public class Tienda { | |||
private final Servicio servicio; | |||
@Autowired | |||
public Tienda(Servicio servicio) { | |||
this.servicio = servicio; | |||
menuPrincipal(); | |||
} | |||
public void menuPrincipal(){ | |||
Scanner scanner = Util.myInput; | |||
String[] opciones ={"Salir", "Mostrar Todos los libros", "Mostrar categorias", "Mostrar por categoria", "Mostrar por ISBN", "Mostrar por titulo", "Mostrar por periodo", "Comprar libro",}; | |||
String titulo = "BIENVENIDO A NUESTRA TIENDA"; | |||
int opcion = Control.menuGenerator(0,titulo,opciones); | |||
String respuesta; | |||
switch (opcion) { | |||
case 0 -> System.out.println("HASTA PRONTO !!"); | |||
case 1 -> servicio.mostrarLibros().forEach(System.out::println); | |||
case 2 -> servicio.mostrarCategorias().forEach(System.out::println); | |||
case 3 -> { | |||
System.out.println("Introduce el catalgo del libro"); | |||
respuesta = scanner.nextLine(); | |||
servicio.mostrarPorCategoria(respuesta).forEach(System.out::println); | |||
} | |||
case 4 -> { | |||
System.out.println("Introduce el ISBN del libro"); | |||
respuesta = scanner.nextLine(); | |||
System.out.println(servicio.buscarLibro(respuesta)); | |||
} | |||
case 5 -> { | |||
System.out.println("Introduce el titulo del libro"); | |||
respuesta = scanner.nextLine(); | |||
servicio.encontrarPorTitulo(respuesta).forEach(System.out::println); | |||
} | |||
case 6 -> { | |||
System.out.println("Introduce el desde que anyo quieres filtrar los libros "); | |||
respuesta = scanner.nextLine(); | |||
System.out.println("Introduce el anyo fin que quieres filtrar los libros"); | |||
String respuesta1 = scanner.nextLine(); | |||
servicio.encontrarPorPeriodo(respuesta, respuesta1).forEach(System.out::println); | |||
} | |||
case 7 -> { | |||
System.out.println("Introduce el isbn del libro que deseas seleccionar"); | |||
respuesta = scanner.nextLine(); | |||
System.out.println(servicio.buscarLibro(respuesta)); | |||
if (servicio.venderLibro(respuesta)){ | |||
System.out.println("LIBRO VENDIDO EXITOSAMENTE"); | |||
}else{ | |||
System.out.println("LO SENTIMOS EL LIBRO NO ESTA DISPONIBLE"); | |||
} | |||
} | |||
} | |||
Util.pause(); | |||
Util.cleanScreen(); | |||
if(Control.one("Quieres volver al menu principal s/n",'s')){ | |||
menuPrincipal(); | |||
}else{ | |||
System.out.println("Hasta luego !!"); | |||
} | |||
} | |||
} |
@ -0,0 +1,21 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<beans xmlns="http://www.springframework.org/schema/beans" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xmlns:context="http://www.springframework.org/schema/context" | |||
xsi:schemaLocation="http://www.springframework.org/schema/beans | |||
http://www.springframework.org/schema/beans/spring-beans.xsd | |||
http://www.springframework.org/schema/context | |||
http://www.springframework.org/schema/context/spring-context-4.3.xsd"> | |||
<context:annotation-config /> | |||
<bean id="implementaIntefazServicioConsultas" class="com.primerEjemplo.Modelo.Servicio.ImplementaIntefazServicioConsultas"/> | |||
<bean id="implementaIntefazServicioGeneral" class="com.primerEjemplo.Modelo.Servicio.ImplementaIntefazServicioGeneral"/> | |||
<bean id="tienda" class="com.primerEjemplo.Tienda"/> | |||
<bean id="servicio" class="com.primerEjemplo.Modelo.Servicio.Servicio"/> | |||
</beans> |
@ -0,0 +1,3 @@ | |||
file.path=classpath:imdb_data.csv | |||
file.csv.separator=; | |||
file.csv.list_separator=, |
@ -0,0 +1,3 @@ | |||
# | |||
#Thu Nov 24 11:27:55 CET 2022 | |||
com.primerEjemplo.Modelo.Servicio.Servicio=org.springframework.stereotype.Component |
@ -0,0 +1,21 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<beans xmlns="http://www.springframework.org/schema/beans" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xmlns:context="http://www.springframework.org/schema/context" | |||
xsi:schemaLocation="http://www.springframework.org/schema/beans | |||
http://www.springframework.org/schema/beans/spring-beans.xsd | |||
http://www.springframework.org/schema/context | |||
http://www.springframework.org/schema/context/spring-context-4.3.xsd"> | |||
<context:annotation-config /> | |||
<bean id="implementaIntefazServicioConsultas" class="com.primerEjemplo.Modelo.Servicio.ImplementaIntefazServicioConsultas"/> | |||
<bean id="implementaIntefazServicioGeneral" class="com.primerEjemplo.Modelo.Servicio.ImplementaIntefazServicioGeneral"/> | |||
<bean id="tienda" class="com.primerEjemplo.Tienda"/> | |||
<bean id="servicio" class="com.primerEjemplo.Modelo.Servicio.Servicio"/> | |||
</beans> |
@ -0,0 +1,3 @@ | |||
file.path=classpath:imdb_data.csv | |||
file.csv.separator=; | |||
file.csv.list_separator=, |