library) {
14 | this.library = library;
15 | }
16 |
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/JerseyExample/src/test/resources/book-schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-04/schema#",
3 | "type": "object",
4 | "properties": {
5 | "id": {
6 | "type": "integer"
7 | },
8 | "author": {
9 | "type": "string"
10 | },
11 | "name": {
12 | "type": "string"
13 | }
14 | },
15 | "required": [
16 | "id",
17 | "author",
18 | "name"
19 | ]
20 | }
--------------------------------------------------------------------------------
/MSF4JExample/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | /.apt_generated_tests/
3 |
--------------------------------------------------------------------------------
/MSF4JExample/ChangeLog.md:
--------------------------------------------------------------------------------
1 | #Changes
2 |
3 | ### 1.7.0-SNAPSHOT
4 | - We include a websocket example
5 |
6 | ### 1.6.0-SNAPSHOT
7 | - We include OAuth2 authorization
8 |
9 | ### 1.5.0-SNAPSHOT
10 | - We include basic authorization
11 |
12 | ### 1.4.0-SNAPSHOT
13 | - We include the use of JPA with H2
14 |
15 | ### 1.3.0-SNAPSHOT
16 | - We include the use of metrics
17 |
18 | ### 1.2.0-SNAPSHOT
19 | - We include an exception mapper
20 |
21 | ## 1.1.0-SNAPSHOT
22 | - We include swagger support
23 |
24 | ## 1.0.0-SNAPSHOT
25 | - Initial version
--------------------------------------------------------------------------------
/MSF4JExample/src/main/java/es/home/example/dao/AbstractRepository.java:
--------------------------------------------------------------------------------
1 | package es.home.example.dao;
2 |
3 | import java.io.Serializable;
4 | import java.util.List;
5 |
6 | import es.home.example.pojo.GenericEntity;
7 |
8 | public interface AbstractRepository, K> {
9 |
10 | void create(P p);
11 |
12 | P findById(K id);
13 |
14 | List
getResultList();
15 |
16 | void remove(P t);
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/MSF4JExample/src/main/java/es/home/example/dao/BookDao.java:
--------------------------------------------------------------------------------
1 | package es.home.example.dao;
2 |
3 | import es.home.example.pojo.Book;
4 |
5 | public interface BookDao extends AbstractRepository {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/MSF4JExample/src/main/java/es/home/example/dao/UserDao.java:
--------------------------------------------------------------------------------
1 | package es.home.example.dao;
2 |
3 | import es.home.example.pojo.User;
4 |
5 | public interface UserDao extends AbstractRepository {
6 | User findByNameAndPassword(final String name, final String password);
7 | }
8 |
--------------------------------------------------------------------------------
/MSF4JExample/src/main/java/es/home/example/dao/impl/BookDaoImpl.java:
--------------------------------------------------------------------------------
1 | package es.home.example.dao.impl;
2 |
3 | import javax.persistence.EntityManagerFactory;
4 |
5 | import es.home.example.dao.BookDao;
6 | import es.home.example.pojo.Book;
7 |
8 | public class BookDaoImpl extends AbstractRepositoryImpl implements BookDao {
9 |
10 | public BookDaoImpl() {
11 | super();
12 | }
13 |
14 | public BookDaoImpl(final EntityManagerFactory emf) {
15 | super(emf);
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/MSF4JExample/src/main/java/es/home/example/service/BookService.java:
--------------------------------------------------------------------------------
1 | package es.home.example.service;
2 |
3 | import java.util.List;
4 |
5 | import org.wso2.msf4j.Request;
6 |
7 | import es.home.example.pojo.Book;
8 |
9 | public interface BookService {
10 | Book getBookById(final Integer id);
11 |
12 | List getList(Request request);
13 |
14 | }
--------------------------------------------------------------------------------
/MSF4JExample/src/main/java/es/home/example/service/OAuthValidatorService.java:
--------------------------------------------------------------------------------
1 | package es.home.example.service;
2 |
3 | import java.io.IOException;
4 | import java.security.KeyManagementException;
5 | import java.security.KeyStoreException;
6 | import java.security.NoSuchAlgorithmException;
7 |
8 | import org.apache.http.auth.AuthenticationException;
9 | import org.apache.http.client.ClientProtocolException;
10 | import org.wso2.msf4j.Request;
11 |
12 | public interface OAuthValidatorService {
13 |
14 | String validate(Request request, String token) throws AuthenticationException, KeyManagementException,
15 | NoSuchAlgorithmException, KeyStoreException, ClientProtocolException, IOException;
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/MSF4JExample/src/main/resources/script/data.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO Book(id, title, author) VALUES (1, '1984', 'George Orwell');
2 | INSERT INTO Book(id, title, author) VALUES (2, 'Fahrenheit 451', 'Ray Bradbury');
3 | INSERT INTO Book(id, title, author) VALUES (3, 'Brave New World', 'Aldous Huxley');
4 | INSERT INTO User(id, name, password) VALUES (1, 'username', 'cGFzc3dvcmQ=');
--------------------------------------------------------------------------------
/MailSenderExample/ChangeLog.md:
--------------------------------------------------------------------------------
1 | #Changes
2 |
3 | ## 1.0.0-SNAPSHOT
4 |
5 | - Initial version.
--------------------------------------------------------------------------------
/MailSenderExample/README.md:
--------------------------------------------------------------------------------
1 | # Mail Sender Sample
2 |
3 | Project to explain how to send mail with attachments and relative paths
4 |
5 | You can see an explanation in Spanish here: https://DesarrolloJavaYYo.blogspot.com/2020/04/java-mail-con-adjuntos-y-rutas-relativas.html
--------------------------------------------------------------------------------
/MailSenderExample/src/main/resources/content/images/header-wallpaper.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/deesebc/PostExamples/1569f59b3177a25c814af234f22f51540eeea195/MailSenderExample/src/main/resources/content/images/header-wallpaper.jpg
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/.dockerignore:
--------------------------------------------------------------------------------
1 | *
2 | !target/*-runner
3 | !target/*-runner.jar
4 | !target/lib/*
5 | !target/quarkus-app/*
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/.gitignore:
--------------------------------------------------------------------------------
1 | #Maven
2 | target/
3 | pom.xml.tag
4 | pom.xml.releaseBackup
5 | pom.xml.versionsBackup
6 | release.properties
7 | .flattened-pom.xml
8 |
9 | # Eclipse
10 | .project
11 | .classpath
12 | .settings/
13 | bin/
14 |
15 | # IntelliJ
16 | .idea
17 | *.ipr
18 | *.iml
19 | *.iws
20 |
21 | # NetBeans
22 | nb-configuration.xml
23 |
24 | # Visual Studio Code
25 | .vscode
26 | .factorypath
27 |
28 | # OSX
29 | .DS_Store
30 |
31 | # Vim
32 | *.swp
33 | *.swo
34 |
35 | # patch
36 | *.orig
37 | *.rej
38 |
39 | # Local environment
40 | .env
41 |
42 | # Plugin directory
43 | /.quarkus/cli/plugins/
44 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/main/java/com/home/example/repository/BookRepository.java:
--------------------------------------------------------------------------------
1 | package com.home.example.repository;
2 |
3 | import com.home.example.entity.Book;
4 |
5 | import io.quarkus.hibernate.orm.panache.PanacheRepository;
6 | import jakarta.enterprise.context.ApplicationScoped;
7 | import jakarta.transaction.Transactional;
8 |
9 | //warning: class not interface
10 | @ApplicationScoped
11 | @Transactional
12 | public class BookRepository implements PanacheRepository {
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/main/resources/V1__init_database.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `BOOK` (
2 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
3 | `NAME` varchar(45) DEFAULT NULL,
4 | `AUTHOR` varchar(45) DEFAULT NULL,
5 | PRIMARY KEY (`ID`)
6 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
7 |
8 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
9 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
10 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
11 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/main/resources/db/ddl.sql:
--------------------------------------------------------------------------------
1 | CREATE DATABASE library;
2 | GRANT ALL PRIVILEGES ON library.* TO 'username-default'@'%' IDENTIFIED BY 'my_cool_secret';
3 |
4 | USE `library`;
5 |
6 | CREATE TABLE `BOOK` (
7 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
8 | `NAME` varchar(45) DEFAULT NULL,
9 | `AUTHOR` varchar(45) DEFAULT NULL,
10 | PRIMARY KEY (`ID`)
11 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/main/resources/db/init.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
2 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
3 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
4 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/main/resources/db/migration/V1__init_database.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `BOOK` (
2 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
3 | `NAME` varchar(45) DEFAULT NULL,
4 | `AUTHOR` varchar(45) DEFAULT NULL,
5 | PRIMARY KEY (`ID`)
6 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
7 |
8 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
9 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
10 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
11 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/test/resources/V1__init_database.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `BOOK` (
2 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
3 | `NAME` varchar(45) DEFAULT NULL,
4 | `AUTHOR` varchar(45) DEFAULT NULL,
5 | PRIMARY KEY (`ID`)
6 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
7 |
8 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
9 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
10 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
11 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/test/resources/db/ddl.sql:
--------------------------------------------------------------------------------
1 | CREATE DATABASE library;
2 | GRANT ALL PRIVILEGES ON library.* TO 'username-default'@'%' IDENTIFIED BY 'my_cool_secret';
3 |
4 | USE `library`;
5 |
6 | CREATE TABLE `BOOK` (
7 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
8 | `NAME` varchar(45) DEFAULT NULL,
9 | `AUTHOR` varchar(45) DEFAULT NULL,
10 | PRIMARY KEY (`ID`)
11 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/test/resources/db/init.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
2 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
3 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
4 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/test/resources/db/migration/V1__init_database.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `BOOK` (
2 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
3 | `NAME` varchar(45) DEFAULT NULL,
4 | `AUTHOR` varchar(45) DEFAULT NULL,
5 | PRIMARY KEY (`ID`)
6 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
7 |
8 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
9 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
10 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
11 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/test/resources/docker/config/init.sql:
--------------------------------------------------------------------------------
1 | CREATE DATABASE library;
2 | GRANT ALL PRIVILEGES ON library.* TO 'username-default'@'%' IDENTIFIED BY 'my_cool_secret';
3 |
4 | USE `library`;
5 |
6 | CREATE TABLE `BOOK` (
7 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
8 | `NAME` varchar(45) DEFAULT NULL,
9 | `AUTHOR` varchar(45) DEFAULT NULL,
10 | PRIMARY KEY (`ID`)
11 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
12 |
13 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
14 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
15 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
16 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/test/resources/kube/config/scripts/init.sql:
--------------------------------------------------------------------------------
1 | CREATE DATABASE library;
2 | GRANT ALL PRIVILEGES ON library.* TO 'username-default'@'%' IDENTIFIED BY 'my_cool_secret';
3 |
4 | USE `library`;
5 |
6 | CREATE TABLE `BOOK` (
7 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
8 | `NAME` varchar(45) DEFAULT NULL,
9 | `AUTHOR` varchar(45) DEFAULT NULL,
10 | PRIMARY KEY (`ID`)
11 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
12 |
13 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
14 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
15 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
16 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s-config/src/test/resources/kube/kind-config.yaml:
--------------------------------------------------------------------------------
1 | # run: kind create cluster --config kind-config.yaml --name kind-basic
2 | # checkIp: docker container inspect kind-basic-control-plane --format '{{ .NetworkSettings.Networks.kind.IPAddress }}'
3 | # destroy: kind delete cluster --name kind-basic
4 | apiVersion: kind.x-k8s.io/v1alpha4
5 | kind: Cluster
6 | nodes:
7 | - role: control-plane
8 | extraPortMappings:
9 | - containerPort: 30000
10 | hostPort: 30000
11 | listenAddress: "0.0.0.0" # Optional, defaults to "0.0.0.0"
12 | protocol: tcp # Optional, defaults to tcp
13 | - role: worker
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/.dockerignore:
--------------------------------------------------------------------------------
1 | *
2 | !target/*-runner
3 | !target/*-runner.jar
4 | !target/lib/*
5 | !target/quarkus-app/*
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/.gitignore:
--------------------------------------------------------------------------------
1 | #Maven
2 | target/
3 | pom.xml.tag
4 | pom.xml.releaseBackup
5 | pom.xml.versionsBackup
6 | release.properties
7 | .flattened-pom.xml
8 |
9 | # Eclipse
10 | .project
11 | .classpath
12 | .settings/
13 | bin/
14 |
15 | # IntelliJ
16 | .idea
17 | *.ipr
18 | *.iml
19 | *.iws
20 |
21 | # NetBeans
22 | nb-configuration.xml
23 |
24 | # Visual Studio Code
25 | .vscode
26 | .factorypath
27 |
28 | # OSX
29 | .DS_Store
30 |
31 | # Vim
32 | *.swp
33 | *.swo
34 |
35 | # patch
36 | *.orig
37 | *.rej
38 |
39 | # Local environment
40 | .env
41 |
42 | # Plugin directory
43 | /.quarkus/cli/plugins/
44 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/main/java/com/home/example/repository/BookRepository.java:
--------------------------------------------------------------------------------
1 | package com.home.example.repository;
2 |
3 | import com.home.example.entity.Book;
4 |
5 | import io.quarkus.hibernate.orm.panache.PanacheRepository;
6 | import jakarta.enterprise.context.ApplicationScoped;
7 | import jakarta.transaction.Transactional;
8 |
9 | //warning: class not interface
10 | @ApplicationScoped
11 | @Transactional
12 | public class BookRepository implements PanacheRepository {
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/main/resources/V1__init_database.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `BOOK` (
2 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
3 | `NAME` varchar(45) DEFAULT NULL,
4 | `AUTHOR` varchar(45) DEFAULT NULL,
5 | PRIMARY KEY (`ID`)
6 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
7 |
8 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
9 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
10 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
11 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/main/resources/db/ddl.sql:
--------------------------------------------------------------------------------
1 | CREATE DATABASE library;
2 | GRANT ALL PRIVILEGES ON library.* TO 'username-default'@'%' IDENTIFIED BY 'my_cool_secret';
3 |
4 | USE `library`;
5 |
6 | CREATE TABLE `BOOK` (
7 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
8 | `NAME` varchar(45) DEFAULT NULL,
9 | `AUTHOR` varchar(45) DEFAULT NULL,
10 | PRIMARY KEY (`ID`)
11 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/main/resources/db/init.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
2 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
3 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
4 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/main/resources/db/migration/V1__init_database.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `BOOK` (
2 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
3 | `NAME` varchar(45) DEFAULT NULL,
4 | `AUTHOR` varchar(45) DEFAULT NULL,
5 | PRIMARY KEY (`ID`)
6 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
7 |
8 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
9 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
10 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
11 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/test/resources/V1__init_database.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `BOOK` (
2 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
3 | `NAME` varchar(45) DEFAULT NULL,
4 | `AUTHOR` varchar(45) DEFAULT NULL,
5 | PRIMARY KEY (`ID`)
6 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
7 |
8 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
9 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
10 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
11 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/test/resources/db/ddl.sql:
--------------------------------------------------------------------------------
1 | CREATE DATABASE library;
2 | GRANT ALL PRIVILEGES ON library.* TO 'username-default'@'%' IDENTIFIED BY 'my_cool_secret';
3 |
4 | USE `library`;
5 |
6 | CREATE TABLE `BOOK` (
7 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
8 | `NAME` varchar(45) DEFAULT NULL,
9 | `AUTHOR` varchar(45) DEFAULT NULL,
10 | PRIMARY KEY (`ID`)
11 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/test/resources/db/init.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
2 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
3 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
4 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/test/resources/db/migration/V1__init_database.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `BOOK` (
2 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
3 | `NAME` varchar(45) DEFAULT NULL,
4 | `AUTHOR` varchar(45) DEFAULT NULL,
5 | PRIMARY KEY (`ID`)
6 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
7 |
8 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
9 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
10 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
11 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/test/resources/docker/config/init.sql:
--------------------------------------------------------------------------------
1 | CREATE DATABASE library;
2 | GRANT ALL PRIVILEGES ON library.* TO 'username-default'@'%' IDENTIFIED BY 'my_cool_secret';
3 |
4 | USE `library`;
5 |
6 | CREATE TABLE `BOOK` (
7 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
8 | `NAME` varchar(45) DEFAULT NULL,
9 | `AUTHOR` varchar(45) DEFAULT NULL,
10 | PRIMARY KEY (`ID`)
11 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
12 |
13 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
14 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
15 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
16 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/test/resources/kube/config/scripts/init.sql:
--------------------------------------------------------------------------------
1 | CREATE DATABASE library;
2 | GRANT ALL PRIVILEGES ON library.* TO 'username-default'@'%' IDENTIFIED BY 'my_cool_secret';
3 |
4 | USE `library`;
5 |
6 | CREATE TABLE `BOOK` (
7 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
8 | `NAME` varchar(45) DEFAULT NULL,
9 | `AUTHOR` varchar(45) DEFAULT NULL,
10 | PRIMARY KEY (`ID`)
11 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
12 |
13 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Ender Game', 'Orson S. Card');
14 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('The stars my destination', 'Alfred Bester');
15 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
16 | INSERT INTO BOOK (NAME, AUTHOR) VALUES('Dune', 'Frank Herbert');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-k8s/src/test/resources/kube/kind-config.yaml:
--------------------------------------------------------------------------------
1 | # run: kind create cluster --config kind-config.yaml --name kind-basic
2 | # checkIp: docker container inspect kind-basic-control-plane --format '{{ .NetworkSettings.Networks.kind.IPAddress }}'
3 | # destroy: kind delete cluster --name kind-basic
4 | apiVersion: kind.x-k8s.io/v1alpha4
5 | kind: Cluster
6 | nodes:
7 | - role: control-plane
8 | extraPortMappings:
9 | - containerPort: 30000
10 | hostPort: 30000
11 | listenAddress: "0.0.0.0" # Optional, defaults to "0.0.0.0"
12 | protocol: tcp # Optional, defaults to tcp
13 | - role: worker
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/.dockerignore:
--------------------------------------------------------------------------------
1 | *
2 | !target/*-runner
3 | !target/*-runner.jar
4 | !target/lib/*
5 | !target/quarkus-app/*
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/.gitignore:
--------------------------------------------------------------------------------
1 | #Maven
2 | target/
3 | pom.xml.tag
4 | pom.xml.releaseBackup
5 | pom.xml.versionsBackup
6 | release.properties
7 | .flattened-pom.xml
8 |
9 | # Eclipse
10 | .project
11 | .classpath
12 | .settings/
13 | bin/
14 |
15 | # IntelliJ
16 | .idea
17 | *.ipr
18 | *.iml
19 | *.iws
20 |
21 | # NetBeans
22 | nb-configuration.xml
23 |
24 | # Visual Studio Code
25 | .vscode
26 | .factorypath
27 |
28 | # OSX
29 | .DS_Store
30 |
31 | # Vim
32 | *.swp
33 | *.swo
34 |
35 | # patch
36 | *.orig
37 | *.rej
38 |
39 | # Local environment
40 | .env
41 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/main/java/com/home/example/GreetingResource.java:
--------------------------------------------------------------------------------
1 | package com.home.example;
2 |
3 | import jakarta.inject.Inject;
4 | import jakarta.ws.rs.GET;
5 | import jakarta.ws.rs.Path;
6 | import jakarta.ws.rs.Produces;
7 | import jakarta.ws.rs.core.MediaType;
8 |
9 | @Path("greeting")
10 | public class GreetingResource {
11 |
12 | @Inject
13 | GreetingService greetingService;
14 |
15 | // public GreetingResource(GreetingService greetingService) {
16 | // this.greetingService = greetingService;
17 | // }
18 |
19 | @GET
20 | @Produces("text/plain")
21 | public String greet() {
22 | return greetingService.greet();
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/main/java/com/home/example/GreetingService.java:
--------------------------------------------------------------------------------
1 | package com.home.example;
2 |
3 | import jakarta.enterprise.context.ApplicationScoped;
4 |
5 | @ApplicationScoped
6 | public class GreetingService {
7 | public String greet(){
8 | return "hello";
9 | }
10 | }
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/main/java/com/home/example/entity/BoardGame.java:
--------------------------------------------------------------------------------
1 | package com.home.example.entity;
2 |
3 | import io.quarkus.hibernate.orm.panache.PanacheEntity;
4 | import jakarta.persistence.Entity;
5 | import jakarta.persistence.Table;
6 |
7 | @Entity
8 | @Table(name = "BOARDGAME")
9 | public class BoardGame extends PanacheEntity {
10 |
11 | //warning with PanacheEntity we dont need getter/setter or Id
12 | public String designer;
13 | public String name;
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/main/java/com/home/example/mapper/BoardGameMapper.java:
--------------------------------------------------------------------------------
1 | package com.home.example.mapper;
2 |
3 | import org.mapstruct.Mapper;
4 | import org.mapstruct.MappingTarget;
5 |
6 | import com.home.example.entity.BoardGame;
7 |
8 | import jakarta.enterprise.context.ApplicationScoped;
9 |
10 | @ApplicationScoped
11 | //warning: we need componentModel.CDI to use @Inject
12 | @Mapper(componentModel = "CDI")
13 | public interface BoardGameMapper {
14 | void update(@MappingTarget BoardGame entity, BoardGame updateEntity);
15 | }
16 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/main/java/com/home/example/mapper/BookMapper.java:
--------------------------------------------------------------------------------
1 | package com.home.example.mapper;
2 |
3 | import org.mapstruct.Mapper;
4 | import org.mapstruct.MappingTarget;
5 |
6 | import com.home.example.entity.Book;
7 |
8 | import jakarta.enterprise.context.ApplicationScoped;
9 |
10 | @ApplicationScoped
11 | //warning: we need componentModel.CDI to use @Inject
12 | @Mapper(componentModel = "CDI")
13 | public interface BookMapper {
14 | void update(@MappingTarget Book entity, Book updateEntity);
15 | }
16 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/main/java/com/home/example/pojo/Success.java:
--------------------------------------------------------------------------------
1 | package com.home.example.pojo;
2 |
3 | public class Success {
4 |
5 | public Success(String success) {
6 | this.success = success;
7 | }
8 |
9 | private String success;
10 |
11 | public String getSuccess() {
12 | return success;
13 | }
14 |
15 | public void setSuccess(String success) {
16 | this.success = success;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/main/java/com/home/example/repository/BookRepository.java:
--------------------------------------------------------------------------------
1 | package com.home.example.repository;
2 |
3 | import com.home.example.entity.Book;
4 |
5 | import io.quarkus.hibernate.orm.panache.PanacheRepository;
6 | import jakarta.enterprise.context.ApplicationScoped;
7 | import jakarta.transaction.Transactional;
8 |
9 | //warning: class not interface
10 | @ApplicationScoped
11 | @Transactional
12 | public class BookRepository implements PanacheRepository{
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/main/java/com/home/example/service/ExternalService.java:
--------------------------------------------------------------------------------
1 | package com.home.example.service;
2 |
3 | import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
4 |
5 | import com.home.example.entity.Movie;
6 |
7 | import jakarta.ws.rs.GET;
8 | import jakarta.ws.rs.Path;
9 | import jakarta.ws.rs.PathParam;
10 | import jakarta.ws.rs.Produces;
11 | import jakarta.ws.rs.core.MediaType;
12 |
13 | @Path("/imdb")
14 | @RegisterRestClient
15 | @Produces(MediaType.APPLICATION_JSON)
16 | public interface ExternalService {
17 |
18 | @GET
19 | @Path("/film/{id}")
20 | @Produces(MediaType.APPLICATION_JSON)
21 | Movie getMovieById(@PathParam("id") Long id);
22 | }
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/main/resources/META-INF/ddl.sql:
--------------------------------------------------------------------------------
1 | USE `library`;
2 |
3 | --
4 | -- Table structure for table `BOARDGAME`
5 | --
6 |
7 | DROP TABLE IF EXISTS `BOARDGAME`;
8 | /*!40101 SET @saved_cs_client = @@character_set_client */;
9 | /*!40101 SET character_set_client = utf8 */;
10 | CREATE TABLE `BOARDGAME` (
11 | `ID` bigint(20) NOT NULL AUTO_INCREMENT,
12 | `NAME` varchar(45) DEFAULT NULL,
13 | `DESIGNER` varchar(45) DEFAULT NULL,
14 | PRIMARY KEY (`ID`)
15 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/main/resources/META-INF/drop.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE IF EXISTS `BOARDGAME`;
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/main/resources/META-INF/import-dev.sql:
--------------------------------------------------------------------------------
1 | -- USE `library`;
2 |
3 | INSERT INTO BOARDGAME (ID, NAME, DESIGNER) VALUES(1, 'Terraforming Mars ', 'Jacob Fryxelius');
4 | INSERT INTO BOARDGAME (ID, NAME, DESIGNER) VALUES(2, 'Dune: Imperium', 'Paul Dennen');
5 | INSERT INTO BOARDGAME (ID, NAME, DESIGNER) VALUES(3, 'Scythe', 'Jamey Stegmaier');
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/test/java/com/home/example/GreetingResourceIT.java:
--------------------------------------------------------------------------------
1 | package com.home.example;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class GreetingResourceIT extends GreetingResourceTest {
7 | // Execute the same tests but in packaged mode.
8 | }
9 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/test/java/com/home/example/repository/MockBookRepository.java:
--------------------------------------------------------------------------------
1 | package com.home.example.repository;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | import com.home.example.entity.Book;
7 |
8 | import io.quarkus.test.Mock;
9 | import jakarta.enterprise.context.ApplicationScoped;
10 |
11 | // @ApplicationScoped
12 | // @Mock
13 | //Incompatible with integration tests (BookResourceTest), will use always this mock
14 | //old approach : https://es.quarkus.io/blog/mocking/
15 | public class MockBookRepository extends BookRepository{
16 |
17 | @Override
18 | public List listAll(){
19 | List list = new ArrayList<>();
20 | return list;
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/test/java/com/home/example/test/WiremockTestAnnotation.java:
--------------------------------------------------------------------------------
1 | package com.home.example.test;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | import io.quarkus.test.common.QuarkusTestResource;
9 |
10 |
11 | @QuarkusTestResource(value = WiremockResourceConfigurable.class, restrictToAnnotatedClass = true)
12 | @Retention(RetentionPolicy.RUNTIME)
13 | @Target(ElementType.TYPE)
14 | public @interface WiremockTestAnnotation {
15 | String port() default "57005";
16 | }
17 |
--------------------------------------------------------------------------------
/QuarkusExamples/ms-with-panache/src/test/resources/docker/config/mysql/conf.d/custom.cnf:
--------------------------------------------------------------------------------
1 | [mysqld]
2 | max_connections=1500
3 | max_allowed_packet=1024M
4 | # innodb_buffer_pool_size=1024M
5 | # wait_timeout=350
6 |
--------------------------------------------------------------------------------
/RESTEasyExample/README.md:
--------------------------------------------------------------------------------
1 | # RESTEasyExample
2 |
3 | ## Info
4 |
5 | This project contains a Web Service and a client made with RESTEasy Framework.
6 |
7 | ## Web Service
8 |
9 | You can generate the application running the command: mvn clean package, and deploy it the war file in a servlet container like tomcat or jetty or on a application server like WildFly.
10 |
11 | ## Client
12 |
13 | If you have the Web Service running you can also run the tests.
14 |
15 | ## Doc
16 |
17 | You can see an explanation in Spanish here: https://DesarrolloJavaYYo.blogspot.com/
18 | You can see an explanation in English here: https://danielblancocuadrado.medium.com/
--------------------------------------------------------------------------------
/RESTEasyExample/RestEasyService/src/main/java/com/home/example/resteasy/bean/Book.java:
--------------------------------------------------------------------------------
1 | package com.home.example.resteasy.bean;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 |
6 | @Data
7 | @AllArgsConstructor
8 | public class Book {
9 | private int id;
10 | private String name;
11 | private String author;
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/RESTEasyExample/RestEasyService/src/main/java/com/home/example/resteasy/configuration/LibraryApplication.java:
--------------------------------------------------------------------------------
1 | package com.home.example.resteasy.configuration;
2 |
3 | import javax.ws.rs.ApplicationPath;
4 | import javax.ws.rs.core.Application;
5 |
6 | @ApplicationPath("/library")
7 | public class LibraryApplication extends Application {
8 | // private Set