├── .gitignore ├── README.md ├── ejemplo-activemq ├── .gitignore ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── chuidiang │ └── ejemplos │ ├── MainActiveMQConsumer.java │ ├── MainActiveMQProducer.java │ ├── MainEmbeddedActiveMQ.java │ ├── MainRequestResponseActiveMQ.java │ └── Util.java ├── ejemplo-hibernate-annotations ├── hibernate.cfg.xml ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ └── hibernate_annotations │ │ ├── Ejemplo1.java │ │ ├── Flight.java │ │ └── HibernateUtil.java │ └── resources │ └── logback.xml ├── ejemplo-hibernate ├── hibernate1.cfg.xml ├── hibernate2.cfg.xml ├── hibernate3.cfg.xml ├── hibernate4.cfg.xml ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ └── hibernate │ │ ├── ejemplo1 │ │ ├── Ejemplo1.java │ │ ├── Event.java │ │ └── HibernateUtil.java │ │ ├── ejemplo2 │ │ ├── Ejemplo2.java │ │ ├── HibernateUtil.java │ │ └── Person.java │ │ ├── ejemplo3 │ │ ├── Ejemplo3.java │ │ ├── HibernateUtil.java │ │ └── Person.java │ │ └── ejemplo4 │ │ ├── Ejemplo4.java │ │ ├── Event.java │ │ ├── HibernateUtil.java │ │ └── Person.java │ └── resources │ ├── com │ └── chuidiang │ │ └── ejemplos │ │ └── hibernate │ │ ├── ejemplo1 │ │ └── Event.hbm.xml │ │ ├── ejemplo2 │ │ └── Person.hbm.xml │ │ ├── ejemplo3 │ │ └── Person.hbm.xml │ │ └── ejemplo4 │ │ ├── Event.hbm.xml │ │ └── Person.hbm.xml │ └── logback.xml ├── ejemplo-hilos ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ ├── App.java │ │ └── ThreadPoolExecutorExample.java │ └── test │ └── java │ └── com │ └── chuidiang │ └── ejemplos │ └── AppTest.java ├── ejemplo-izpack ├── maven-izpack │ ├── pom.xml │ └── src │ │ ├── izpack │ │ └── install.xml │ │ └── main │ │ └── java │ │ └── com │ │ └── chuidiang │ │ └── App.java └── standalone-izpack │ ├── APLICACION │ ├── bin │ │ └── un_ejecutable.txt │ └── doc │ │ ├── enarameo.txt │ │ └── undocumento.txt │ ├── instalacion-userinput.xml │ ├── instalacion.xml │ └── userinput.xml ├── ejemplo-jasperreports ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ └── jasper │ │ ├── Data.java │ │ ├── GenerateReport.java │ │ └── TheData.java │ └── reports │ └── report1.jrxml ├── ejemplo-jfreechart ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── chuidiang │ └── ejemplos │ ├── EjemploJFreeBubbleChart.java │ ├── EjemploJFreeCategoryDataset.java │ ├── EjemploJFreeChartAreaChart.java │ ├── EjemploJFreeChartBoxAndWhikerChart.java │ ├── EjemploJFreeHistogram.java │ └── EjemploJFreeWindPlot.java ├── ejemplo-jndi ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── chuidiang │ └── ejemplos │ ├── JndiClient.java │ ├── JndiServer.java │ └── SomeData.java ├── ejemplo-jpa └── ejemplo-jpa │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ ├── domain │ │ └── Employee.java │ │ └── jpa │ │ └── JpaTest.java │ └── resources │ └── META-INF │ └── persistence.xml ├── ejemplo-junit ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ ├── Resta.java │ │ ├── Suma.java │ │ ├── mazacote │ │ └── ClaseMazacote.java │ │ └── semi_mazacote │ │ ├── Calculator.java │ │ ├── ClaseSemiMazacote.java │ │ ├── IfzMuestraResultados.java │ │ ├── IfzScanner.java │ │ └── Sumador.java │ └── test │ └── java │ └── com │ └── chuidiang │ └── ejemplos │ ├── junit45 │ ├── AllTest.java │ ├── CalculatorTest.java │ ├── Main.java │ ├── TestResta.java │ └── TestSuma.java │ └── poco_mazacote │ ├── MockMuestraResultados.java │ ├── MockScanner.java │ └── TestSumador.java ├── ejemplo-modelo-vista-presenter ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ └── mvp │ │ ├── EjemploModeloVistaPresenter.java │ │ ├── IfzVista.java │ │ ├── Modelo.java │ │ ├── Presenter.java │ │ └── Vista.java │ └── test │ └── java │ └── com │ └── chuidiang │ └── ejemplos │ └── mvp │ └── TestPresenter.java ├── ejemplo-osgi ├── ejemplo-maven-felix-plugin │ ├── OSGI-INF │ │ └── ThePublicInterface.xml │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── chuidiang │ │ │ │ └── ejemplos │ │ │ │ ├── App.java │ │ │ │ ├── api │ │ │ │ └── ThePublicInterface.java │ │ │ │ └── impl1 │ │ │ │ ├── Activator.java │ │ │ │ └── TheInterfaceImplementation.java │ │ └── resources │ │ │ └── un-recurso.txt │ │ └── test │ │ └── java │ │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ └── AppTest.java └── osgi-app │ ├── com.chuidiang.ejemplos.app_main │ ├── build.properties │ ├── osgi.bnd │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── chuidiang │ │ │ └── ejemplos │ │ │ └── app_main │ │ │ ├── ApplicationMain.java │ │ │ └── internal │ │ │ ├── BundleAndMap.java │ │ │ ├── ExampleServiceImpl.java │ │ │ ├── MainPanel.java │ │ │ ├── MainWindow.java │ │ │ └── PluginInstallation.java │ │ └── resources │ │ ├── OSGI-INF │ │ └── component.xml │ │ └── readme.txt │ ├── com.chuidiang.ejemplos.plugin1_v1 │ ├── build.properties │ ├── osgi.bnd │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── chuidiang │ │ │ └── ejemplos │ │ │ └── plugin1 │ │ │ └── internal │ │ │ └── ExampleServiceImpl.java │ │ └── resources │ │ ├── OSGI-INF │ │ └── component.xml │ │ └── readme.txt │ ├── com.chuidiang.ejemplos.plugin1_v2 │ ├── build.properties │ ├── osgi.bnd │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── chuidiang │ │ │ └── ejemplos │ │ │ └── plugin1 │ │ │ └── internal │ │ │ └── ExampleServiceImpl.java │ │ └── resources │ │ └── readme.txt │ ├── com.chuidiang.ejemplos.plugin2 │ ├── build.properties │ ├── osgi.bnd │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── chuidiang │ │ │ └── ejemplos │ │ │ └── plugin2 │ │ │ └── internal │ │ │ └── ExampleServiceImpl.java │ │ └── resources │ │ ├── OSGI-INF │ │ └── component.xml │ │ └── readme.txt │ ├── com.chuidiang.ejemplos.plugin_interface │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── build.properties │ ├── osgi.bnd │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── chuidiang │ │ │ └── ejemplos │ │ │ └── plugin_interface │ │ │ └── PluginInterface.java │ │ └── resources │ │ └── readme.txt │ ├── pom.xml │ ├── poms │ ├── compiled │ │ └── pom.xml │ ├── pom.xml │ └── wrappers │ │ └── pom.xml │ └── provision │ └── pom.xml ├── ejemplo-socket-ssl ├── .gitignore ├── pom.xml └── src │ ├── main │ ├── certs │ │ ├── client │ │ │ ├── ClientPublicKey.cer │ │ │ ├── clientKey.jks │ │ │ └── clientTrustedCerts.jks │ │ ├── readme.txt │ │ └── server │ │ │ ├── ServerPublicKey.cer │ │ │ ├── serverKey.jks │ │ │ └── serverTrustedCerts.jks │ └── java │ │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ ├── AppCustom.java │ │ ├── AppDefault.java │ │ ├── SSLCustomClient.java │ │ ├── SSLCustomServer.java │ │ ├── SSLDefaultClientSocket.java │ │ ├── SSLDefaultServerSocket.java │ │ └── Util.java │ └── test │ └── java │ └── com │ └── chuidiang │ └── ejemplos │ └── AppTest.java ├── ejemplo_cxf ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── chuidiang │ │ │ └── ejemplos │ │ │ └── cxf │ │ │ ├── Calculadora.java │ │ │ ├── CalculadoraImpl.java │ │ │ └── Resultado.java │ └── webapp │ │ └── WEB-INF │ │ ├── beans.xml │ │ └── web.xml │ └── test │ └── java │ └── com │ └── chuidiang │ └── ejemplos │ └── cxf │ ├── ClienteCalculadora.java │ └── ServerCalculadora.java ├── ejemplos-android ├── AndroidManifest.xml ├── proguard-project.txt ├── project.properties ├── res │ ├── drawable-hdpi │ │ └── ic_launcher.png │ ├── drawable-ldpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ ├── layout │ │ ├── formulario.xml │ │ └── main.xml │ └── values │ │ └── strings.xml └── src │ └── com │ └── chuidiang │ └── ejemplos │ └── android │ ├── AndroidHolaMundoActivity.java │ └── DialogoFragment.java ├── ejemplos-java-mysql ├── paisaje.jpg ├── pom.xml └── src │ ├── main │ ├── config │ │ └── datasource_config.properties │ └── java │ │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ ├── backup_mysql │ │ └── RecuperarBackup.java │ │ ├── databasemetadata_mysql │ │ ├── EjemploDataBaseMetaData.java │ │ └── EjemploResultSetMetaData.java │ │ ├── datasource_mysql │ │ ├── EjemploBasicDataSourceFactory.java │ │ └── EjemploDataSource.java │ │ ├── mysql │ │ ├── Conexion.java │ │ ├── Dato.java │ │ ├── DatoGrande.java │ │ ├── ImagenesEnBaseDatos.java │ │ └── ObjectsEnBaseDatos.java │ │ └── preparedstatement_mysql │ │ ├── EjemploPreparedStatement.java │ │ └── RendimientoPreparedStatement.java │ └── test │ └── java │ └── com │ └── chuidiang │ └── AppTest.java ├── ejemplos-jaxb ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── chuidiang │ │ │ └── ejemplos │ │ │ ├── App.java │ │ │ └── UnaClase.java │ └── resources │ │ └── PurchaseOrders.xsd │ └── test │ └── java │ └── com │ └── chuidiang │ └── ejemplos │ └── AppTest.java ├── ejemplos-swing ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ ├── option_pane_dialog_modal │ │ ├── DialogoModal.java │ │ └── EjemplosJOptionPane.java │ │ └── swing_worker │ │ ├── Principal1.java │ │ ├── Principal2.java │ │ ├── Worker1.java │ │ └── Worker2.java │ └── test │ └── java │ └── com │ └── chuidiang │ └── ejemplos │ └── AppTest.java ├── hibernate-herencia ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ ├── HibernateUtil.java │ │ ├── Hija1.java │ │ ├── Hija2.java │ │ ├── MainEjemploTablaPorSubclase.java │ │ └── Padre.java │ └── resources │ ├── com │ └── chuidiang │ │ └── ejemplos │ │ ├── tabla_por_jerarquia │ │ └── Padre.hbm.xml │ │ ├── tabla_por_subclase │ │ └── Padre.hbm.xml │ │ └── tabla_por_subclase_concreta │ │ └── Padre.hbm.xml │ └── hibernate.cfg.xml ├── mbean └── src │ └── com │ └── chuidiang │ └── ejemplos │ └── mbean │ ├── Hello.java │ ├── HelloMBean.java │ └── PruebaMBean.java ├── organizador-fotos ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── chuidiang │ └── organizador_fotos │ ├── MovePhotos.java │ └── RenamePhotos.java ├── pruebas-geotools └── src │ └── com │ └── chuidiang │ └── ejemplos │ └── geotools │ ├── GeotoolsMain.java │ ├── MouseWheel.java │ ├── PanelCapas.java │ └── SimpleGeotoolsMain.java ├── pruebas-worldwind └── src │ ├── com │ └── chuidiang │ │ └── ejemplos │ │ └── worldwind │ │ ├── DibujaPoligonos.java │ │ ├── ElPopUp.java │ │ ├── FicheroTiff.java │ │ ├── MainWorlWindExample.java │ │ ├── MiPoligono.java │ │ ├── ShapeFile.java │ │ ├── SimbolosAPP6.java │ │ └── TrazasSensora.java │ └── org │ └── chuidiang │ └── chuwiki │ └── worldwind │ ├── CapaIconos.java │ ├── CapaPoligonos.java │ ├── CapaWMS.java │ └── MainMinimo.java ├── python-ejemplos └── editor.py ├── python-gmail ├── enviar-gmail-compuesto.py ├── enviar-gmail.py └── lee-gmail.py ├── python-hilos └── src │ ├── thread_hilo_lock.py │ ├── thread_hilo_simple.py │ ├── threading_hilo_condition.py │ ├── threading_hilo_event.py │ ├── threading_hilo_lock.py │ ├── threading_hilo_rlock.py │ ├── threading_hilo_semaphore.py │ └── threading_hilo_simple.py ├── python-socket └── src │ ├── cliente.py │ ├── servidor.py │ └── servidor_thread.py └── scala ├── camel-scala ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── chuidiang │ │ │ └── ejemplos │ │ │ └── App.java │ └── scala │ │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ ├── data │ │ ├── Data.scala │ │ ├── DataClientSocketExample.scala │ │ ├── DataDecoder.scala │ │ ├── DataEncoder.scala │ │ ├── DataExample.scala │ │ ├── DataServerSocketExample.scala │ │ ├── Protocol.scala │ │ └── Util.scala │ │ └── string │ │ ├── CamelExample.scala │ │ ├── CustomDecoder.scala │ │ ├── CustomEncoder.scala │ │ ├── CustomFrameDecoder.scala │ │ ├── ScalaClientSocketExample.scala │ │ └── ScalaServerSocketExample.scala │ └── test │ └── java │ └── com │ └── chuidiang │ └── ejemplos │ └── AppTest.java └── maven-scala ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── chuidiang │ │ └── ejemplos │ │ └── App.java └── scala │ └── Hello.scala └── test ├── java └── com │ └── chuidiang │ └── ejemplos │ └── AppTest.java └── scala └── HelloTest.scala /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | .classpath 3 | .project 4 | .settings 5 | *~ 6 | .cache 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # chuidiang-ejemplos-google-code 2 | 3 | Examples of java code and more. 4 | -------------------------------------------------------------------------------- /ejemplo-activemq/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /ejemplo-activemq/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.chuidiang.ejemplos 5 | ejemplo-activemq 6 | 1.0-SNAPSHOT 7 | Ejemplo Active MQ 8 | 9 | 10 | 11 | org.apache.activemq 12 | activemq-client 13 | 5.11.1 14 | 15 | 16 | org.apache.activemq 17 | activemq-broker 18 | 5.11.1 19 | 20 | 21 | org.slf4j 22 | slf4j-log4j12 23 | 1.7.12 24 | 25 | 26 | -------------------------------------------------------------------------------- /ejemplo-activemq/src/main/java/com/chuidiang/ejemplos/Util.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import javax.jms.DeliveryMode; 4 | import javax.jms.Destination; 5 | import javax.jms.JMSException; 6 | import javax.jms.MessageConsumer; 7 | import javax.jms.MessageProducer; 8 | import javax.jms.Session; 9 | import javax.jms.TextMessage; 10 | 11 | public class Util { 12 | public static MessageProducer createQueueProducer(Session session, String queue) throws JMSException{ 13 | Destination destination = session.createQueue(queue); 14 | MessageProducer producer = session.createProducer(destination); 15 | producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); 16 | return producer; 17 | } 18 | 19 | public static MessageProducer createTopicProducer(Session session, String topic) throws JMSException{ 20 | Destination destination = session.createTopic(topic); 21 | MessageProducer producer = session.createProducer(destination); 22 | producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); 23 | return producer; 24 | } 25 | 26 | public static MessageConsumer createQueueConsumer(Session session, String queue) throws JMSException{ 27 | Destination destination = session.createQueue(queue); 28 | MessageConsumer consumer = session.createConsumer(destination); 29 | return consumer; 30 | } 31 | 32 | public static MessageConsumer createTopicConsumer(Session session, String topic) throws JMSException{ 33 | Destination destination = session.createTopic(topic); 34 | MessageConsumer consumer = session.createConsumer(destination); 35 | return consumer; 36 | } 37 | 38 | public static void sendText(Session session, MessageProducer pingProducer, String value) throws JMSException { 39 | TextMessage message = session.createTextMessage(value); 40 | pingProducer.send(message); 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /ejemplo-hibernate-annotations/hibernate.cfg.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | org.postgresql.Driver 8 | jdbc:postgresql://localhost/chuidiang-examples 9 | postgres 10 | postgres 11 | 12 | 1 13 | 14 | 15 | 16 | thread 17 | 18 | org.hibernate.cache.NoCacheProvider 19 | 20 | true 21 | 22 | create 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ejemplo-hibernate-annotations/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.chuidiang.ejemplos 5 | ejemplo-hibernate-annotations 6 | jar 7 | 1.0-SNAPSHOT 8 | ejemplo-hibernate-annotations 9 | https://chuidiang.org 10 | 11 | 17 12 | 17 13 | 14 | 15 | 16 | org.hibernate.orm 17 | hibernate-core 18 | 6.3.1.Final 19 | 20 | 21 | org.postgresql 22 | postgresql 23 | 42.6.0 24 | 25 | 26 | ch.qos.logback 27 | logback-classic 28 | 1.4.11 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /ejemplo-hibernate-annotations/src/main/java/com/chuidiang/ejemplos/hibernate_annotations/Ejemplo1.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.hibernate_annotations; 2 | 3 | import org.hibernate.Session; 4 | 5 | import java.util.Date; 6 | import java.util.List; 7 | 8 | /** 9 | * Ejemplo sencillo de hibernate usando annotations.
10 | * Se crea una instancia de Fligth, se guarda en base de datos, se consulta y 11 | * muestra por pantalla, se modifica y se vuelve a consultar y mostrar por 12 | * pantalla. 13 | * 14 | * @author Chuidiang 15 | * 16 | */ 17 | public class Ejemplo1 { 18 | 19 | public static void main(String[] args) { 20 | new Ejemplo1(); 21 | } 22 | 23 | public Ejemplo1() { 24 | // Se inserta 25 | Long id = insertFlight(); 26 | 27 | // Se consulta y muestra por pantalla 28 | listFlights(); 29 | 30 | // Se modifica 31 | updateFlight(id); 32 | 33 | // Se vuelve a consultar y mostrar por pantalla 34 | listFlights(); 35 | } 36 | 37 | private void updateFlight(Long id) { 38 | Session s = HibernateUtil.getSession(); 39 | s.beginTransaction(); 40 | 41 | Flight vuelo = (Flight) s.load(Flight.class, id); 42 | vuelo.setFirstname("Nombre cambiado"); 43 | 44 | s.getTransaction().commit(); 45 | } 46 | 47 | private void listFlights() { 48 | Session s = HibernateUtil.getSession(); 49 | s.beginTransaction(); 50 | 51 | List vuelos = s.createQuery("from Flight").list(); 52 | for (Flight vuelo : vuelos) 53 | System.out.println(vuelo.toString()); 54 | 55 | s.getTransaction().commit(); 56 | } 57 | 58 | private Long insertFlight() { 59 | // Se obtiene la sesion 60 | Session s = HibernateUtil.getSession(); 61 | s.beginTransaction(); 62 | 63 | // Se instancia la clase Flight y se rellenan sus datos 64 | Flight f = new Flight(); 65 | f.setFirstname("Nombre vuelo"); 66 | f.setFecha(new Date()); 67 | 68 | // Se salva en base de datos 69 | s.save(f); 70 | s.getTransaction().commit(); 71 | 72 | return f.getId(); 73 | } 74 | 75 | } 76 | -------------------------------------------------------------------------------- /ejemplo-hibernate-annotations/src/main/java/com/chuidiang/ejemplos/hibernate_annotations/Flight.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.hibernate_annotations; 2 | 3 | import jakarta.persistence.*; 4 | 5 | import java.util.Date; 6 | 7 | /** 8 | * Clase persistente en base de datos con annotations. 9 | * 10 | * @author Chuidiang 11 | */ 12 | @Entity 13 | @Table(name = "VUELO") 14 | public class Flight { 15 | 16 | /** El id */ 17 | Long id; 18 | private String firstname; 19 | private Date fecha; 20 | 21 | /** Persistente como clave y valor generado por la base de datos */ 22 | @Id 23 | @GeneratedValue 24 | public Long getId() { 25 | return id; 26 | } 27 | 28 | private void setId(Long id) { 29 | this.id = id; 30 | } 31 | 32 | /** Persistente, un tipo basico (string) */ 33 | @Basic 34 | @Column(name = "NOMBRE") 35 | public String getFirstname() { 36 | return firstname; 37 | } 38 | 39 | public void setFirstname(String firstname) { 40 | this.firstname = firstname; 41 | } 42 | 43 | public String toString() { 44 | return "Vuelo : " + id + " " + getFirstname() + " " + fecha; 45 | } 46 | 47 | /** Una fecha. Debemos indicar si es DATE, TIME o TIMESTAMP */ 48 | @Temporal(TemporalType.TIMESTAMP) 49 | public Date getFecha() { 50 | return fecha; 51 | } 52 | 53 | public void setFecha(Date fecha) { 54 | this.fecha = fecha; 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /ejemplo-hibernate-annotations/src/main/java/com/chuidiang/ejemplos/hibernate_annotations/HibernateUtil.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.hibernate_annotations; 2 | 3 | import org.hibernate.HibernateException; 4 | import org.hibernate.Session; 5 | import org.hibernate.SessionFactory; 6 | import org.hibernate.cfg.Configuration; 7 | 8 | import java.io.File; 9 | 10 | /** 11 | * Clase de utilidad para obtener la sesion de hibernate. 12 | * 13 | * @author documentacion hibernate 14 | */ 15 | public class HibernateUtil { 16 | 17 | private static final SessionFactory sessionFactory; 18 | 19 | static { 20 | try { 21 | // Si no ponemos fichero, intenta cargar "/hibernate.cfg.xml" en el 22 | // raiz 23 | sessionFactory = new Configuration().configure( 24 | new File("hibernate.cfg.xml")).buildSessionFactory(); 25 | } catch (Throwable ex) { 26 | // Log exception! 27 | throw new ExceptionInInitializerError(ex); 28 | } 29 | } 30 | 31 | public static Session getSession() throws HibernateException { 32 | return sessionFactory.openSession(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /ejemplo-hibernate-annotations/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp- %msg%n 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ejemplo-hibernate/hibernate1.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | org.postgresql.Driver 9 | jdbc:postgresql://localhost/chuidiang-examples 10 | postgres 11 | postgres 12 | 13 | 1 14 | 15 | 16 | 17 | thread 18 | 19 | org.hibernate.cache.NoCacheProvider 20 | 21 | true 22 | 23 | create 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ejemplo-hibernate/hibernate2.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | org.postgresql.Driver 9 | jdbc:postgresql://localhost/chuidiang-examples 10 | postgres 11 | postgres 12 | 13 | 1 14 | 15 | 16 | 17 | thread 18 | 19 | org.hibernate.cache.NoCacheProvider 20 | 21 | true 22 | 23 | create 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /ejemplo-hibernate/hibernate3.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | org.postgresql.Driver 9 | jdbc:postgresql://localhost/chuidiang-examples 10 | postgres 11 | postgres 12 | 13 | 1 14 | 15 | 16 | 17 | thread 18 | 19 | org.hibernate.cache.NoCacheProvider 20 | 21 | true 22 | 23 | create 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /ejemplo-hibernate/hibernate4.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | org.postgresql.Driver 9 | jdbc:postgresql://localhost/chuidiang-examples 10 | postgres 11 | postgres 12 | 13 | 1 14 | 15 | 16 | 17 | thread 18 | 19 | org.hibernate.cache.NoCacheProvider 20 | 21 | true 22 | 23 | create 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /ejemplo-hibernate/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.chuidiang.ejemplos 5 | ejemplo-hibernate 6 | jar 7 | 1.0-SNAPSHOT 8 | ejemplo-hibernate 9 | http://chuidiang.org 10 | 11 | 17 12 | 17 13 | 14 | 15 | 16 | junit 17 | junit 18 | 4.13.2 19 | test 20 | 21 | 22 | org.hibernate.orm 23 | hibernate-core 24 | 6.3.1.Final 25 | 26 | 27 | org.postgresql 28 | postgresql 29 | 42.6.0 30 | 31 | 32 | ch.qos.logback 33 | logback-classic 34 | 1.4.11 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/java/com/chuidiang/ejemplos/hibernate/ejemplo1/Ejemplo1.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.hibernate.ejemplo1; 2 | 3 | import org.hibernate.Session; 4 | 5 | import java.util.Date; 6 | import java.util.List; 7 | 8 | /** 9 | * Ejemplo sencillo con Hibernate.
10 | * Se crea un Evento y se inserta en base de datos. Luego se hace la consulta y 11 | * se presenta por pantalla. 12 | * 13 | * @author Chuidiang 14 | * 15 | */ 16 | public class Ejemplo1 { 17 | 18 | public static void main(String[] args) { 19 | new Ejemplo1(); 20 | } 21 | 22 | public Ejemplo1() { 23 | // Se inserta un evento en bd 24 | createAndStoreEvent("El Event", new Date()); 25 | 26 | // Se hace la consulta y se lista 27 | listEvents(); 28 | HibernateUtil.getSessionFactory().close(); 29 | } 30 | 31 | private Long createAndStoreEvent(String title, Date theDate) { 32 | // Obtener session de hibernate y comenzar transaccion 33 | Session session = HibernateUtil.getSessionFactory().getCurrentSession(); 34 | session.beginTransaction(); 35 | 36 | // Creacion del evento 37 | Event theEvent = new Event(); 38 | theEvent.setTitle(title); 39 | theEvent.setDate(theDate); 40 | 41 | // Insercion en base de datos. 42 | session.save(theEvent); 43 | session.getTransaction().commit(); 44 | System.out.println("Insertado: " + theEvent); 45 | return theEvent.getId(); 46 | } 47 | 48 | private List listEvents() { 49 | // Obtener sesion de hibernate y comenzar transaccion 50 | Session session = HibernateUtil.getSessionFactory().getCurrentSession(); 51 | session.beginTransaction(); 52 | 53 | // Consulta y mostrar resultados. 54 | List result = (List) session.createQuery("from Event") 55 | .list(); 56 | for (Event evento : result) { 57 | System.out.println("Leido: " + evento); 58 | } 59 | 60 | // Cierre de sesion. 61 | session.getTransaction().commit(); 62 | 63 | return result; 64 | } 65 | 66 | } 67 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/java/com/chuidiang/ejemplos/hibernate/ejemplo1/Event.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.hibernate.ejemplo1; 2 | 3 | import java.util.Date; 4 | 5 | /** 6 | * Clase Evento, persistente en base de datos en este ejemplo. 7 | * 8 | * @author Chuidiang 9 | * 10 | */ 11 | public class Event { 12 | /** Clave primaria */ 13 | private Long id; 14 | 15 | private String title; 16 | private Date date; 17 | 18 | public Event() { 19 | } 20 | 21 | public Long getId() { 22 | return id; 23 | } 24 | 25 | /** 26 | * Metodo setter privado, hibernate es capaz de llamarlo, pero nosostros 27 | * desde codigo no. 28 | * 29 | * @param id 30 | */ 31 | private void setId(Long id) { 32 | this.id = id; 33 | } 34 | 35 | public String getTitle() { 36 | return title; 37 | } 38 | 39 | public void setTitle(String title) { 40 | this.title = title; 41 | } 42 | 43 | public Date getDate() { 44 | return date; 45 | } 46 | 47 | public void setDate(Date date) { 48 | this.date = date; 49 | } 50 | 51 | public String toString() { 52 | return "Evento : " + id + " - " + title + " - " + date; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/java/com/chuidiang/ejemplos/hibernate/ejemplo1/HibernateUtil.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.hibernate.ejemplo1; 2 | 3 | import java.io.File; 4 | 5 | import org.hibernate.SessionFactory; 6 | import org.hibernate.cfg.Configuration; 7 | 8 | public class HibernateUtil { 9 | private static final SessionFactory sessionFactory; 10 | static { 11 | try { 12 | // Create the SessionFactory from hibernate.cfg.xml 13 | sessionFactory = new Configuration().configure(new File("hibernate1.cfg.xml")) 14 | .buildSessionFactory(); 15 | } catch (Throwable ex) { 16 | // Make sure you log the exception, as it might be swallowed 17 | System.err.println("Initial SessionFactory creation failed." + ex); 18 | throw new ExceptionInInitializerError(ex); 19 | } 20 | } 21 | 22 | public static SessionFactory getSessionFactory() { 23 | return sessionFactory; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/java/com/chuidiang/ejemplos/hibernate/ejemplo2/HibernateUtil.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.hibernate.ejemplo2; 2 | 3 | import java.io.File; 4 | 5 | import org.hibernate.SessionFactory; 6 | import org.hibernate.cfg.Configuration; 7 | 8 | public class HibernateUtil { 9 | private static final SessionFactory sessionFactory; 10 | static { 11 | try { 12 | // Create the SessionFactory from hibernate.cfg.xml 13 | sessionFactory = new Configuration().configure( 14 | new File("hibernate2.cfg.xml")).buildSessionFactory(); 15 | } catch (Throwable ex) { 16 | // Make sure you log the exception, as it might be swallowed 17 | System.err.println("Initial SessionFactory creation failed." + ex); 18 | throw new ExceptionInInitializerError(ex); 19 | } 20 | } 21 | 22 | public static SessionFactory getSessionFactory() { 23 | return sessionFactory; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/java/com/chuidiang/ejemplos/hibernate/ejemplo2/Person.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.hibernate.ejemplo2; 2 | 3 | import java.util.HashSet; 4 | import java.util.Iterator; 5 | import java.util.Set; 6 | 7 | import com.chuidiang.ejemplos.hibernate.ejemplo1.Event; 8 | 9 | /** 10 | * Clase Person, persistente en base de datos en este ejemplo y con varios Event 11 | * asociados. 12 | * 13 | * @author Chuidiang 14 | * 15 | */ 16 | public class Person { 17 | /** Clave primaria */ 18 | private Long id; 19 | private int age; 20 | private String firstname; 21 | private String lastname; 22 | 23 | public Person() { 24 | } 25 | 26 | public Long getId() { 27 | return id; 28 | } 29 | 30 | private Set events = new HashSet(); 31 | 32 | public Set getEvents() { 33 | return events; 34 | } 35 | 36 | public void setEvents(Set events) { 37 | this.events = events; 38 | } 39 | 40 | /** Metodo setter privado, hibernate puede llamarlo, pero nosotros no */ 41 | private void setId(Long id) { 42 | this.id = id; 43 | } 44 | 45 | public int getAge() { 46 | return age; 47 | } 48 | 49 | public void setAge(int age) { 50 | this.age = age; 51 | } 52 | 53 | public String getFirstname() { 54 | return firstname; 55 | } 56 | 57 | public void setFirstname(String firstname) { 58 | this.firstname = firstname; 59 | } 60 | 61 | public String getLastname() { 62 | return lastname; 63 | } 64 | 65 | public void setLastname(String lastname) { 66 | this.lastname = lastname; 67 | } 68 | 69 | public String toString() { 70 | StringBuilder sb = new StringBuilder(); 71 | sb.append("Persona: " + id + " - " + firstname + " - " + lastname 72 | + " - " + age); 73 | Iterator eventos = getEvents().iterator(); 74 | while (eventos.hasNext()) 75 | sb.append(System.getProperty("line.separator") + " Evento : " 76 | + eventos.next().toString()); 77 | return sb.toString(); 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/java/com/chuidiang/ejemplos/hibernate/ejemplo3/HibernateUtil.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.hibernate.ejemplo3; 2 | 3 | import java.io.File; 4 | 5 | import org.hibernate.SessionFactory; 6 | import org.hibernate.cfg.Configuration; 7 | 8 | public class HibernateUtil { 9 | private static final SessionFactory sessionFactory; 10 | static { 11 | try { 12 | // Create the SessionFactory from hibernate.cfg.xml 13 | sessionFactory = new Configuration().configure( 14 | new File("hibernate3.cfg.xml")).buildSessionFactory(); 15 | } catch (Throwable ex) { 16 | // Make sure you log the exception, as it might be swallowed 17 | System.err.println("Initial SessionFactory creation failed." + ex); 18 | throw new ExceptionInInitializerError(ex); 19 | } 20 | } 21 | 22 | public static SessionFactory getSessionFactory() { 23 | return sessionFactory; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/java/com/chuidiang/ejemplos/hibernate/ejemplo4/Event.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-hibernate/src/main/java/com/chuidiang/ejemplos/hibernate/ejemplo4/Event.java -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/java/com/chuidiang/ejemplos/hibernate/ejemplo4/HibernateUtil.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.hibernate.ejemplo4; 2 | 3 | import java.io.File; 4 | 5 | import org.hibernate.SessionFactory; 6 | import org.hibernate.cfg.Configuration; 7 | 8 | public class HibernateUtil { 9 | private static final SessionFactory sessionFactory; 10 | static { 11 | try { 12 | // Create the SessionFactory from hibernate.cfg.xml 13 | sessionFactory = new Configuration().configure( 14 | new File("hibernate4.cfg.xml")).buildSessionFactory(); 15 | } catch (Throwable ex) { 16 | // Make sure you log the exception, as it might be swallowed 17 | System.err.println("Initial SessionFactory creation failed." + ex); 18 | throw new ExceptionInInitializerError(ex); 19 | } 20 | } 21 | 22 | public static SessionFactory getSessionFactory() { 23 | return sessionFactory; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/resources/com/chuidiang/ejemplos/hibernate/ejemplo1/Event.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/resources/com/chuidiang/ejemplos/hibernate/ejemplo2/Person.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/resources/com/chuidiang/ejemplos/hibernate/ejemplo3/Person.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/resources/com/chuidiang/ejemplos/hibernate/ejemplo4/Event.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 16 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/resources/com/chuidiang/ejemplos/hibernate/ejemplo4/Person.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /ejemplo-hibernate/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp- %msg%n 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ejemplo-hilos/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.chuidiang.ejemplos 5 | ejemplo-hilos 6 | jar 7 | 1.0-SNAPSHOT 8 | ejemplo-hilos 9 | http://maven.apache.org 10 | 11 | 12 | junit 13 | junit 14 | 3.8.1 15 | test 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /ejemplo-hilos/src/main/java/com/chuidiang/ejemplos/App.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import java.util.concurrent.locks.Lock; 4 | import java.util.concurrent.locks.ReentrantLock; 5 | 6 | 7 | /** 8 | * Hello world! 9 | * 10 | */ 11 | public class App 12 | { 13 | public static void main( String[] args ) 14 | { 15 | new App().startExample(); 16 | } 17 | 18 | private void startExample() { 19 | Object objectForSynchrnize = new Object(); 20 | 21 | synchronized (objectForSynchrnize) { 22 | System.out.println("I'm inside a synchronized block"); 23 | } 24 | 25 | Lock aLock = new ReentrantLock(); 26 | 27 | aLock.lock(); 28 | 29 | try { 30 | System.out.println("I'm inside a synchronized block"); 31 | } catch (Exception e){ 32 | System.err.println("Error! "+e.getMessage()); 33 | } finally { 34 | aLock.unlock(); 35 | } 36 | 37 | } 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /ejemplo-hilos/src/test/java/com/chuidiang/ejemplos/AppTest.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for simple App. 9 | */ 10 | public class AppTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public AppTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( AppTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testApp() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ejemplo-izpack/maven-izpack/src/izpack/install.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | maven-izapck 4 | 1.0 5 | http://www.chuidiang.com 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | El ejecutable y sus ficheros 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /ejemplo-izpack/maven-izpack/src/main/java/com/chuidiang/App.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang; 2 | 3 | /** 4 | * Hello world! 5 | * 6 | */ 7 | public class App 8 | { 9 | public static void main( String[] args ) 10 | { 11 | System.out.println( "Hello World!" ); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ejemplo-izpack/standalone-izpack/APLICACION/bin/un_ejecutable.txt: -------------------------------------------------------------------------------- 1 | Soy el ejecutable 2 | -------------------------------------------------------------------------------- /ejemplo-izpack/standalone-izpack/APLICACION/doc/enarameo.txt: -------------------------------------------------------------------------------- 1 | Esta es la documentacion en arameo -------------------------------------------------------------------------------- /ejemplo-izpack/standalone-izpack/APLICACION/doc/undocumento.txt: -------------------------------------------------------------------------------- 1 | un documento 2 | -------------------------------------------------------------------------------- /ejemplo-izpack/standalone-izpack/instalacion-userinput.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Chuidiang prueba izpack 4 | 1.0 5 | http:www.chuidiang.com 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | El ejecutable y sus ficheros 31 | 32 | 33 | 34 | 35 | 36 | 37 | La documentacion 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /ejemplo-izpack/standalone-izpack/instalacion.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Chuidiang prueba izpack 4 | 1.0 5 | http://www.chuidiang.com 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | El ejecutable y sus ficheros 26 | 27 | 28 | 29 | 30 | 31 | 32 | La documentacion 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /ejemplo-izpack/standalone-izpack/userinput.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ejemplo-jasperreports/README.md: -------------------------------------------------------------------------------- 1 | # Tonterías varías 2 | 3 | El fichero src/main/reports/report1.jrxml se puede editar con iReport designer http://community.jaspersoft.com/project/ireport-designer 4 | 5 | En ese fichero es donde está todo "el truco", porque la parte java es bastante tonta. 6 | -------------------------------------------------------------------------------- /ejemplo-jasperreports/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.chuidiang.ejemplos 5 | ejemplo-jasperreports 6 | 0.0.1-SNAPSHOT 7 | 8 | 9 | net.sf.jasperreports 10 | jasperreports 11 | 5.6.0 12 | compile 13 | 14 | 15 | -------------------------------------------------------------------------------- /ejemplo-jasperreports/src/main/java/com/chuidiang/ejemplos/jasper/Data.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.jasper; 2 | 3 | import java.util.Collection; 4 | import java.util.LinkedList; 5 | import java.util.List; 6 | 7 | public class Data { 8 | public static Collection createBeanCollection() { 9 | List result = new LinkedList(); 10 | result.add(new TheData(1,"uno")); 11 | result.add(new TheData(2,"dos")); 12 | result.add(new TheData(3,"tres")); 13 | result.add(new TheData(4,"cuatro")); 14 | result.add(new TheData(5,"cinco")); 15 | result.add(new TheData(6,"seis")); 16 | return result; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ejemplo-jasperreports/src/main/java/com/chuidiang/ejemplos/jasper/GenerateReport.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.jasper; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | import net.sf.jasperreports.engine.JasperCompileManager; 7 | import net.sf.jasperreports.engine.JasperExportManager; 8 | import net.sf.jasperreports.engine.JasperFillManager; 9 | import net.sf.jasperreports.engine.JasperPrint; 10 | import net.sf.jasperreports.engine.JasperReport; 11 | import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; 12 | import net.sf.jasperreports.engine.design.JasperDesign; 13 | import net.sf.jasperreports.engine.xml.JRXmlLoader; 14 | import net.sf.jasperreports.view.JasperViewer; 15 | 16 | public class GenerateReport { 17 | 18 | public static void main(String[] str) 19 | { 20 | try 21 | { 22 | JasperReport jasperReport = null; 23 | JasperPrint jasperPrint = null; 24 | JasperDesign jasperDesign = null; 25 | Map parameters = new HashMap(); 26 | jasperDesign = JRXmlLoader.load("src/main/reports/report1.jrxml"); 27 | jasperReport = JasperCompileManager.compileReport(jasperDesign); 28 | jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, new JRBeanCollectionDataSource(Data.createBeanCollection())); 29 | JasperExportManager.exportReportToPdfFile(jasperPrint,"target/StudentInfo.pdf"); 30 | JasperViewer.viewReport(jasperPrint); 31 | } 32 | catch(Exception ex) 33 | { 34 | System.out.println("EXCEPTION: "+ex); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /ejemplo-jasperreports/src/main/java/com/chuidiang/ejemplos/jasper/TheData.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.jasper; 2 | 3 | public class TheData { 4 | public TheData() { 5 | } 6 | public TheData(int aNumber, String aString) { 7 | this.aNumber = aNumber; 8 | this.aString = aString; 9 | } 10 | private int aNumber; 11 | public int getaNumber() { 12 | return aNumber; 13 | } 14 | public void setaNumber(int aNumber) { 15 | this.aNumber = aNumber; 16 | } 17 | public String getaString() { 18 | return aString; 19 | } 20 | public void setaString(String aString) { 21 | this.aString = aString; 22 | } 23 | private String aString; 24 | } 25 | -------------------------------------------------------------------------------- /ejemplo-jfreechart/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.chuidiang.ejemplos 5 | ejemplo-jfreechart 6 | jar 7 | 1.0-SNAPSHOT 8 | ejemplo-jfreechart 9 | http://www.chuidiang.com 10 | 11 | 12 | jfree 13 | jfreechart 14 | 1.0.9 15 | compile 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeBubbleChart.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeBubbleChart.java -------------------------------------------------------------------------------- /ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeCategoryDataset.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeCategoryDataset.java -------------------------------------------------------------------------------- /ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeChartAreaChart.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeChartAreaChart.java -------------------------------------------------------------------------------- /ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeChartBoxAndWhikerChart.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeChartBoxAndWhikerChart.java -------------------------------------------------------------------------------- /ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeHistogram.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeHistogram.java -------------------------------------------------------------------------------- /ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeWindPlot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-jfreechart/src/main/java/com/chuidiang/ejemplos/EjemploJFreeWindPlot.java -------------------------------------------------------------------------------- /ejemplo-jndi/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.chuidiang.ejemplos 5 | ejemplo-jndi 6 | 0.0.1-SNAPSHOT 7 | 8 | 9 | jboss 10 | jnpserver 11 | 4.2.2.GA 12 | 13 | 14 | jboss 15 | jbossall-client 16 | 4.2.2.GA 17 | 18 | 19 | -------------------------------------------------------------------------------- /ejemplo-jndi/src/main/java/com/chuidiang/ejemplos/JndiClient.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import java.util.Hashtable; 4 | 5 | import javax.naming.Context; 6 | import javax.naming.InitialContext; 7 | import javax.naming.NamingException; 8 | 9 | public class JndiClient { 10 | 11 | public static void main(String[] args) throws NamingException { 12 | final Hashtable env = new Hashtable(); 13 | 14 | env.put(Context.INITIAL_CONTEXT_FACTORY, 15 | "org.jnp.interfaces.NamingContextFactory"); 16 | env.put(Context.PROVIDER_URL, "jnp://192.168.1.2:5400"); 17 | 18 | Context context = new InitialContext(env); 19 | 20 | System.out.println("Application name = " 21 | + context.lookup("java:/config/applicationName")); 22 | System.out.println("someData = " + context.lookup("java:/config/clase")); 23 | 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /ejemplo-jndi/src/main/java/com/chuidiang/ejemplos/JndiServer.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import java.net.InetAddress; 4 | import java.net.UnknownHostException; 5 | import java.util.Date; 6 | import java.util.Hashtable; 7 | 8 | import javax.naming.Context; 9 | import javax.naming.InitialContext; 10 | import javax.naming.NamingException; 11 | 12 | import org.jnp.server.Main; 13 | import org.jnp.server.NamingBeanImpl; 14 | 15 | public class JndiServer { 16 | 17 | public static void main(String[] args) throws Exception { 18 | startServer(); 19 | storeSomeData(); 20 | System.out.println("Ready"); 21 | } 22 | 23 | private static void storeSomeData() throws NamingException { 24 | Hashtable env = new Hashtable(); 25 | env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory"); 26 | env.put(Context.PROVIDER_URL, "jnp://192.168.1.2:5400"); 27 | Context context = new InitialContext(env); 28 | context.createSubcontext("config"); 29 | context.bind("/config/applicationName", "MyApp"); 30 | context.bind("/config/clase", new SomeData("pedro",4,new Date())); 31 | } 32 | 33 | private static void startServer() throws Exception, UnknownHostException { 34 | System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); 35 | 36 | NamingBeanImpl jnpServer = new NamingBeanImpl(); 37 | jnpServer.start(); 38 | 39 | Main main = new Main(); 40 | main.setNamingInfo(jnpServer); 41 | main.setPort(5400); 42 | main.setBindAddress(InetAddress.getLocalHost().getHostName()); 43 | main.start(); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /ejemplo-jndi/src/main/java/com/chuidiang/ejemplos/SomeData.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import java.io.Serializable; 4 | import java.util.Date; 5 | 6 | public class SomeData implements Serializable { 7 | private static final long serialVersionUID = 7137987108991450388L; 8 | private String aString; 9 | private int aInteger; 10 | private Date aDate; 11 | 12 | public SomeData(String aString, int aInteger, Date aDate) { 13 | this.aString = aString; 14 | this.aDate = aDate; 15 | this.aInteger = aInteger; 16 | } 17 | 18 | @Override 19 | public String toString() { 20 | return "SomeData [aString=" + aString + ", aInteger=" + aInteger 21 | + ", aDate=" + aDate + "]"; 22 | } 23 | 24 | public String getaString() { 25 | return aString; 26 | } 27 | 28 | public void setaString(String aString) { 29 | this.aString = aString; 30 | } 31 | 32 | public int getaInteger() { 33 | return aInteger; 34 | } 35 | 36 | public void setaInteger(int aInteger) { 37 | this.aInteger = aInteger; 38 | } 39 | 40 | public Date getaDate() { 41 | return aDate; 42 | } 43 | 44 | public void setaDate(Date aDate) { 45 | this.aDate = aDate; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /ejemplo-jpa/ejemplo-jpa/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | com.chuidiang.ejemplos 6 | ejemplo-jpa 7 | 0.0.1-SNAPSHOT 8 | 9 | 10 | EclipseLink Repo 11 | http://download.eclipse.org/rt/eclipselink/maven.repo 12 | EclipseLink Repo 13 | 14 | 15 | 16 | 17 | org.apache.derby 18 | derby 19 | 10.8.2.2 20 | 21 | 22 | org.hibernate 23 | hibernate-entitymanager 24 | 5.0.3.Final 25 | 26 | 27 | org.eclipse.persistence 28 | eclipselink 29 | 2.2.1 30 | 31 | 32 | org.eclipse.persistence 33 | javax.persistence 34 | 2.1.0 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /ejemplo-jpa/ejemplo-jpa/src/main/java/com/chuidiang/ejemplos/domain/Employee.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.domain; 2 | 3 | import javax.persistence.Entity; 4 | import javax.persistence.GeneratedValue; 5 | import javax.persistence.Id; 6 | 7 | @Entity 8 | public class Employee { 9 | @Id 10 | @GeneratedValue 11 | private Long id; 12 | 13 | 14 | private String name; 15 | 16 | public Employee() {} 17 | 18 | public Employee(String name) { 19 | this.name = name; 20 | } 21 | 22 | public Long getId() { 23 | return id; 24 | } 25 | 26 | public void setId(Long id) { 27 | this.id = id; 28 | } 29 | 30 | public String getName() { 31 | return name; 32 | } 33 | 34 | public void setName(String name) { 35 | this.name = name; 36 | } 37 | 38 | @Override 39 | public String toString() { 40 | return "Employee [id=" + id + ", name=" + name + "]"; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /ejemplo-junit/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.chuidiang.ejemplos 5 | ejemplo-junit 6 | jar 7 | 1.0-SNAPSHOT 8 | ejemplo-junit 9 | https://chuidiang.org 10 | 11 | UTF-8 12 | 13 | 14 | 15 | junit 16 | junit 17 | 4.13.2 18 | test 19 | 20 | 21 | 22 | 23 | 24 | 25 | org.apache.maven.plugins 26 | maven-surefire-plugin 27 | 3.2.2 28 | 29 | 30 | 31 | 32 | 33 | org.apache.maven.plugins 34 | maven-compiler-plugin 35 | 36 | 11 37 | 11 38 | 39 | 40 | 41 | org.jacoco 42 | jacoco-maven-plugin 43 | 0.8.11 44 | 45 | 46 | 47 | prepare-agent 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /ejemplo-junit/src/main/java/com/chuidiang/ejemplos/Resta.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | /** 4 | * Clase tonta para hacer con ella test de junit 5 | * 6 | * @author Chuidiang 7 | * 8 | */ 9 | public class Resta { 10 | public double decrementa(double a) { 11 | return a - 1; 12 | } 13 | 14 | public double getDiferencia(double a, double b) { 15 | return a - b; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ejemplo-junit/src/main/java/com/chuidiang/ejemplos/Suma.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | /** 4 | * Clase tonta para poder hacer test de junit con ella 5 | * 6 | * @author Chuidiang 7 | */ 8 | public class Suma { 9 | public double getSuma(double a, double b) { 10 | // Se multiplica en vez de sumar a posta, para que los test fallen 11 | return a * b; 12 | } 13 | 14 | public double incrementa(double a) { 15 | return a + 1; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ejemplo-junit/src/main/java/com/chuidiang/ejemplos/mazacote/ClaseMazacote.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.mazacote; 2 | 3 | import java.util.Scanner; 4 | 5 | /** 6 | * Ejemplo de clase mazacote, dificil de testear. Lo hace todo ella sola y las 7 | * entradas/salidas no son facilmente accesibles. 8 | * 9 | * @author Chuidiang 10 | */ 11 | public class ClaseMazacote { 12 | 13 | /** 14 | * Se le pasa un texto a mostrar en pantalla y un scanner para leer la 15 | * entrada, devuelve un double recogido de dicha entrada. Desgraciadamente, 16 | * el metodo es private, por lo que no se puede testear. 17 | * 18 | * @param scanner 19 | * @param textoPeticion 20 | * @return 21 | */ 22 | private static double getSumando(Scanner scanner, String textoPeticion) { 23 | boolean correcto; 24 | correcto = false; 25 | double sumando2 = 0; 26 | while (!correcto) { 27 | try { 28 | System.out.println(textoPeticion); 29 | sumando2 = Double.parseDouble(scanner.nextLine()); 30 | correcto = true; 31 | } catch (Exception e) { 32 | System.err.println("Eso no vale"); 33 | } 34 | } 35 | return sumando2; 36 | } 37 | 38 | /** 39 | * Pide dos sumandos y muestra la suma 40 | * 41 | * @param args 42 | */ 43 | public static void main(String[] args) { 44 | Scanner scanner = new Scanner(System.in); 45 | double sumando1 = getSumando(scanner, "Sumando 1:"); 46 | double sumando2 = getSumando(scanner, "Sumando 2:"); 47 | System.out.println("" + sumando1 + "+" + sumando2 + "=" 48 | + (sumando1 + sumando2)); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /ejemplo-junit/src/main/java/com/chuidiang/ejemplos/semi_mazacote/Calculator.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.semi_mazacote; 2 | 3 | /** 4 | * @author Chuidiang 5 | * @date 10/11/2023 6 | */ 7 | public class Calculator { 8 | public static int add(int a, int b){ 9 | return a+b; 10 | } 11 | 12 | public static int substract (int a, int b){ 13 | return a-b; 14 | } 15 | 16 | public static int divide (int a, int b) { 17 | return a/b; 18 | } 19 | 20 | public static int multiply (int a, int b){ 21 | return a*b; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ejemplo-junit/src/main/java/com/chuidiang/ejemplos/semi_mazacote/ClaseSemiMazacote.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.semi_mazacote; 2 | 3 | import java.util.Scanner; 4 | 5 | /** 6 | * Main de ejemplo de una clase menos mazacote, m�s f�cil de testear. En vez de 7 | * leer directamnte de teclado y escribir de pantalla, lee de una interface y 8 | * escribe en una interface 9 | * 10 | * @author Chuidiang 11 | */ 12 | 13 | public class ClaseSemiMazacote { 14 | 15 | /** 16 | * Instancia la clase Sumador, le facilita implementaciones de las 17 | * interfaces, y la pone a trabajar. 18 | * 19 | * @param args 20 | */ 21 | public static void main(String[] args) { 22 | 23 | // Implementacion de IfzScanner, que lee de teclado. 24 | IfzScanner unScanner = new IfzScanner() { 25 | private final Scanner scanner = new Scanner(System.in); 26 | 27 | public String nextLine() { 28 | return scanner.nextLine(); 29 | } 30 | 31 | }; 32 | 33 | // Implementacion de IfzMuestraResultados, que escribe en pantalla 34 | IfzMuestraResultados muestraResultados = new IfzMuestraResultados() { 35 | public void println(String textoPeticion) { 36 | System.out.println(textoPeticion); 37 | } 38 | }; 39 | 40 | // Se crea Sumador y se inicializa. 41 | Sumador sumador = new Sumador(); 42 | sumador.setIfzScanner(unScanner); 43 | sumador.setIfzMuestraResultados(muestraResultados); 44 | 45 | // Se le pone a trabajar. 46 | sumador.empiezaATrabajar(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /ejemplo-junit/src/main/java/com/chuidiang/ejemplos/semi_mazacote/IfzMuestraResultados.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.semi_mazacote; 2 | 3 | /** 4 | * Interface que deben implementar las clases capaces de mostrar resultados por 5 | * algún sitio, como pantalla. 6 | * 7 | * @author Chuidiang 8 | * 9 | */ 10 | public interface IfzMuestraResultados { 11 | /** Muestra en algún sitio el String que se le pasa */ 12 | void println(String textoPeticion); 13 | } 14 | -------------------------------------------------------------------------------- /ejemplo-junit/src/main/java/com/chuidiang/ejemplos/semi_mazacote/IfzScanner.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.semi_mazacote; 2 | 3 | /** 4 | * Interface que debe implementar cualquier clase capaz de leer cadenas de texto 5 | * de algún sitio, como teclado 6 | * 7 | * @author Chuidiang 8 | * 9 | */ 10 | public interface IfzScanner { 11 | /** Devuelve la siguiente línea */ 12 | String nextLine(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /ejemplo-junit/src/main/java/com/chuidiang/ejemplos/semi_mazacote/Sumador.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.semi_mazacote; 2 | 3 | /** 4 | * Clase encargada de hacer las sumas. Recibe una interface de la que leer 5 | * líneas de texto con los números que debe sumar, hace la suma, y muestra el 6 | * resultado a través de otra interface. 7 | * 8 | * @author Chuidiang 9 | * 10 | */ 11 | public class Sumador { 12 | /** Sitio del que leer las l�neas de entrada */ 13 | private IfzScanner scanner; 14 | 15 | /** Sitio por el que mostrar los resultados */ 16 | private IfzMuestraResultados muestraResultados; 17 | 18 | /** 19 | * Lee los sumandos, realiza la suma, y la muestra, siempre usando las 20 | * interfaces 21 | */ 22 | public void empiezaATrabajar() { 23 | double sumando1 = getSumando("Sumando 1:"); 24 | double sumando2 = getSumando("Sumando 2:"); 25 | muestraResultados.println("" + sumando1 + "+" + sumando2 + "=" 26 | + (sumando1 + sumando2)); 27 | } 28 | 29 | /** 30 | * Lectura de una linea de IfzScanner e intento de convertira a double, 31 | * repitiendo hasta que la operaci�n tiene �xito. 32 | * 33 | * @param textoPeticion 34 | * @return El double leído 35 | */ 36 | private double getSumando(String textoPeticion) { 37 | boolean correcto; 38 | correcto = false; 39 | double sumando2 = 0; 40 | while (!correcto) { 41 | try { 42 | muestraResultados.println(textoPeticion); 43 | sumando2 = Double.parseDouble(scanner.nextLine()); 44 | correcto = true; 45 | } catch (Exception e) { 46 | System.err.println("Eso no vale"); 47 | } 48 | } 49 | return sumando2; 50 | } 51 | 52 | /** Se le pasa por donde mostrar los resultdos */ 53 | public void setIfzMuestraResultados(IfzMuestraResultados muestraResultados) { 54 | this.muestraResultados = muestraResultados; 55 | } 56 | 57 | /** Se le pasa de dónde leer las entradas */ 58 | public void setIfzScanner(IfzScanner scanner) { 59 | this.scanner = scanner; 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /ejemplo-junit/src/test/java/com/chuidiang/ejemplos/junit45/AllTest.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.junit45; 2 | 3 | import org.junit.runner.RunWith; 4 | import org.junit.runners.Suite; 5 | 6 | /** 7 | * Ejemplo de TestSuite en junit 4.5 8 | * 9 | * Basta hacer una clase cualquiera, aunque no tenga codigo, como esta, con dos 10 | * anotcaciones. 11 | * 12 | * @RunWith(Suite.class) para indicar que esta clase debe ejecutarse como una 13 | * Suite de test de Junit 14 | * 15 | * @SuiteClasses( { TestResta.class, TestSuma.class }) con todas las clases de 16 | * test que queremos que se ejecuten. 17 | * 18 | * @author Chuidiang 19 | * 20 | */ 21 | @RunWith(Suite.class) 22 | @Suite.SuiteClasses( { TestResta.class, TestSuma.class }) 23 | public class AllTest { 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ejemplo-junit/src/test/java/com/chuidiang/ejemplos/junit45/CalculatorTest.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.junit45; 2 | 3 | import com.chuidiang.ejemplos.semi_mazacote.Calculator; 4 | import org.junit.Assert; 5 | import org.junit.Test; 6 | 7 | /** 8 | * @author Chuidiang 9 | * @date 10/11/2023 10 | */ 11 | public class CalculatorTest { 12 | @Test 13 | public void mustAdd (){ 14 | Assert.assertEquals("Add test", 4, Calculator.add(2,2)); 15 | } 16 | 17 | @Test 18 | public void mustSubstract(){ 19 | Assert.assertEquals("Substract test", 3, Calculator.substract(6,3)); 20 | } 21 | 22 | @Test 23 | public void mustMultiply(){ 24 | Assert.assertEquals("Multiply test", 6, Calculator.multiply(2,3)); 25 | } 26 | 27 | @Test 28 | public void mustDivide(){ 29 | Assert.assertEquals("Divide test", 3, Calculator.divide(6,2)); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /ejemplo-junit/src/test/java/com/chuidiang/ejemplos/junit45/Main.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.junit45; 2 | 3 | import org.junit.runner.JUnitCore; 4 | 5 | /** 6 | * Ejemplo de como se arranca una suite de test. Desde linea de comando, con el 7 | * classpath configurado, se haria 8 | * 9 | * Con el classpath adecuado 10 | * 11 | * set CLASSPATH=path/junit.jar;path/mi.jar 12 | * 13 | * se ejecuta con 14 | * 15 | * java org.junit.runner.JUnitCore com.chuidiang.ejemplos.junit45.AllTest 16 | * 17 | * @author Chuidiang 18 | */ 19 | public class Main { 20 | public static void main(String[] args) { 21 | JUnitCore.main("com.chuidiang.ejemplos.junit45.AllTest"); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ejemplo-junit/src/test/java/com/chuidiang/ejemplos/junit45/TestResta.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.junit45; 2 | 3 | import com.chuidiang.ejemplos.Resta; 4 | import org.junit.After; 5 | import org.junit.Before; 6 | import org.junit.Test; 7 | 8 | import static org.junit.Assert.assertEquals; 9 | 10 | /** 11 | * Una clase de tests con junit 4.5 El metodo que queramos que se ejecute antes 12 | * de hacer el test, debemos anotarlo con @Before. El que queramos que se 13 | * ejecute despues de los test debemos anotarlo con @After. Los metodos de test 14 | * con @Test. Para poder usar los metodos assert, debemos hacer un 15 | * 16 | * import static org.junit.Assert.*; 17 | * 18 | * @author Chuidiang 19 | */ 20 | public class TestResta { 21 | private Resta resta; 22 | 23 | @Test 24 | public void aVerSiDecrementaBien() { 25 | assertEquals("Test decrementa", 1.0, resta.decrementa(2.0), 1e-6); 26 | } 27 | 28 | @Test 29 | public void aVerSiRestaBien() { 30 | assertEquals("Test resta", 1.0, resta.getDiferencia(2.0, 1.0), 1e-6); 31 | } 32 | 33 | @Before 34 | public void paraEjecutarAntes() throws Exception { 35 | resta = new Resta(); 36 | } 37 | 38 | @After 39 | public void paraEjecutarDespues() throws Exception { 40 | // Liberar recursos 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /ejemplo-junit/src/test/java/com/chuidiang/ejemplos/junit45/TestSuma.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.junit45; 2 | 3 | import com.chuidiang.ejemplos.Suma; 4 | import org.junit.*; 5 | 6 | /** 7 | * Una clase de tests con junit 4.5 El metodo que queramos que se ejecute antes 8 | * de hacer el test, debemos anotarlo con @Before. El que queramos que se 9 | * ejecute despues de los test debemos anotarlo con @After. Los metodos de test 10 | * con @Test. Para poder usar los metodos assert, debemos hacer un 11 | * 12 | * import static org.junit.Assert.*; 13 | * 14 | * @author Chuidiang 15 | */ 16 | public class TestSuma { 17 | 18 | private Suma suma; 19 | 20 | @Test 21 | public void aVerSiIncrementaBien() { 22 | Assert.assertEquals("Test incrementa", 2.0, suma.incrementa(1.0), 1e-6); 23 | } 24 | 25 | @Test 26 | @Ignore // este test falla a posta 27 | public void aVerSiSumaBien() { 28 | Assert.assertEquals("Test suma", 2.0, suma.getSuma(1.0, 1.0), 1e-6); 29 | } 30 | 31 | @Before 32 | public void paraEjecutarAntes() throws Exception { 33 | suma = new Suma(); 34 | } 35 | 36 | @After 37 | public void paraEjecutarDespues() throws Exception { 38 | // Fin de test. Aqui liberar recursos o borrar rastros del test 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /ejemplo-junit/src/test/java/com/chuidiang/ejemplos/poco_mazacote/MockMuestraResultados.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.poco_mazacote; 2 | 3 | import com.chuidiang.ejemplos.semi_mazacote.IfzMuestraResultados; 4 | 5 | import static org.junit.Assert.assertEquals; 6 | 7 | /** 8 | * Una IfzMuestraResultados específica para test. En este test específico sabe 9 | * qué debe mostrar la clase Sumador, así que simplemente va comprobando que lo 10 | * que muestra la clase Sumador es lo esperado. 11 | * 12 | * @author Chuidiang 13 | * 14 | */ 15 | public class MockMuestraResultados implements IfzMuestraResultados { 16 | 17 | /** Para saber por qué texto del array vamos */ 18 | private int contador = 0; 19 | 20 | /** Textos que esperamos recibir */ 21 | private final String[] textosEsperados = { "Sumando 1:", "Sumando 2:", 22 | "1.0+2.0=3.0" }; 23 | 24 | /** Devuelve el número de textos recibidos */ 25 | public int getContador() { 26 | return contador; 27 | } 28 | 29 | /** Comprueba que el texto recibido coincide con el esperado */ 30 | public void println(String textoRecibido) { 31 | assertEquals(textosEsperados[contador++], textoRecibido); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /ejemplo-junit/src/test/java/com/chuidiang/ejemplos/poco_mazacote/MockScanner.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.poco_mazacote; 2 | 3 | import com.chuidiang.ejemplos.semi_mazacote.IfzScanner; 4 | 5 | /** 6 | * Implmentacion de IfzScanner específica para este test. Las lineas devueltas 7 | * son "1" y "2". 8 | * 9 | * @author Chuidiang 10 | * 11 | */ 12 | public class MockScanner implements IfzScanner { 13 | 14 | /** Lineas que debe ir devolviendo */ 15 | private final String[] lineas = { "1", "2" }; 16 | 17 | /** Numero de lineas devueltas */ 18 | private int contador = 0; 19 | 20 | /** Devuelve el número de líneas devueltas */ 21 | public int getContador() { 22 | return contador; 23 | } 24 | 25 | /** Devuelve la siguiente linea que toca */ 26 | public String nextLine() { 27 | return lineas[contador++]; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /ejemplo-junit/src/test/java/com/chuidiang/ejemplos/poco_mazacote/TestSumador.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.poco_mazacote; 2 | 3 | import com.chuidiang.ejemplos.semi_mazacote.Sumador; 4 | import org.junit.Before; 5 | import org.junit.Test; 6 | 7 | import static org.junit.Assert.assertEquals; 8 | 9 | /** 10 | * Test de prueba de la clase Sumador 11 | * 12 | * @author Chuidiang 13 | * 14 | */ 15 | public class TestSumador { 16 | 17 | /** Clase a probar */ 18 | private Sumador sumador; 19 | 20 | /** scanner específico para el test */ 21 | private MockScanner scanner; 22 | 23 | /** MuestraResultados específico para el test */ 24 | private MockMuestraResultados muestraResultados; 25 | 26 | /** 27 | * Crea el Sumador, los dos Mock e inicializa sumador. 28 | */ 29 | @Before 30 | public void inicializacion() { 31 | sumador = new Sumador(); 32 | scanner = new MockScanner(); 33 | muestraResultados = new MockMuestraResultados(); 34 | 35 | sumador.setIfzScanner(scanner); 36 | sumador.setIfzMuestraResultados(muestraResultados); 37 | 38 | } 39 | 40 | /** 41 | * Comprueba que Sumador suma bien. 42 | */ 43 | @Test 44 | public final void testEmpiezaATrabajar() { 45 | sumador.empiezaATrabajar(); 46 | 47 | // Se comprueba que se han leido las dos lineas del scanner 48 | assertEquals(2, scanner.getContador()); 49 | 50 | // Se comprueba que han salido tres lineas por pantalla: para pedir los 51 | // dos sumadores y el resultado. 52 | assertEquals(3, muestraResultados.getContador()); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /ejemplo-modelo-vista-presenter/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.chuidiang 5 | ejemplo-modelo-vista-presenter 6 | jar 7 | 1.0-SNAPSHOT 8 | ejemplo-modelo-vista-presenter 9 | http://www.chuidiang.com 10 | 11 | 12 | junit 13 | junit 14 | 3.8.1 15 | test 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /ejemplo-modelo-vista-presenter/src/main/java/com/chuidiang/ejemplos/mvp/EjemploModeloVistaPresenter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-modelo-vista-presenter/src/main/java/com/chuidiang/ejemplos/mvp/EjemploModeloVistaPresenter.java -------------------------------------------------------------------------------- /ejemplo-modelo-vista-presenter/src/main/java/com/chuidiang/ejemplos/mvp/IfzVista.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-modelo-vista-presenter/src/main/java/com/chuidiang/ejemplos/mvp/IfzVista.java -------------------------------------------------------------------------------- /ejemplo-modelo-vista-presenter/src/main/java/com/chuidiang/ejemplos/mvp/Modelo.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.mvp; 2 | 3 | /** 4 | * Clase de Modelo para el ejemplo Modelo-Vista-Presenter.
5 | * Es una clase sencilla para el ejemplo y sabe que numeros son pares o impares. 6 | * 7 | * @author Chuidiang 8 | */ 9 | public class Modelo { 10 | /** Tipo pares */ 11 | public static final String PARES = "pares"; 12 | 13 | /** Tipo impares */ 14 | public static final String IMPARES = "impares"; 15 | 16 | /** Posibles valores pares */ 17 | private static final int[] pares = { 2, 4, 6 }; 18 | 19 | /** Posibles valores impares */ 20 | private static final int[] impares = { 1, 3, 5 }; 21 | 22 | /** 23 | * Devuelve los posibles valores segun el tipo que se le pase. 24 | * 25 | * @param tipo 26 | * PARES o IMPARES 27 | * @return array de valores pares o impares. null si no el tipo no es PARES 28 | * o IMPARES 29 | */ 30 | public int[] getPosiblesValores(String tipo) { 31 | if (PARES.equals(tipo)) 32 | return pares; 33 | if (IMPARES.equals(tipo)) 34 | return impares; 35 | return null; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /ejemplo-modelo-vista-presenter/src/main/java/com/chuidiang/ejemplos/mvp/Vista.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-modelo-vista-presenter/src/main/java/com/chuidiang/ejemplos/mvp/Vista.java -------------------------------------------------------------------------------- /ejemplo-osgi/ejemplo-maven-felix-plugin/OSGI-INF/ThePublicInterface.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ejemplo-osgi/ejemplo-maven-felix-plugin/src/main/java/com/chuidiang/ejemplos/App.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | /** 4 | * Hello world! 5 | * 6 | */ 7 | public class App 8 | { 9 | public static void main( String[] args ) 10 | { 11 | System.out.println( "Hello World!" ); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ejemplo-osgi/ejemplo-maven-felix-plugin/src/main/java/com/chuidiang/ejemplos/api/ThePublicInterface.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.api; 2 | 3 | public interface ThePublicInterface { 4 | void someMethod(); 5 | } 6 | -------------------------------------------------------------------------------- /ejemplo-osgi/ejemplo-maven-felix-plugin/src/main/java/com/chuidiang/ejemplos/impl1/Activator.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.impl1; 2 | 3 | import org.osgi.framework.BundleActivator; 4 | import org.osgi.framework.BundleContext; 5 | 6 | 7 | public class Activator implements BundleActivator { 8 | @Override 9 | public void start(BundleContext bc){ 10 | System.out.println("Activator Starting ..."); 11 | } 12 | 13 | @Override 14 | public void stop(BundleContext bc) { 15 | System.out.println("Activator Stopping ..."); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ejemplo-osgi/ejemplo-maven-felix-plugin/src/main/java/com/chuidiang/ejemplos/impl1/TheInterfaceImplementation.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.impl1; 2 | 3 | import org.apache.log4j.BasicConfigurator; 4 | import org.apache.log4j.Logger; 5 | 6 | import com.chuidiang.ejemplos.api.ThePublicInterface; 7 | 8 | public class TheInterfaceImplementation implements ThePublicInterface{ 9 | 10 | @Override 11 | public void someMethod() { 12 | System.out.println("Doing some method"); 13 | Logger.getLogger(TheInterfaceImplementation.class).info("Reported by log4j"); 14 | } 15 | 16 | public void start() { 17 | BasicConfigurator.configure(); 18 | someMethod(); 19 | } 20 | 21 | public void stop() { 22 | System.out.println("stopping..."); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ejemplo-osgi/ejemplo-maven-felix-plugin/src/main/resources/un-recurso.txt: -------------------------------------------------------------------------------- 1 | Esto es un fichero de recurso 2 | -------------------------------------------------------------------------------- /ejemplo-osgi/ejemplo-maven-felix-plugin/src/test/java/com/chuidiang/ejemplos/AppTest.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for simple App. 9 | */ 10 | public class AppTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public AppTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( AppTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testApp() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.app_main/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/main/java/,src/main/resources/ 2 | output.. = target/classes/ 3 | bin.includes = META-INF/,\ 4 | .,\ 5 | OSGI-INF/ 6 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.app_main/osgi.bnd: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------- 2 | # Use this file to add customized Bnd instructions for the bundle 3 | #----------------------------------------------------------------- 4 | 5 | Service-Component: OSGI-INF/component.xml 6 | Import-Package: com.chuidiang.ejemplos.plugin_interface;version="1.0.0.SNAPSHOT",\ 7 | javax.swing,org.osgi.framework 8 | 9 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.app_main/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ../poms/compiled/ 6 | com.chuidiang.ejemplos.osgi-app.build 7 | compiled-bundle-settings 8 | 1.0-SNAPSHOT 9 | 10 | 11 | 12 | com.chuidiang.ejemplos.app_main 13 | com.chuidiang.ejemplos.app_main 14 | 15 | 16 | 4.0.0 17 | com.chuidiang.ejemplos.osgi-app 18 | com.chuidiang.ejemplos.app_main 19 | 1.0-SNAPSHOT 20 | 21 | ${bundle.symbolicName} 22 | 23 | bundle 24 | 25 | 26 | 34 | 35 | org.osgi 36 | osgi_R4_core 37 | true 38 | 39 | 40 | org.osgi 41 | osgi_R4_compendium 42 | true 43 | 44 | 45 | com.chuidiang.ejemplos.osgi-app 46 | com.chuidiang.ejemplos.plugin_interface 47 | 1.0-SNAPSHOT 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.app_main/src/main/java/com/chuidiang/ejemplos/app_main/ApplicationMain.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.app_main; 2 | 3 | import java.util.Map; 4 | 5 | import com.chuidiang.ejemplos.plugin_interface.PluginInterface; 6 | 7 | /** 8 | * Public API representing an example OSGi service 9 | */ 10 | public interface ApplicationMain 11 | { 12 | void addPlugin(PluginInterface plugin, Map properties); 13 | void removePlugin(PluginInterface plugin, Map properties); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.app_main/src/main/java/com/chuidiang/ejemplos/app_main/internal/BundleAndMap.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.app_main.internal; 2 | 3 | import java.util.Map; 4 | 5 | import com.chuidiang.ejemplos.plugin_interface.PluginInterface; 6 | 7 | public class BundleAndMap { 8 | public BundleAndMap(PluginInterface pluginInterface, Map pluginProperties){ 9 | this.plugin = pluginInterface; 10 | this.pluginProperties = pluginProperties; 11 | } 12 | public PluginInterface plugin; 13 | public Map pluginProperties; 14 | } 15 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.app_main/src/main/java/com/chuidiang/ejemplos/app_main/internal/PluginInstallation.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.app_main.internal; 2 | 3 | public interface PluginInstallation { 4 | long installPlugin(String path); 5 | 6 | void uninstall(long bundleId); 7 | } 8 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.app_main/src/main/resources/OSGI-INF/component.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.app_main/src/main/resources/readme.txt: -------------------------------------------------------------------------------- 1 | Bundle resources go here 2 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin1_v1/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/main/java/,src/main/resources/ 2 | output.. = target/classes/ 3 | bin.includes = META-INF/,.,target/pax-eclipse/ 4 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin1_v1/osgi.bnd: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------- 2 | # Use this file to add customized Bnd instructions for the bundle 3 | #----------------------------------------------------------------- 4 | 5 | Import-Package: com.chuidiang.ejemplos.plugin_interface;version="1.0-SNAPSHOT",\ 6 | org.osgi.framework,javax.swing 7 | Service-Component: OSGI-INF/component.xml 8 | 9 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin1_v1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | ../poms/compiled/ 8 | com.chuidiang.ejemplos.osgi-app.build 9 | compiled-bundle-settings 10 | 1.0-SNAPSHOT 11 | 12 | 13 | 14 | com.chuidiang.ejemplos.plugin1 15 | com.chuidiang.ejemplos.plugin1 16 | 17 | 18 | 4.0.0 19 | com.chuidiang.ejemplos.osgi-app 20 | com.chuidiang.ejemplos.plugin1 21 | 1.0-SNAPSHOT 22 | 23 | ${bundle.symbolicName} 24 | 25 | bundle 26 | 27 | 28 | 31 | 32 | org.osgi 33 | osgi_R4_core 34 | true 35 | 36 | 37 | org.osgi 38 | osgi_R4_compendium 39 | true 40 | 41 | 42 | com.chuidiang.ejemplos.osgi-app 43 | com.chuidiang.ejemplos.plugin_interface 44 | 1.0-SNAPSHOT 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin1_v1/src/main/java/com/chuidiang/ejemplos/plugin1/internal/ExampleServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.plugin1.internal; 2 | 3 | import java.awt.Component; 4 | import java.awt.FlowLayout; 5 | import java.awt.event.ActionEvent; 6 | import java.awt.event.ActionListener; 7 | 8 | import javax.swing.JButton; 9 | import javax.swing.JLabel; 10 | import javax.swing.JPanel; 11 | 12 | import com.chuidiang.ejemplos.plugin_interface.PluginInterface; 13 | 14 | /** 15 | * Internal implementation of our example OSGi service 16 | */ 17 | public final class ExampleServiceImpl implements PluginInterface { 18 | 19 | private JPanel panel; 20 | private JButton button; 21 | private JLabel label; 22 | private int counter=0; 23 | public void start() { 24 | 25 | System.out.println("plugin1 v1 starting"); 26 | panel = new JPanel(new FlowLayout()); 27 | button = new JButton("Click me"); 28 | panel.add(button); 29 | label = new JLabel(Integer.toString(counter)); 30 | panel.add(label); 31 | button.addActionListener(new ActionListener() { 32 | 33 | @Override 34 | public void actionPerformed(ActionEvent arg0) { 35 | counter++; 36 | label.setText(Integer.toString(counter)); 37 | 38 | } 39 | }); 40 | } 41 | 42 | public void stop() { 43 | System.out.println("plugin1 v1 stoping"); 44 | } 45 | 46 | @Override 47 | public String getName() { 48 | // TODO Auto-generated method stub 49 | return "I'm plugin1, version 1"; 50 | } 51 | 52 | @Override 53 | public Component getComponent() { 54 | return panel; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin1_v1/src/main/resources/OSGI-INF/component.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin1_v1/src/main/resources/readme.txt: -------------------------------------------------------------------------------- 1 | Bundle resources go here 2 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin1_v2/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/main/java/,src/main/resources/ 2 | output.. = target/classes/ 3 | bin.includes = META-INF/,.,target/pax-eclipse/ 4 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin1_v2/osgi.bnd: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------- 2 | # Use this file to add customized Bnd instructions for the bundle 3 | #----------------------------------------------------------------- 4 | 5 | Import-Package: com.chuidiang.ejemplos.plugin_interface;version="1.0-SNAPSHOT",\ 6 | org.osgi.framework,javax.swing 7 | Service-Component: OSGI-INF/component.xml 8 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin1_v2/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | ../poms/compiled/ 8 | com.chuidiang.ejemplos.osgi-app.build 9 | compiled-bundle-settings 10 | 1.0-SNAPSHOT 11 | 12 | 13 | 14 | com.chuidiang.ejemplos.plugin1 15 | com.chuidiang.ejemplos.plugin1 16 | 17 | 18 | 4.0.0 19 | com.chuidiang.ejemplos.osgi-app 20 | com.chuidiang.ejemplos.plugin1 21 | 2.0-SNAPSHOT 22 | 23 | ${bundle.symbolicName} 24 | 25 | bundle 26 | 27 | 28 | 31 | 32 | org.osgi 33 | osgi_R4_core 34 | true 35 | 36 | 37 | org.osgi 38 | osgi_R4_compendium 39 | true 40 | 41 | 42 | com.chuidiang.ejemplos.osgi-app 43 | com.chuidiang.ejemplos.plugin_interface 44 | 1.0-SNAPSHOT 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin1_v2/src/main/java/com/chuidiang/ejemplos/plugin1/internal/ExampleServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.plugin1.internal; 2 | 3 | import java.awt.Component; 4 | import java.awt.FlowLayout; 5 | import java.awt.event.ActionEvent; 6 | import java.awt.event.ActionListener; 7 | 8 | import javax.swing.JButton; 9 | import javax.swing.JLabel; 10 | import javax.swing.JPanel; 11 | 12 | import com.chuidiang.ejemplos.plugin_interface.PluginInterface; 13 | 14 | /** 15 | * Internal implementation of our example OSGi service 16 | */ 17 | public final class ExampleServiceImpl 18 | implements PluginInterface 19 | { 20 | private JPanel panel; 21 | private JButton button; 22 | private JLabel label; 23 | private int counter=0; 24 | public void start() { 25 | 26 | System.out.println("plugin1 v2 starting"); 27 | panel = new JPanel(new FlowLayout()); 28 | button = new JButton("Click me"); 29 | panel.add(button); 30 | label = new JLabel(Integer.toString(counter)); 31 | panel.add(label); 32 | button.addActionListener(new ActionListener() { 33 | 34 | @Override 35 | public void actionPerformed(ActionEvent arg0) { 36 | counter++; 37 | counter++; // v2 increments twice. 38 | label.setText(Integer.toString(counter)); 39 | 40 | } 41 | }); 42 | } 43 | 44 | public void stop() { 45 | System.out.println("plugin1 v2 stopping"); 46 | } 47 | 48 | @Override 49 | public String getName() { 50 | return "I'm plugin1, version 2"; 51 | } 52 | 53 | @Override 54 | public Component getComponent() { 55 | return panel; 56 | } 57 | } 58 | 59 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin1_v2/src/main/resources/readme.txt: -------------------------------------------------------------------------------- 1 | Bundle resources go here 2 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin2/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/main/java/,src/main/resources/ 2 | output.. = target/classes/ 3 | bin.includes = META-INF/,.,target/pax-eclipse/ 4 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin2/osgi.bnd: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------- 2 | # Use this file to add customized Bnd instructions for the bundle 3 | #----------------------------------------------------------------- 4 | 5 | Import-Package: com.chuidiang.ejemplos.plugin_interface;version="1.0-SNAPSHOT",\ 6 | org.osgi.framework,javax.swing 7 | Service-Component: OSGI-INF/component.xml 8 | 9 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin2/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | ../poms/compiled/ 8 | com.chuidiang.ejemplos.osgi-app.build 9 | compiled-bundle-settings 10 | 1.0-SNAPSHOT 11 | 12 | 13 | 14 | com.chuidiang.ejemplos.plugin2 15 | com.chuidiang.ejemplos.plugin2 16 | 17 | 18 | 4.0.0 19 | com.chuidiang.ejemplos.osgi-app 20 | com.chuidiang.ejemplos.plugin2 21 | 1.0-SNAPSHOT 22 | 23 | ${bundle.symbolicName} 24 | 25 | bundle 26 | 27 | 28 | 31 | 32 | org.osgi 33 | osgi_R4_core 34 | true 35 | 36 | 37 | org.osgi 38 | osgi_R4_compendium 39 | true 40 | 41 | 42 | com.chuidiang.ejemplos.osgi-app 43 | com.chuidiang.ejemplos.plugin_interface 44 | 1.0-SNAPSHOT 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin2/src/main/java/com/chuidiang/ejemplos/plugin2/internal/ExampleServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.plugin2.internal; 2 | 3 | import java.awt.Component; 4 | import java.awt.FlowLayout; 5 | import java.awt.event.ActionEvent; 6 | import java.awt.event.ActionListener; 7 | 8 | import javax.swing.JButton; 9 | import javax.swing.JPanel; 10 | import javax.swing.JTextField; 11 | 12 | import com.chuidiang.ejemplos.plugin_interface.PluginInterface; 13 | 14 | /** 15 | * Internal implementation of our example OSGi service 16 | */ 17 | public final class ExampleServiceImpl 18 | implements PluginInterface 19 | { 20 | 21 | private JPanel panel; 22 | private JTextField operand1; 23 | private JTextField operand2; 24 | private JButton addButton; 25 | private JTextField result; 26 | 27 | public void stop(){ 28 | 29 | } 30 | 31 | public void start() { 32 | panel = new JPanel(new FlowLayout()); 33 | operand1 = new JTextField(5); 34 | operand2 = new JTextField(5); 35 | addButton = new JButton("+"); 36 | result = new JTextField(5); 37 | panel.add(operand1); 38 | panel.add(operand2); 39 | panel.add(addButton); 40 | panel.add(result); 41 | 42 | addButton.addActionListener(new ActionListener() { 43 | 44 | @Override 45 | public void actionPerformed(ActionEvent arg0) { 46 | try { 47 | int value1 = Integer.parseInt(operand1.getText()); 48 | int value2 = Integer.parseInt(operand2.getText()); 49 | result.setText(Integer.toString(value1+value2)); 50 | } catch (Exception e){ 51 | System.err.println("Some input is wrong"); 52 | } 53 | 54 | } 55 | }); 56 | } 57 | 58 | @Override 59 | public String getName() { 60 | return "plugin2"; 61 | } 62 | 63 | @Override 64 | public Component getComponent() { 65 | return panel; 66 | } 67 | } 68 | 69 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin2/src/main/resources/OSGI-INF/component.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin2/src/main/resources/readme.txt: -------------------------------------------------------------------------------- 1 | Bundle resources go here 2 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin_interface/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | #Sat Oct 25 12:11:13 CEST 2014 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 3 | eclipse.preferences.version=1 4 | org.eclipse.jdt.core.compiler.source=1.7 5 | org.eclipse.jdt.core.compiler.compliance=1.7 6 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin_interface/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/main/java/,src/main/resources/ 2 | output.. = target/classes/ 3 | bin.includes = META-INF/,. 4 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin_interface/osgi.bnd: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------- 2 | # Use this file to add customized Bnd instructions for the bundle 3 | #----------------------------------------------------------------- 4 | 5 | 6 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin_interface/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ../poms/compiled/ 6 | com.chuidiang.ejemplos.osgi-app.build 7 | compiled-bundle-settings 8 | 1.0-SNAPSHOT 9 | 10 | 11 | 12 | com.chuidiang.ejemplos.plugin_interface 13 | com.chuidiang.ejemplos.plugin_interface 14 | 15 | 16 | 4.0.0 17 | com.chuidiang.ejemplos.osgi-app 18 | com.chuidiang.ejemplos.plugin_interface 19 | 1.0-SNAPSHOT 20 | 21 | ${bundle.symbolicName} 22 | 23 | bundle 24 | 25 | 26 | 35 | 36 | org.osgi 37 | osgi_R4_core 38 | true 39 | 40 | 41 | org.osgi 42 | osgi_R4_compendium 43 | true 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin_interface/src/main/java/com/chuidiang/ejemplos/plugin_interface/PluginInterface.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.plugin_interface; 2 | 3 | import java.awt.Component; 4 | 5 | /** 6 | * Public API representing an example OSGi service 7 | */ 8 | public interface PluginInterface 9 | { 10 | String getName(); 11 | 12 | Component getComponent(); 13 | } 14 | 15 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/com.chuidiang.ejemplos.plugin_interface/src/main/resources/readme.txt: -------------------------------------------------------------------------------- 1 | Bundle resources go here 2 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/poms/wrappers/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | com.chuidiang.ejemplos.osgi-app.build 7 | shared-plugin-settings 8 | 1.0-SNAPSHOT 9 | 10 | 11 | 4.0.0 12 | wrapper-bundle-settings 13 | 14 | osgi-app - wrapper instructions 15 | 16 | 19 | 20 | 21 | Simple OSGi wrapper around third-party jar(s) 22 | 23 | 24 | 25 | 26 | 27 | pom 28 | 29 | 30 | 31 | 32 | 35 | org.apache.felix 36 | maven-bundle-plugin 37 | 38 | 39 | ${bundle.symbolicName} 40 | ${wrapped.version} 41 | 44 | <_exportcontents>* 45 | !* 46 | 49 | <_include>-osgi.bnd 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /ejemplo-osgi/osgi-app/provision/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | com.chuidiang.ejemplos 7 | osgi-app 8 | 1.0-SNAPSHOT 9 | 10 | 11 | 4.0.0 12 | com.chuidiang.ejemplos.osgi-app.build 13 | provision 14 | 15 | osgi-app - imported bundles 16 | 17 | pom 18 | 19 | 24 | 25 | 26 | org.apache.felix 27 | org.apache.felix.scr 28 | 1.8.2 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /ejemplo-socket-ssl/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | .classpath 3 | .project 4 | .settings 5 | *~ 6 | -------------------------------------------------------------------------------- /ejemplo-socket-ssl/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | 5 | com.chuidiang.ejemplos 6 | ejemplo-socket-ssl 7 | 1.0-SNAPSHOT 8 | jar 9 | 10 | ejemplo-socket-ssl 11 | http://maven.apache.org 12 | 13 | 14 | UTF-8 15 | 16 | 17 | 18 | 19 | junit 20 | junit 21 | 3.8.1 22 | test 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/certs/client/ClientPublicKey.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-socket-ssl/src/main/certs/client/ClientPublicKey.cer -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/certs/client/clientKey.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-socket-ssl/src/main/certs/client/clientKey.jks -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/certs/client/clientTrustedCerts.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-socket-ssl/src/main/certs/client/clientTrustedCerts.jks -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/certs/server/ServerPublicKey.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-socket-ssl/src/main/certs/server/ServerPublicKey.cer -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/certs/server/serverKey.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-socket-ssl/src/main/certs/server/serverKey.jks -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/certs/server/serverTrustedCerts.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplo-socket-ssl/src/main/certs/server/serverTrustedCerts.jks -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/java/com/chuidiang/ejemplos/AppCustom.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | 4 | /** 5 | * Example with SSL sockets using system properties. 6 | */ 7 | public class AppCustom { 8 | public static void main(String[] args) throws Exception { 9 | new SSLCustomServer(5557).start(); 10 | 11 | new SSLCustomClient("localhost",5557).start(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/java/com/chuidiang/ejemplos/AppDefault.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import java.io.IOException; 4 | 5 | /** 6 | * Example with SSL sockets using system properties. 7 | */ 8 | public class AppDefault { 9 | public static void main(String[] args) throws IOException { 10 | System.setProperty("javax.net.ssl.keyStore", "src/main/certs/server/serverKey.jks"); 11 | System.setProperty("javax.net.ssl.keyStorePassword","servpass"); 12 | // System.setProperty("javax.net.ssl.trustStore", "src/main/certs/server/serverTrustedCerts.jks"); 13 | // System.setProperty("javax.net.ssl.trustStorePassword", "servpass"); 14 | System.setProperty("javax.net.ssl.trustStore", "src/main/certs/client/clientTrustedCerts.jks"); 15 | System.setProperty("javax.net.ssl.trustStorePassword", "clientpass"); 16 | 17 | new SSLDefaultServerSocket(5557).start(); 18 | 19 | // System.setProperty("javax.net.ssl.keyStore", "src/main/certs/client/clientKey.jks"); 20 | // System.setProperty("javax.net.ssl.keyStorePassword","clientpass"); 21 | // System.setProperty("javax.net.ssl.trustStore", "src/main/certs/client/clientTrustedCerts.jks"); 22 | // System.setProperty("javax.net.ssl.trustStorePassword", "clientpass"); 23 | new SSLDefaultClientSocket("localhost",5557).start(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/java/com/chuidiang/ejemplos/SSLCustomClient.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import java.io.BufferedReader; 4 | import java.io.FileInputStream; 5 | import java.io.IOException; 6 | import java.io.InputStreamReader; 7 | import java.io.PrintWriter; 8 | import java.security.KeyStore; 9 | 10 | import javax.net.ssl.KeyManager; 11 | import javax.net.ssl.KeyManagerFactory; 12 | import javax.net.ssl.SSLContext; 13 | import javax.net.ssl.SSLSocket; 14 | import javax.net.ssl.SSLSocketFactory; 15 | import javax.net.ssl.TrustManager; 16 | import javax.net.ssl.TrustManagerFactory; 17 | 18 | public class SSLCustomClient { 19 | private SSLSocket client; 20 | 21 | public SSLCustomClient(String address, int port) throws Exception { 22 | 23 | KeyStore keyStore = KeyStore.getInstance("JKS"); 24 | keyStore.load(new FileInputStream("src/main/certs/client/clientKey.jks"), 25 | "clientpass".toCharArray()); 26 | 27 | KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); 28 | kmf.init(keyStore, "clientpass".toCharArray()); 29 | 30 | KeyStore trustedStore = KeyStore.getInstance("JKS"); 31 | trustedStore.load(new FileInputStream( 32 | "src/main/certs/client/clientTrustedCerts.jks"), "clientpass" 33 | .toCharArray()); 34 | 35 | TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); 36 | tmf.init(trustedStore); 37 | 38 | SSLContext sc = SSLContext.getInstance("TLS"); 39 | TrustManager[] trustManagers = tmf.getTrustManagers(); 40 | KeyManager[] keyManagers = kmf.getKeyManagers(); 41 | sc.init(keyManagers, trustManagers, null); 42 | 43 | SSLSocketFactory ssf = sc.getSocketFactory(); 44 | client = (SSLSocket) ssf.createSocket(address, port); 45 | client.startHandshake(); 46 | } 47 | 48 | public void start() { 49 | Util.startClientWorking(client); 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/java/com/chuidiang/ejemplos/SSLCustomServer.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import java.io.FileInputStream; 4 | import java.security.KeyStore; 5 | 6 | import javax.net.ssl.KeyManager; 7 | import javax.net.ssl.KeyManagerFactory; 8 | import javax.net.ssl.SSLContext; 9 | import javax.net.ssl.SSLServerSocket; 10 | import javax.net.ssl.SSLServerSocketFactory; 11 | import javax.net.ssl.SSLSocket; 12 | import javax.net.ssl.TrustManager; 13 | import javax.net.ssl.TrustManagerFactory; 14 | 15 | public class SSLCustomServer { 16 | private SSLServerSocket serverSocket; 17 | 18 | public SSLCustomServer(int port) throws Exception { 19 | 20 | KeyStore keyStore = KeyStore.getInstance("JKS"); 21 | keyStore.load(new FileInputStream("src/main/certs/server/serverKey.jks"), 22 | "servpass".toCharArray()); 23 | 24 | KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); 25 | kmf.init(keyStore, "servpass".toCharArray()); 26 | 27 | KeyStore trustedStore = KeyStore.getInstance("JKS"); 28 | trustedStore.load(new FileInputStream( 29 | "src/main/certs/server/serverTrustedCerts.jks"), "servpass" 30 | .toCharArray()); 31 | 32 | TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); 33 | tmf.init(trustedStore); 34 | 35 | SSLContext sc = SSLContext.getInstance("TLS"); 36 | TrustManager[] trustManagers = tmf.getTrustManagers(); 37 | KeyManager[] keyManagers = kmf.getKeyManagers(); 38 | sc.init(keyManagers, trustManagers, null); 39 | 40 | SSLServerSocketFactory ssf = sc.getServerSocketFactory(); 41 | serverSocket = (SSLServerSocket) ssf.createServerSocket(port); 42 | 43 | } 44 | 45 | public void start() { 46 | Util.startServerWorking(serverSocket); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/java/com/chuidiang/ejemplos/SSLDefaultClientSocket.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import java.io.BufferedReader; 4 | import java.io.IOException; 5 | import java.io.InputStreamReader; 6 | import java.io.PrintWriter; 7 | import java.net.Socket; 8 | import java.net.UnknownHostException; 9 | 10 | import javax.net.ssl.SSLSocketFactory; 11 | 12 | public class SSLDefaultClientSocket { 13 | Socket client = null; 14 | 15 | public SSLDefaultClientSocket(String server, int port) 16 | throws UnknownHostException, IOException { 17 | SSLSocketFactory clientFactory = (SSLSocketFactory) SSLSocketFactory 18 | .getDefault(); 19 | client = clientFactory.createSocket(server, port); 20 | } 21 | 22 | public void start() { 23 | Util.startClientWorking(client); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/main/java/com/chuidiang/ejemplos/SSLDefaultServerSocket.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import java.io.IOException; 4 | import java.net.ServerSocket; 5 | 6 | import javax.net.ssl.SSLServerSocketFactory; 7 | 8 | public class SSLDefaultServerSocket { 9 | private ServerSocket serverSocket; 10 | 11 | public SSLDefaultServerSocket(int port) throws IOException { 12 | SSLServerSocketFactory serverFactory = (SSLServerSocketFactory) SSLServerSocketFactory 13 | .getDefault(); 14 | serverSocket = serverFactory.createServerSocket(port); 15 | } 16 | 17 | public void start() { 18 | Util.startServerWorking(serverSocket); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ejemplo-socket-ssl/src/test/java/com/chuidiang/ejemplos/AppTest.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for simple AppDefault. 9 | */ 10 | public class AppTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public AppTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( AppTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testApp() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ejemplo_cxf/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.chuidiang.ejemplos 5 | ejemplo_cxf 6 | 1.0-SNAPSHOT 7 | war 8 | Simple CXF project using spring configuration 9 | Simple CXF project using spring configuration 10 | 11 | 12 | org.apache.cxf 13 | cxf-rt-frontend-jaxws 14 | 2.5.2 15 | 16 | 17 | org.apache.cxf 18 | cxf-rt-transports-http 19 | 2.5.2 20 | 21 | 23 | 24 | org.apache.cxf 25 | cxf-rt-ws-security 26 | 2.5.2 27 | 28 | 29 | org.apache.cxf 30 | cxf-rt-transports-http-jetty 31 | 2.5.2 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | org.apache.maven.plugins 41 | maven-compiler-plugin 42 | 43 | 1.5 44 | 1.5 45 | 46 | 47 | 48 | org.apache.maven.plugins 49 | maven-eclipse-plugin 50 | 51 | [artifactId]-[version] 52 | true 53 | true 54 | 2.0 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /ejemplo_cxf/src/main/java/com/chuidiang/ejemplos/cxf/Calculadora.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.cxf; 2 | 3 | import javax.jws.WebParam; 4 | import javax.jws.WebService; 5 | import javax.xml.ws.Holder; 6 | 7 | @WebService 8 | public interface Calculadora { 9 | double suma(@WebParam(name = "sum1") Holder a, 10 | @WebParam(name = "sum2") double b); 11 | 12 | double resta(double a, double b); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /ejemplo_cxf/src/main/java/com/chuidiang/ejemplos/cxf/CalculadoraImpl.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.cxf; 2 | 3 | import javax.jws.WebParam; 4 | import javax.jws.WebService; 5 | import javax.xml.ws.Holder; 6 | 7 | @WebService(endpointInterface = "com.chuidiang.ejemplos.cxf.Calculadora") 8 | public class CalculadoraImpl implements Calculadora { 9 | 10 | public double suma(@WebParam(name = "sum1") Holder a, 11 | @WebParam(name = "sum2") double b) { 12 | a.value = a.value + 1; 13 | return a.value + b - 1; 14 | } 15 | 16 | public double resta(double a, double b) { 17 | return a - b; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /ejemplo_cxf/src/main/java/com/chuidiang/ejemplos/cxf/Resultado.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.cxf; 2 | 3 | import javax.jws.WebParam; 4 | import javax.jws.WebService; 5 | 6 | @WebService 7 | public class Resultado { 8 | 9 | public void sumaResponse(@WebParam(name = "return") double sumaResponse, 10 | @WebParam(name = "sum1") double arg1) { 11 | System.out.println(sumaResponse); 12 | System.out.println(arg1); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ejemplo_cxf/src/main/webapp/WEB-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /ejemplo_cxf/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | contextConfigLocation 11 | WEB-INF/beans.xml 12 | 13 | 14 | 15 | 16 | org.springframework.web.context.ContextLoaderListener 17 | 18 | 19 | 20 | 21 | CXFServlet 22 | CXF Servlet 23 | 24 | org.apache.cxf.transport.servlet.CXFServlet 25 | 26 | 1 27 | 28 | 29 | 30 | CXFServlet 31 | /* 32 | 33 | 34 | -------------------------------------------------------------------------------- /ejemplo_cxf/src/test/java/com/chuidiang/ejemplos/cxf/ServerCalculadora.java: -------------------------------------------------------------------------------- 1 | package com.chuidiang.ejemplos.cxf; 2 | 3 | import org.apache.cxf.interceptor.LoggingInInterceptor; 4 | import org.apache.cxf.interceptor.LoggingOutInterceptor; 5 | import org.apache.cxf.jaxws.EndpointImpl; 6 | import org.apache.cxf.ws.addressing.WSAddressingFeature; 7 | 8 | public class ServerCalculadora { 9 | 10 | /** 11 | * @param args 12 | */ 13 | public static void main(String[] args) { 14 | 15 | EndpointImpl endpoint = (EndpointImpl) EndpointImpl.create( 16 | 17 | new CalculadoraImpl()); 18 | 19 | endpoint.getFeatures().add(new WSAddressingFeature()); 20 | endpoint.publish("http://localhost:8080/ejemplo_cxf/Calculadora"); 21 | 22 | LoggingInInterceptor logIn = new LoggingInInterceptor(); 23 | logIn.setPrettyLogging(true); 24 | endpoint.getInInterceptors().add(logIn); 25 | LoggingOutInterceptor logOut = new LoggingOutInterceptor(); 26 | logOut.setPrettyLogging(true); 27 | endpoint.getOutInterceptors().add(logOut); 28 | } 29 | 30 | } -------------------------------------------------------------------------------- /ejemplos-android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ejemplos-android/proguard-project.txt: -------------------------------------------------------------------------------- 1 | # To enable ProGuard in your project, edit project.properties 2 | # to define the proguard.config property as described in that file. 3 | # 4 | # Add project specific ProGuard rules here. 5 | # By default, the flags in this file are appended to flags specified 6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt 7 | # You can edit the include path and order by changing the ProGuard 8 | # include property in project.properties. 9 | # 10 | # For more details, see 11 | # http://developer.android.com/guide/developing/tools/proguard.html 12 | 13 | # Add any project specific keep options here: 14 | 15 | # If your project uses WebView with JS, uncomment the following 16 | # and specify the fully qualified class name to the JavaScript interface 17 | # class: 18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 19 | # public *; 20 | #} 21 | -------------------------------------------------------------------------------- /ejemplos-android/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system edit 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | # 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 11 | #proguard.config=${sdk.dir}\tools\proguard\proguard-android.txt:proguard-project.txt 12 | 13 | # Project target. 14 | target=android-15 15 | -------------------------------------------------------------------------------- /ejemplos-android/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplos-android/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /ejemplos-android/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplos-android/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /ejemplos-android/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplos-android/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /ejemplos-android/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuidiang/chuidiang-ejemplos-google-code/7b01f5c0786b5855de0c4c3688b15d3c57914a28/ejemplos-android/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ejemplos-android/res/layout/formulario.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 17 | 18 | 25 | 26 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /ejemplos-android/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 |