Da non confondere con Apache Spark, Spark è un frameowrk per applicazioni web per Java.

L'ho trovato, almeno inizialmente, abbastanza semplice da usare, e anche abbastanza familiare se avete già usato Node.js ed Express.

Inoltre, di default, utilizza una versione embedded di Jetty, e quindi non ci sono server da configurare (ma potete comunque usarne un altro se volete).

Iniziamo a vedere qualcosa; useremo Maven, e va bene qualsiasi IDE (io uso Netbeans).

Vi propongo due metodi per scaricare un file da internet in Java.

Il primo caso è usando le Java NIO, e quindi non servono librerie esterne:

public class Main {

    public static void main(String[] args) {
        String remoteFile = "ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest";
        String localFile = "/home/matte/Desktop/file.txt";

        try {
            URL website = new URL(remoteFile);
            try (
                    ReadableByteChannel rbc = Channels.newChannel(website.openStream());
                    FileOutputStream fos = new FileOutputStream(localFile)) {
                fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
            }
        } catch (IOException ex) {
            System.out.println(ex.getMessage());
        }

    }

}

PrimeFaces è praticamente costruito su jQuery UI, e quindi può usare le sue icone standard.

Ma se vi piacciono di più quelle di Font Awesome, come a me, potete usare quelle attivandole.

Essendo PrimeFaces un framework basato su JSF, è possibile utilizzare il sistema dei template.

Rispetto a JSF è leggermente diverso, e oggi ne vediamo un esempio.

Per una delle aziende per cui lavoro, ho creato un REST web service in Java, che si connette al database Oracle, ed espone i dati in formato JSON.

Partendo da questo esempio reale, vi mostro come creare un web service REST in Java, usando JAX-WS!

Questo è quello che useremo nel progetto:

  • Maven -> per gestire il progetto e le dipendenze
  • Grizzly -> come HTTP server
  • Jersey -> framework open source per la creazione di servizi RESTful in Java
  • OJDBC -> per la connessione al db Oracle; se avete un altro tipo di db, potete usare JDBC o un altro driver appropriato

Gli Enum in Java sono un tipo di dato abbastanza usato.

Una delle cose che mi è capitato di dover fare, è controllare se un valore è presente nell'Enum.

Da quanto ho capito, in Java standard, non c'è un metodo se non iterare su tutte le voci e controllarle una per una.

A prescindere da se mi sbaglio o meno, ho risolto usando la libreria Apache Commons Lang!

Il JSON ormai è una delle strutture più usate in circolazione, ma il CSV rimane comunque molto utilizzato per molti scopi.

Quindi vediamo come trasformare una stringa JSON in CSV usando Java.

Ci avvarremo anche di due librerie; se usate Maven:

        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20160810</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.5</version>
        </dependency>

Quartz è un ottimo schedulatore ricco di funzioni per Java.

Con questa libreria possiamo creare scheduler di vario tipo, facendo in modo di eseguire determinate operazioni a daterminati orari e intervalli di tempo.

Vediamo un esempio semplice; se usate Maven, prima di tutto aggiungete questo al vostro pom.xml:

        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.3</version>
        </dependency>

Compilate il programma per scaricare la libreria.

Purtroppo su Linux ho qualche problema nei copia/incolla di dati presei da programmai basati su Java (tipo Netbeans o l'SQL Developer della Oracle).

Per cercare di capire cosa non va, ho avuto anche bisogno di sapere il charset usato di default.

Per identificarlo in Java è molto semplice usando il package java.nio.

Concludiamo questo mini tutorial sui file temporanei in Java, andando a vedere come cancellarli una volta che il loro utilizzo è terminato.

Questi i link ai precedenti articoli: