From 52e2018af75d08a9b77b8e3bb56a7b2fffc6f42b Mon Sep 17 00:00:00 2001 From: Luca Ferrari Date: Mon, 22 Jan 2024 08:54:32 +0100 Subject: PWC 253 Task 1 Raku done Task 2 Raku done Task 1 PL/Perl done Task 2 PL/Perl done Task 1 PL/PgSQL done Task 2 PL/PgSQL done Task 1 Python done Task 2 Python done Task 1 PL/Java done Task 2 PL/Java done --- .../luca-ferrari/pljava/src/main/java/Task1.java | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 challenge-253/luca-ferrari/pljava/src/main/java/Task1.java (limited to 'challenge-253/luca-ferrari/pljava/src/main/java/Task1.java') diff --git a/challenge-253/luca-ferrari/pljava/src/main/java/Task1.java b/challenge-253/luca-ferrari/pljava/src/main/java/Task1.java new file mode 100644 index 0000000000..af8329b557 --- /dev/null +++ b/challenge-253/luca-ferrari/pljava/src/main/java/Task1.java @@ -0,0 +1,49 @@ +package PWC253; + +/** + * PL/Java implementation for PWC 253 + * Task 1 + * See + * + * To install into PostgreSQL execute: + + select sqlj.install_jar( 'file:///tmp/PWC253.1.jar', 'PWC253', true ); + select sqlj.set_classpath( 'public', 'PWC253' ); + + select task$tn_pljava(); + +*/ + +import org.postgresql.pljava.*; +import org.postgresql.pljava.annotation.Function; +import static org.postgresql.pljava.annotation.Function.Effects.IMMUTABLE; +import static org.postgresql.pljava.annotation.Function.OnNullInput.RETURNS_NULL; + +import java.util.*; +import java.util.logging.*; + +public class Task1 { + private final static Logger logger = Logger.getAnonymousLogger(); + + @Function( onNullInput = RETURNS_NULL, effects = IMMUTABLE ) + public static final String[] task1_pljava( String separator, String[] words ) { + List result = new LinkedList(); + logger.info( "Entering task1_pljava" ); + for ( String w : words ) { + if ( ! w.contains( separator ) ) + result.add( w ); + else + System.out.println( "SPLITTO " + w ); + for ( String ww : w.split( "[" + separator + "]" ) ) { + result.add( ww ); + } + } + + return result.toArray( new String[ result.size() ] ); + } + + @Function + public static void logMessage(String logLevel, String message) { + Logger.getAnonymousLogger().log(Level.parse(logLevel), message); + } +} -- cgit