From ae27d03bf6a88dc479824742d33c3cada9b5e085 Mon Sep 17 00:00:00 2001 From: Arthur Coolen <coolen@astron.nl> Date: Fri, 21 Apr 2006 12:01:31 +0000 Subject: [PATCH] BugID: 703 JAVA Interface to ParmDB class --- .gitattributes | 1 + .gitignore | 1 + JAVA/CEP/jParmFacade/Makefile.am | 11 + JAVA/CEP/jParmFacade/bootstrap | 3 + JAVA/CEP/jParmFacade/build.xml | 69 +++ JAVA/CEP/jParmFacade/configure.in | 84 +++ JAVA/CEP/jParmFacade/include/Makefile.am | 3 + .../include/jParmFacade/Makefile.am | 17 + ...n_lofar_java_cep_jparmfacade_jParmFacade.h | 45 ++ JAVA/CEP/jParmFacade/jParmFacade.spec.in | 160 ++++++ JAVA/CEP/jParmFacade/nbproject/.cvsignore | 1 + JAVA/CEP/jParmFacade/nbproject/build-impl.xml | 541 ++++++++++++++++++ .../jParmFacade/nbproject/genfiles.properties | 8 + .../jParmFacade/nbproject/project.properties | 55 ++ JAVA/CEP/jParmFacade/nbproject/project.xml | 16 + JAVA/CEP/jParmFacade/src/Makefile.am | 34 ++ .../java/cep/jparmfacade/jParmFacade.java | 45 ++ ..._lofar_java_cep_jparmfacade_jParmFacade.cc | 208 +++++++ JAVA/CEP/jParmFacade/test/Makefile.am | 30 + JAVA/CEP/jParmFacade/test/tParmFacade.java | 87 +++ 20 files changed, 1419 insertions(+) create mode 100644 JAVA/CEP/jParmFacade/Makefile.am create mode 100755 JAVA/CEP/jParmFacade/bootstrap create mode 100644 JAVA/CEP/jParmFacade/build.xml create mode 100644 JAVA/CEP/jParmFacade/configure.in create mode 100644 JAVA/CEP/jParmFacade/include/Makefile.am create mode 100644 JAVA/CEP/jParmFacade/include/jParmFacade/Makefile.am create mode 100644 JAVA/CEP/jParmFacade/include/jParmFacade/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.h create mode 100644 JAVA/CEP/jParmFacade/jParmFacade.spec.in create mode 100644 JAVA/CEP/jParmFacade/nbproject/.cvsignore create mode 100644 JAVA/CEP/jParmFacade/nbproject/build-impl.xml create mode 100644 JAVA/CEP/jParmFacade/nbproject/genfiles.properties create mode 100644 JAVA/CEP/jParmFacade/nbproject/project.properties create mode 100644 JAVA/CEP/jParmFacade/nbproject/project.xml create mode 100644 JAVA/CEP/jParmFacade/src/Makefile.am create mode 100644 JAVA/CEP/jParmFacade/src/nl/astron/lofar/java/cep/jparmfacade/jParmFacade.java create mode 100644 JAVA/CEP/jParmFacade/src/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.cc create mode 100644 JAVA/CEP/jParmFacade/test/Makefile.am create mode 100644 JAVA/CEP/jParmFacade/test/tParmFacade.java diff --git a/.gitattributes b/.gitattributes index 94256d23627..d95588878bf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -156,6 +156,7 @@ Demo/CEP/TFlopCorrelator/TFC_GUI/plot2.png -text Demo/CEP/TFlopCorrelator/TFC_GUI/plot3.png -text Demo/CEP/TFlopCorrelator/TFC_GUI/src/tfc_gui/startTFC.sh -text svneol=native#application/octet-stream Demo/CEP/TFlopCorrelator/TFC_GUI/startTFC.sh -text svneol=native#application/octet-stream +JAVA/CEP/jParmFacade/nbproject/.cvsignore -text JAVA/GUI/Plotter/.cvsignore -text JAVA/GUI/Plotter/doc/Plotter.EAP -text JAVA/GUI/Plotter/nbproject/.cvsignore -text diff --git a/.gitignore b/.gitignore index 5667c9edbf2..620e64f850d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +JAVA/CEP/jParmFacade/nbproject/private JAVA/GUI/Plotter/build JAVA/GUI/Plotter/dist JAVA/GUI/Plotter/nbproject/private diff --git a/JAVA/CEP/jParmFacade/Makefile.am b/JAVA/CEP/jParmFacade/Makefile.am new file mode 100644 index 00000000000..ddcc5198050 --- /dev/null +++ b/JAVA/CEP/jParmFacade/Makefile.am @@ -0,0 +1,11 @@ +SUBDIRS=src test include + +DISTCHECK_CONFIGURE_FLAGS=\ + --with-common=$(prefix) + +EXTRA_DIST = \ + Makefile.common \ + jParmFacade.spec \ + autoconf_share/compiletool + +include $(top_srcdir)/Makefile.common diff --git a/JAVA/CEP/jParmFacade/bootstrap b/JAVA/CEP/jParmFacade/bootstrap new file mode 100755 index 00000000000..06f18cde1db --- /dev/null +++ b/JAVA/CEP/jParmFacade/bootstrap @@ -0,0 +1,3 @@ +#!/bin/sh + +../../../autoconf_share/bootstrap ../../../autoconf_share diff --git a/JAVA/CEP/jParmFacade/build.xml b/JAVA/CEP/jParmFacade/build.xml new file mode 100644 index 00000000000..9a4c5f7aa29 --- /dev/null +++ b/JAVA/CEP/jParmFacade/build.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- You may freely edit this file. See commented blocks below for --> +<!-- some examples of how to customize the build. --> +<!-- (If you delete it and reopen the project it will be recreated.) --> +<project name="jParmFacade" default="default" basedir="."> + <description>Builds, tests, and runs the project jParmFacade.</description> + <import file="nbproject/build-impl.xml"/> + <!-- + + There exist several targets which are by default empty and which can be + used for execution of your tasks. These targets are usually executed + before and after some main targets. They are: + + -pre-init: called before initialization of project properties + -post-init: called after initialization of project properties + -pre-compile: called before javac compilation + -post-compile: called after javac compilation + -pre-compile-single: called before javac compilation of single file + -post-compile-single: called after javac compilation of single file + -pre-compile-test: called before javac compilation of JUnit tests + -post-compile-test: called after javac compilation of JUnit tests + -pre-compile-test-single: called before javac compilation of single JUnit test + -post-compile-test-single: called after javac compilation of single JUunit test + -pre-jar: called before JAR building + -post-jar: called after JAR building + -post-clean: called after cleaning build products + + (Targets beginning with '-' are not intended to be called on their own.) + + Example of inserting an obfuscator after compilation could look like this: + + <target name="-post-compile"> + <obfuscate> + <fileset dir="${build.classes.dir}"/> + </obfuscate> + </target> + + For list of available properties check the imported + nbproject/build-impl.xml file. + + + Another way to customize the build is by overriding existing main targets. + The targets of interest are: + + -init-macrodef-javac: defines macro for javac compilation + -init-macrodef-junit: defines macro for junit execution + -init-macrodef-debug: defines macro for class debugging + -init-macrodef-java: defines macro for class execution + -do-jar-with-manifest: JAR building (if you are using a manifest) + -do-jar-without-manifest: JAR building (if you are not using a manifest) + run: execution of project + -javadoc-build: Javadoc generation + test-report: JUnit report generation + + An example of overriding the target for project execution could look like this: + + <target name="run" depends="jParmFacade-impl.jar"> + <exec dir="bin" executable="launcher.exe"> + <arg file="${dist.jar}"/> + </exec> + </target> + + Notice that the overridden target depends on the jar target and not only on + the compile target as the regular run target does. Again, for a list of available + properties which you can use, check the target you are overriding in the + nbproject/build-impl.xml file. + + --> +</project> diff --git a/JAVA/CEP/jParmFacade/configure.in b/JAVA/CEP/jParmFacade/configure.in new file mode 100644 index 00000000000..823b5a23593 --- /dev/null +++ b/JAVA/CEP/jParmFacade/configure.in @@ -0,0 +1,84 @@ +dnl +dnl Process this file with autoconf to produce a configure script. +dnl +AC_INIT +dnl AC_CONFIG_AUX_DIR(config) +dnl AM_CONFIG_HEADER(config/config.h) +AM_CONFIG_HEADER(config.h) +AM_INIT_AUTOMAKE(jParmFacade, 1.0, no-define) + +dnl Initialize for LOFAR (may set compilers) +lofar_INIT + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_YACC +AC_PROG_CC +AC_PROG_CXX +AM_PROG_LEX +AC_PROG_INSTALL +AC_PROG_LN_S +dnl AC_DISABLE_SHARED +AC_PROG_LIBTOOL + +dnl Checks for libraries. + +dnl dnl Replace `main' with a function in -lfl: +dnl AC_CHECK_LIB(fl, main) +dnl dnl Replace `main' with a function in -lcosev_r: +dnl AC_CHECK_LIB(cosev_r, main) +dnl dnl Replace `main' with a function in -lcosnm_r: +dnl AC_CHECK_LIB(cosnm_r, main) +dnl dnl Replace `main' with a function in -lorb_r: +dnl AC_CHECK_LIB(orb_r, main) +dnl dnl Replace `main' with a function in -lpthread: +dnl AC_CHECK_LIB(pthread, main) +dnl dnl Replace `main' with a function in -lvport_r: +dnl AC_CHECK_LIB(vport_r, main) + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS(unistd.h) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_SIZE_T + +dnl Checks for library functions. +AC_FUNC_VPRINTF + +dnl +dnl Check for LOFAR specific things +dnl +dnl lofar_BLITZ +dnl lofar_MPI +lofar_GENERAL +lofar_INTERNAL(CEP/BB/ParmDB,ParmDB,,1,ParmDB/ParmDB.h,,) +lofar_INTERNAL(CEP/BB/BBS3,BBS3,,1,BBS3/MNS/MeqFunklet.h,,) +lofar_INTERNAL(CEP/BB/ParmFacade,ParmFacade,,1,ParmFacade/ParmFacade.h,,) +lofar_INTERNAL(CEP/BB/MS,MS,,1,MS/MSDesc.h,bbms) +lofar_INTERNAL(CEP/CEPFrame,CEPFrame,,1,CEPFrame/DataManager.h) +lofar_INTERNAL(CEP/tinyCEP,tinyCEP,,1,tinyCEP/TinyDataManager.h,,) +lofar_INTERNAL(LCS/ACC/PLC,PLC,,1,PLC/ProcessControl.h,,) +lofar_INTERNAL(LCS/ACC/APS,APS,,1,APS/ParameterSet.h) +lofar_INTERNAL(LCS/databases/TransportPostgres,TransportPostgres,,1,TransportPostgres/DH_DB.h,,) +lofar_INTERNAL(LCS/Transport,Transport,,1,Transport/TransportHolder.h,,) +lofar_INTERNAL(LCS/Blob,Blob,,1,Blob/BlobHeader.h,,) +lofar_INTERNAL(LCS/Common,Common,,1,Common/LofarTypedefs.h,,) + +lofar_EXTERNAL(pq,,libpq-fe.h, pq, /usr/local/pgsql) +lofar_EXTERNAL(pqxx,2.5.5,pqxx/pqxx, pqxx) +lofar_AIPSPP(1,"-lms -lmeasures -ltables -lscimath -lscimath_f -lcasa") +lofar_LAPACK(1) +lofar_EXTERNAL(boost,1,boost/logic/tribool.hpp,"") +dnl +dnl Output Makefiles +dnl +AC_OUTPUT( +include/Makefile +include/jParmFacade/Makefile +src/Makefile +test/Makefile +Makefile +jParmFacade.spec +) diff --git a/JAVA/CEP/jParmFacade/include/Makefile.am b/JAVA/CEP/jParmFacade/include/Makefile.am new file mode 100644 index 00000000000..0606522e7d2 --- /dev/null +++ b/JAVA/CEP/jParmFacade/include/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = jParmFacade + +include $(top_srcdir)/Makefile.common diff --git a/JAVA/CEP/jParmFacade/include/jParmFacade/Makefile.am b/JAVA/CEP/jParmFacade/include/jParmFacade/Makefile.am new file mode 100644 index 00000000000..89c34adf157 --- /dev/null +++ b/JAVA/CEP/jParmFacade/include/jParmFacade/Makefile.am @@ -0,0 +1,17 @@ +# if HAVE_SHMEM +# SUBDIRS = shmem . +# endif + +INSTHDRS = nl_astron_lofar_java_cep_jparmfacade_jParmFacade.h + +NOINSTHDRS = + +TCCHDRS = + +nobase_pkginclude_HEADERS = $(INSTHDRS) $(TCCHDRS) + +noinst_HEADERS = $(NOINSTHDRS) + +DOCHDRS = $(INSTHDRS) $(NOINSTHDRS) + +include $(top_srcdir)/Makefile.common diff --git a/JAVA/CEP/jParmFacade/include/jParmFacade/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.h b/JAVA/CEP/jParmFacade/include/jParmFacade/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.h new file mode 100644 index 00000000000..909e5761ecd --- /dev/null +++ b/JAVA/CEP/jParmFacade/include/jParmFacade/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.h @@ -0,0 +1,45 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include <jni.h> +/* Header for class nl_astron_lofar_java_cep_jparmfacade_jParmFacade */ + +#ifndef _Included_nl_astron_lofar_java_cep_jparmfacade_jParmFacade +#define _Included_nl_astron_lofar_java_cep_jparmfacade_jParmFacade +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: nl_astron_lofar_java_cep_jparmfacade_jParmFacade + * Method: initParmFacade + * Signature: (Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_initParmFacade + (JNIEnv *, jobject, jstring); + +/* + * Class: nl_astron_lofar_java_cep_jparmfacade_jParmFacade + * Method: getRange + * Signature: (Ljava/lang/String;)Ljava/util/Vector; + */ +JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getRange + (JNIEnv *, jobject, jstring); + +/* + * Class: nl_astron_lofar_java_cep_jparmfacade_jParmFacade + * Method: getNames + * Signature: (Ljava/lang/String;)Ljava/util/Vector; + */ +JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getNames + (JNIEnv *, jobject, jstring); + +/* + * Class: nl_astron_lofar_java_cep_jparmfacade_jParmFacade + * Method: getValues + * Signature: (Ljava/lang/String;DDIDDI)Ljava/util/HashMap; + */ +JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getValues + (JNIEnv *, jobject, jstring, jdouble, jdouble, jint, jdouble, jdouble, jint); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/JAVA/CEP/jParmFacade/jParmFacade.spec.in b/JAVA/CEP/jParmFacade/jParmFacade.spec.in new file mode 100644 index 00000000000..f053bd89130 --- /dev/null +++ b/JAVA/CEP/jParmFacade/jParmFacade.spec.in @@ -0,0 +1,160 @@ +# -*- Mode:rpm-spec -*- +# jParmFacade.spec.in +# + +############################################################################## +# +# Preamble +# +############################################################################## + +Summary: jParmFacade is ... brief description ... + +%define release @RPM_RELEASE@ +%define version @VERSION@ +%define pkgname @PACKAGE@ +%define pkgdir %{pkgname}-%{version}-%{release} +%define prefix /opt/lofar +%define configure_args @RPM_CONFIGURE_ARGS@ +##define build_kernel_version @BUILD_KERNEL_VERSION@ + +Name: %{pkgname} +Version: %{version} +Release: %{release} +Copyright: LGPL +Group: Application/System +Source: %{pkgname}-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{pkgdir}-root +URL: http://www.astron.nl +Prefix: %{prefix} +BuildArchitectures: i386 # Target platforms, i.e., i586 +##Requires: Common = 1.2 ## define dependent packages here +Packager: %{packager} +Distribution: The LOFAR project +Vendor: ASTRON + +AutoReqProv: no + +%description + +jParmFacade ... more detailed description ... + +############################################################################## +# +# prep +# +############################################################################## +%prep +echo $prefix + +# create the build directory, untar the source +%setup + +############################################################################## +# +# build +# +############################################################################## +%build +./configure %{configure_args} --prefix=%{prefix} && make + +############################################################################## +# +# install +# +############################################################################## +%install +# To make things work with BUILDROOT +if [ "$RPM_BUILD_ROOT" != "%{_tmppath}/%{pkgdir}-root" ] +then + echo + echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + echo @ @ + echo @ RPM_BUILD_ROOT is not what I expected. Please clean it yourself. @ + echo @ @ + echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + echo +else + echo Cleaning RPM_BUILD_ROOT: "$RPM_BUILD_ROOT" + rm -rf "$RPM_BUILD_ROOT" +fi +mkdir -p $RPM_BUILD_ROOT%{prefix} +make DESTDIR="$RPM_BUILD_ROOT" install + +#uninstall + +############################################################################## +# +# verify +# +############################################################################## +#verify + +############################################################################## +# +# clean +# +############################################################################## +%clean +# Call me paranoid, but I do not want to be responsible for nuking +# someone's harddrive! +if [ "$RPM_BUILD_ROOT" != "%{_tmppath}/%{pkgdir}-root" ] +then + echo + echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + echo @ @ + echo @ RPM_BUILD_ROOT is not what I expected. Please clean it yourself. @ + echo @ @ + echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + echo +else + echo Cleaning RPM_BUILD_ROOT: "$RPM_BUILD_ROOT" + rm -rf "$RPM_BUILD_ROOT" +fi + +############################################################################## +# +# files +# +############################################################################## + +# empty 'files' means all distributed files +%files +%defattr(-, root, root) +%{prefix} + +# Your application file list goes here +# %{prefix}/lib/lib*.so* + +# Documentation +# doc COPYING ChangeLog README AUTHORS NEWS +# doc doc/* + +# link the module to the correct path +%post + +# before uninstall +%preun + +# after uninstall +%postun + +############################################################################## +# +# package devel +# +############################################################################## + +#package devel +#Summary: Development files for %{pkgname} +#Group: Applications/System +#description devel +#Development files for %{pkgname}. + +#files devel + +# Your development files go here +# Programmers documentation goes here +#doc doc + +# end of file diff --git a/JAVA/CEP/jParmFacade/nbproject/.cvsignore b/JAVA/CEP/jParmFacade/nbproject/.cvsignore new file mode 100644 index 00000000000..3e18ebf09ec --- /dev/null +++ b/JAVA/CEP/jParmFacade/nbproject/.cvsignore @@ -0,0 +1 @@ +private diff --git a/JAVA/CEP/jParmFacade/nbproject/build-impl.xml b/JAVA/CEP/jParmFacade/nbproject/build-impl.xml new file mode 100644 index 00000000000..d9b615550db --- /dev/null +++ b/JAVA/CEP/jParmFacade/nbproject/build-impl.xml @@ -0,0 +1,541 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +*** GENERATED FROM project.xml - DO NOT EDIT *** +*** EDIT ../build.xml INSTEAD *** + +For the purpose of easier reading the script +is divided into following sections: + + - initialization + - compilation + - jar + - execution + - debugging + - javadoc + - junit compilation + - junit execution + - junit debugging + - applet + - cleanup + +--> +<project name="jParmFacade-impl" default="default" basedir=".." xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:j2seproject2="http://www.netbeans.org/ns/j2se-project/2" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1"> + <target name="default" depends="test,jar,javadoc" description="Build and test whole project."/> + <!-- + ====================== + INITIALIZATION SECTION + ====================== + --> + <target name="-pre-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="-init-private" depends="-pre-init"> + <property file="nbproject/private/private.properties"/> + </target> + <target name="-init-user" depends="-pre-init,-init-private"> + <property file="${user.properties.file}"/> + <!-- The two properties below are usually overridden --> + <!-- by the active platform. Just a fallback. --> + <property name="default.javac.source" value="1.4"/> + <property name="default.javac.target" value="1.4"/> + </target> + <target name="-init-project" depends="-pre-init,-init-private,-init-user"> + <property file="nbproject/project.properties"/> + </target> + <target name="-do-init" depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property"> + <available file="${manifest.file}" property="manifest.available"/> + <condition property="manifest.available+main.class"> + <and> + <isset property="manifest.available"/> + <isset property="main.class"/> + <not> + <equals arg1="${main.class}" arg2="" trim="true"/> + </not> + </and> + </condition> + <condition property="manifest.available+main.class+mkdist.available"> + <and> + <istrue value="${manifest.available+main.class}"/> + <isset property="libs.CopyLibs.classpath"/> + </and> + </condition> + <condition property="have.tests"> + <or> + <available file="${test.src.dir}"/> + </or> + </condition> + <condition property="have.sources"> + <or> + <available file="${src.dir}"/> + </or> + </condition> + <condition property="netbeans.home+have.tests"> + <and> + <isset property="netbeans.home"/> + <isset property="have.tests"/> + </and> + </condition> + <condition property="no.javadoc.preview"> + <isfalse value="${javadoc.preview}"/> + </condition> + <property name="run.jvmargs" value=""/> + <property name="javac.compilerargs" value=""/> + <property name="work.dir" value="${basedir}"/> + <condition property="no.deps"> + <and> + <istrue value="${no.dependencies}"/> + </and> + </condition> + <property name="javac.debug" value="true"/> + <property name="javadoc.preview" value="true"/> + </target> + <target name="-post-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="-init-check" depends="-pre-init,-init-private,-init-user,-init-project,-do-init"> + <fail unless="src.dir">Must set src.dir</fail> + <fail unless="test.src.dir">Must set test.src.dir</fail> + <fail unless="build.dir">Must set build.dir</fail> + <fail unless="dist.dir">Must set dist.dir</fail> + <fail unless="build.classes.dir">Must set build.classes.dir</fail> + <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail> + <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail> + <fail unless="build.test.results.dir">Must set build.test.results.dir</fail> + <fail unless="build.classes.excludes">Must set build.classes.excludes</fail> + <fail unless="dist.jar">Must set dist.jar</fail> + </target> + <target name="-init-macrodef-property"> + <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute name="name"/> + <attribute name="value"/> + <sequential> + <property name="@{name}" value="${@{value}}"/> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-javac"> + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute name="srcdir" default="${src.dir}"/> + <attribute name="destdir" default="${build.classes.dir}"/> + <attribute name="classpath" default="${javac.classpath}"/> + <attribute name="debug" default="${javac.debug}"/> + <element name="customize" optional="true"/> + <sequential> + <javac srcdir="@{srcdir}" destdir="@{destdir}" debug="@{debug}" deprecation="${javac.deprecation}" source="${javac.source}" target="${javac.target}" includeantruntime="false"> + <classpath> + <path path="@{classpath}"/> + </classpath> + <compilerarg line="${javac.compilerargs}"/> + <customize/> + </javac> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-junit"> + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute name="includes" default="**/*Test.java"/> + <sequential> + <junit showoutput="true" fork="true" dir="${basedir}" failureproperty="tests.failed" errorproperty="tests.failed"> + <batchtest todir="${build.test.results.dir}"> + <fileset dir="${test.src.dir}" includes="@{includes}"/> + </batchtest> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper type="glob" from="test-sys-prop.*" to="*"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg line="${run.jvmargs}"/> + </junit> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-nbjpda"> + <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute name="name" default="${main.class}"/> + <attribute name="classpath" default="${debug.classpath}"/> + <attribute name="stopclassname" default=""/> + <sequential> + <nbjpdastart transport="dt_socket" addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}"> + <classpath> + <path path="@{classpath}"/> + </classpath> + </nbjpdastart> + </sequential> + </macrodef> + <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute name="dir" default="${build.classes.dir}"/> + <sequential> + <nbjpdareload> + <fileset includes="${fix.includes}*.class" dir="@{dir}"/> + </nbjpdareload> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-debug"> + <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute name="classname" default="${main.class}"/> + <attribute name="classpath" default="${debug.classpath}"/> + <element name="customize" optional="true"/> + <sequential> + <java fork="true" classname="@{classname}" dir="${work.dir}"> + <jvmarg value="-Xdebug"/> + <jvmarg value="-Xnoagent"/> + <jvmarg value="-Djava.compiler=none"/> + <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/> + <jvmarg line="${run.jvmargs}"/> + <classpath> + <path path="@{classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper type="glob" from="run-sys-prop.*" to="*"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-java"> + <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute name="classname" default="${main.class}"/> + <element name="customize" optional="true"/> + <sequential> + <java fork="true" classname="@{classname}" dir="${work.dir}"> + <jvmarg line="${run.jvmargs}"/> + <classpath> + <path path="${run.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper type="glob" from="run-sys-prop.*" to="*"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target name="-init-presetdef-jar"> + <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1"> + <jar jarfile="${dist.jar}" compress="${jar.compress}"> + <j2seproject1:fileset dir="${build.classes.dir}"/> + </jar> + </presetdef> + </target> + <target name="init" depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar"/> + <!-- + =================== + COMPILATION SECTION + =================== + --> + <target name="deps-jar" depends="init" unless="no.deps"/> + <target name="-pre-pre-compile" depends="init,deps-jar"> + <mkdir dir="${build.classes.dir}"/> + </target> + <target name="-pre-compile"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="-do-compile" depends="init,deps-jar,-pre-pre-compile,-pre-compile" if="have.sources"> + <j2seproject3:javac/> + <copy todir="${build.classes.dir}"> + <fileset dir="${src.dir}" excludes="${build.classes.excludes}"/> + </copy> + </target> + <target name="-post-compile"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="compile" depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project."/> + <target name="-pre-compile-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="-do-compile-single" depends="init,deps-jar,-pre-pre-compile"> + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> + <j2seproject3:javac> + <customize> + <patternset includes="${javac.includes}"/> + </customize> + </j2seproject3:javac> + </target> + <target name="-post-compile-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="compile-single" depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single"/> + <!-- + ==================== + JAR BUILDING SECTION + ==================== + --> + <target name="-pre-pre-jar" depends="init"> + <dirname property="dist.jar.dir" file="${dist.jar}"/> + <mkdir dir="${dist.jar.dir}"/> + </target> + <target name="-pre-jar"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="-do-jar-without-manifest" depends="init,compile,-pre-pre-jar,-pre-jar" unless="manifest.available"> + <j2seproject1:jar/> + </target> + <target name="-do-jar-with-manifest" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" unless="manifest.available+main.class"> + <j2seproject1:jar manifest="${manifest.file}"/> + </target> + <target name="-do-jar-with-mainclass" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class" unless="manifest.available+main.class+mkdist.available"> + <j2seproject1:jar manifest="${manifest.file}"> + <j2seproject1:manifest> + <j2seproject1:attribute name="Main-Class" value="${main.class}"/> + </j2seproject1:manifest> + </j2seproject1:jar> + <echo>To run this application from the command line without Ant, try:</echo> + <property name="build.classes.dir.resolved" location="${build.classes.dir}"/> + <property name="dist.jar.resolved" location="${dist.jar}"/> + <pathconvert property="run.classpath.with.dist.jar"> + <path path="${run.classpath}"/> + <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/> + </pathconvert> + <echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo> + </target> + <target name="-do-jar-with-libraries" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available"> + <property name="build.classes.dir.resolved" location="${build.classes.dir}"/> + <pathconvert property="run.classpath.without.build.classes.dir"> + <path path="${run.classpath}"/> + <map from="${build.classes.dir.resolved}" to=""/> + </pathconvert> + <pathconvert property="jar.classpath" pathsep=" "> + <path path="${run.classpath.without.build.classes.dir}"/> + <chainedmapper> + <flattenmapper/> + <globmapper from="*" to="lib/*"/> + </chainedmapper> + </pathconvert> + <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" name="copylibs" classpath="${libs.CopyLibs.classpath}"/> + <copylibs manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}" jarfile="${dist.jar}" compress="${jar.compress}"> + <fileset dir="${build.classes.dir}"/> + <manifest> + <attribute name="Main-Class" value="${main.class}"/> + <attribute name="Class-Path" value="${jar.classpath}"/> + </manifest> + </copylibs> + <echo>To run this application from the command line without Ant, try:</echo> + <property name="dist.jar.resolved" location="${dist.jar}"/> + <echo>java -jar "${dist.jar.resolved}"</echo> + </target> + <target name="-post-jar"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="jar" depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar" description="Build JAR."/> + <!-- + ================= + EXECUTION SECTION + ================= + --> + <target name="run" depends="init,compile" description="Run a main class."> + <j2seproject1:java> + <customize> + <arg line="${application.args}"/> + </customize> + </j2seproject1:java> + </target> + <target name="run-single" depends="init,compile-single"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <j2seproject1:java classname="${run.class}"/> + </target> + <!-- + ================= + DEBUGGING SECTION + ================= + --> + <target name="-debug-start-debugger" if="netbeans.home" depends="init"> + <j2seproject1:nbjpdastart name="${debug.class}"/> + </target> + <target name="-debug-start-debuggee" depends="init,compile"> + <j2seproject3:debug> + <customize> + <arg line="${application.args}"/> + </customize> + </j2seproject3:debug> + </target> + <target name="debug" if="netbeans.home" depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE."/> + <target name="-debug-start-debugger-stepinto" if="netbeans.home" depends="init"> + <j2seproject1:nbjpdastart stopclassname="${main.class}"/> + </target> + <target name="debug-stepinto" if="netbeans.home" depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee"/> + <target name="-debug-start-debuggee-single" if="netbeans.home" depends="init,compile-single"> + <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> + <j2seproject3:debug classname="${debug.class}"/> + </target> + <target name="debug-single" if="netbeans.home" depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single"/> + <target name="-pre-debug-fix" depends="init"> + <fail unless="fix.includes">Must set fix.includes</fail> + <property name="javac.includes" value="${fix.includes}.java"/> + </target> + <target name="-do-debug-fix" if="netbeans.home" depends="init,-pre-debug-fix,compile-single"> + <j2seproject1:nbjpdareload/> + </target> + <target name="debug-fix" if="netbeans.home" depends="init,-pre-debug-fix,-do-debug-fix"/> + <!-- + =============== + JAVADOC SECTION + =============== + --> + <target name="-javadoc-build" depends="init"> + <mkdir dir="${dist.javadoc.dir}"/> + <javadoc destdir="${dist.javadoc.dir}" source="${javac.source}" notree="${javadoc.notree}" use="${javadoc.use}" nonavbar="${javadoc.nonavbar}" noindex="${javadoc.noindex}" splitindex="${javadoc.splitindex}" author="${javadoc.author}" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}" private="${javadoc.private}" additionalparam="${javadoc.additionalparam}" failonerror="true" useexternalfile="true"> + <classpath> + <path path="${javac.classpath}"/> + </classpath> + <sourcepath> + <pathelement location="${src.dir}"/> + </sourcepath> + <packageset dir="${src.dir}" includes="*/**"/> + <fileset dir="${src.dir}" includes="*.java"/> + </javadoc> + </target> + <target name="-javadoc-browse" if="netbeans.home" unless="no.javadoc.preview" depends="init,-javadoc-build"> + <nbbrowse file="${dist.javadoc.dir}/index.html"/> + </target> + <target name="javadoc" depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc."/> + <!-- + ========================= + JUNIT COMPILATION SECTION + ========================= + --> + <target name="-pre-pre-compile-test" if="have.tests" depends="init,compile"> + <mkdir dir="${build.test.classes.dir}"/> + </target> + <target name="-pre-compile-test"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="-do-compile-test" if="have.tests" depends="init,compile,-pre-pre-compile-test,-pre-compile-test"> + <j2seproject3:javac srcdir="${test.src.dir}" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}"/> + <copy todir="${build.test.classes.dir}"> + <fileset dir="${test.src.dir}" excludes="**/*.java"/> + </copy> + </target> + <target name="-post-compile-test"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="compile-test" depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test"/> + <target name="-pre-compile-test-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="-do-compile-test-single" if="have.tests" depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single"> + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> + <j2seproject3:javac srcdir="${test.src.dir}" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}"> + <customize> + <patternset includes="${javac.includes}"/> + </customize> + </j2seproject3:javac> + <copy todir="${build.test.classes.dir}"> + <fileset dir="${test.src.dir}" excludes="**/*.java"/> + </copy> + </target> + <target name="-post-compile-test-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="compile-test-single" depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single"/> + <!-- + ======================= + JUNIT EXECUTION SECTION + ======================= + --> + <target name="-pre-test-run" if="have.tests" depends="init"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target name="-do-test-run" if="have.tests" depends="init,compile-test,-pre-test-run"> + <j2seproject3:junit/> + </target> + <target name="-post-test-run" if="have.tests" depends="init,compile-test,-pre-test-run,-do-test-run"> + <fail if="tests.failed">Some tests failed; see details above.</fail> + </target> + <target name="test-report" if="have.tests" depends="init"/> + <target name="-test-browse" if="netbeans.home+have.tests" depends="init"/> + <target name="test" depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests."/> + <target name="-pre-test-run-single" if="have.tests" depends="init"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target name="-do-test-run-single" if="have.tests" depends="init,compile-test-single,-pre-test-run-single"> + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> + <j2seproject3:junit includes="${test.includes}"/> + </target> + <target name="-post-test-run-single" if="have.tests" depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single"> + <fail if="tests.failed">Some tests failed; see details above.</fail> + </target> + <target name="test-single" depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test."/> + <!-- + ======================= + JUNIT DEBUGGING SECTION + ======================= + --> + <target name="-debug-start-debuggee-test" if="have.tests" depends="init,compile-test"> + <fail unless="test.class">Must select one file in the IDE or set test.class</fail> + <j2seproject3:debug classname="junit.textui.TestRunner" classpath="${debug.test.classpath}"> + <customize> + <arg line="${test.class}"/> + </customize> + </j2seproject3:debug> + </target> + <target name="-debug-start-debugger-test" if="netbeans.home+have.tests" depends="init,compile-test"> + <j2seproject1:nbjpdastart name="${test.class}" classpath="${debug.test.classpath}"/> + </target> + <target name="debug-test" depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test"/> + <target name="-do-debug-fix-test" if="netbeans.home" depends="init,-pre-debug-fix,compile-test-single"> + <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/> + </target> + <target name="debug-fix-test" if="netbeans.home" depends="init,-pre-debug-fix,-do-debug-fix-test"/> + <!-- + ========================= + APPLET EXECUTION SECTION + ========================= + --> + <target name="run-applet" depends="init,compile-single"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <j2seproject1:java classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </j2seproject1:java> + </target> + <!-- + ========================= + APPLET DEBUGGING SECTION + ========================= + --> + <target name="-debug-start-debuggee-applet" if="netbeans.home" depends="init,compile-single"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <j2seproject3:debug classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </j2seproject3:debug> + </target> + <target name="debug-applet" if="netbeans.home" depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet"/> + <!-- + =============== + CLEANUP SECTION + =============== + --> + <target name="deps-clean" depends="init" unless="no.deps"/> + <target name="-do-clean" depends="init"> + <delete dir="${build.dir}"/> + <delete dir="${dist.dir}"/> + </target> + <target name="-post-clean"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="clean" depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products."/> +</project> diff --git a/JAVA/CEP/jParmFacade/nbproject/genfiles.properties b/JAVA/CEP/jParmFacade/nbproject/genfiles.properties new file mode 100644 index 00000000000..2f411630fd2 --- /dev/null +++ b/JAVA/CEP/jParmFacade/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=1fc8ec8b +build.xml.script.CRC32=396fe1e4 +build.xml.stylesheet.CRC32=d5b6853a +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=1fc8ec8b +nbproject/build-impl.xml.script.CRC32=0d8554a3 +nbproject/build-impl.xml.stylesheet.CRC32=99b91518 diff --git a/JAVA/CEP/jParmFacade/nbproject/project.properties b/JAVA/CEP/jParmFacade/nbproject/project.properties new file mode 100644 index 00000000000..2002d2e9437 --- /dev/null +++ b/JAVA/CEP/jParmFacade/nbproject/project.properties @@ -0,0 +1,55 @@ +application.args= +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/jParmFacade.jar +dist.javadoc.dir=${dist.dir}/javadoc +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.source=1.5 +javac.target=1.5 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding= +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=nl.astron.lofar.java.cep.jparmfacade.tParmFacade +meta.inf.dir=${src.dir}/META-INF +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value +# or test-sys-prop.name=value to set system properties for unit tests): +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +src.dir=src +test.src.dir=test diff --git a/JAVA/CEP/jParmFacade/nbproject/project.xml b/JAVA/CEP/jParmFacade/nbproject/project.xml new file mode 100644 index 00000000000..a8fdc17b35c --- /dev/null +++ b/JAVA/CEP/jParmFacade/nbproject/project.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://www.netbeans.org/ns/project/1"> + <type>org.netbeans.modules.java.j2seproject</type> + <configuration> + <data xmlns="http://www.netbeans.org/ns/j2se-project/3"> + <name>jParmFacade</name> + <minimum-ant-version>1.6.5</minimum-ant-version> + <source-roots> + <root id="src.dir"/> + </source-roots> + <test-roots> + <root id="test.src.dir"/> + </test-roots> + </data> + </configuration> +</project> diff --git a/JAVA/CEP/jParmFacade/src/Makefile.am b/JAVA/CEP/jParmFacade/src/Makefile.am new file mode 100644 index 00000000000..a8064c8658e --- /dev/null +++ b/JAVA/CEP/jParmFacade/src/Makefile.am @@ -0,0 +1,34 @@ +# if HAVE_SHMEM +# SUBDIRS = shmem . +# endif + +lib_LTLIBRARIES = libjparmfacade.la + +libjparmfacade_la_SOURCES = $(DOCHDRS) \ + nl_astron_lofar_java_cep_jparmfacade_jParmFacade.cc + +# AM_YFLAGS = -d -p KeyParse +# AM_LFLAGS = -PKeyTokenize +# LEX_OUTPUT_ROOT = lex.KeyTokenize + +if HAVE_SHMEM +libjparmfacade_la_LIBADD = $(prefix)/lib/libshmem.la +endif + +bin_PROGRAMS = + +# Lines to build a program prg +#prg_SOURCES = prg.cc +#prg_LDADD = libjparmfacade.la +#prg_DEPENDENCIES = libjparmfacade.la $(LOFAR_DEPEND) + +glishdir = $(libexecdir)/glish +dist_glish_SCRIPTS = + +pythondir = $(bindir) +dist_python_SCRIPTS = + +scriptdir = $(bindir) +dist_script_SCRIPTS = + +include $(top_srcdir)/Makefile.common diff --git a/JAVA/CEP/jParmFacade/src/nl/astron/lofar/java/cep/jparmfacade/jParmFacade.java b/JAVA/CEP/jParmFacade/src/nl/astron/lofar/java/cep/jparmfacade/jParmFacade.java new file mode 100644 index 00000000000..c6fe5c4922e --- /dev/null +++ b/JAVA/CEP/jParmFacade/src/nl/astron/lofar/java/cep/jparmfacade/jParmFacade.java @@ -0,0 +1,45 @@ +/* + * jParmFacade.java JNI Interface base class for the CEP/BB/ParmFacade class + * + * Created on April 18, 2006, 9:54 AM + * + */ + +package nl.astron.lofar.java.cep.jparmfacade; + +import java.util.HashMap; +import java.util.Vector; + +/** + * + * @author coolen + */ +public class jParmFacade { + + /** Creates a new instance of jParmFacade */ + public jParmFacade(String tableName) { + initParmFacade(tableName); + } + + // Make a connection to the given ParmTable. + private native void initParmFacade (String tableName); + + // Get the domain range (as startx,endx,starty,endy) of the given + // parameters in the table. + // This is the minimum start value and maximum end value for all parameters. + // An empty name pattern is the same as * (all parm names). + public native Vector<Double> getRange(String parmNamePattern); + + // Get parameter names in the table matching the pattern. + // An empty name pattern is the same as * (all parm names). + public native Vector<String> getNames(String parmNamePattern); + + + // Get the parameter values for the given parameters and domain. + // The domain is given by the start and end values, while the grid is + // given by nx and ny. + public native HashMap<String,Vector<Double>> getValues(String parmNamePattern, + double startx, double endx, int nx, + double starty, double endy, int ny); + +} diff --git a/JAVA/CEP/jParmFacade/src/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.cc b/JAVA/CEP/jParmFacade/src/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.cc new file mode 100644 index 00000000000..fe9c69a6540 --- /dev/null +++ b/JAVA/CEP/jParmFacade/src/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.cc @@ -0,0 +1,208 @@ +//# nl_astron_lofar_java_cep_jparmfacade_jParmFacade.cc: Manages the +//# connection with the parameter database. +//# +//# Copyright (C) 2005-2007 +//# ASTRON (Netherlands Foundation for Research in Astronomy) +//# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands, seg@astron.nl +//# +//# This program is free software; you can redistribute it and/or modify +//# it under the terms of the GNU General Public License as published by +//# the Free Software Foundation; either version 2 of the License, or +//# (at your option) any later version. +//# +//# This program is distributed in the hope that it will be useful, +//# but WITHOUT ANY WARRANTY; without even the implied warranty of +//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//# GNU General Public License for more details. +//# +//# You should have received a copy of the GNU General Public License +//# along with this program; if not, write to the Free Software +//# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//# + +//# Always #include <lofar_config.h> first! +#include <lofar_config.h> + +#include <jni.h> +#include <jParmFacade/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.h> +#include <ParmFacade/ParmFacade.h> +#include <iostream> + +using namespace LOFAR::ParmDB; +using namespace std; + +ParmFacade* theirPF; + +/* + * Class: nl_astron_lofar_java_cep_jparmfacade_jParmFacade + * Method: initParmFacade + * Signature: (Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_initParmFacade(JNIEnv *env, jobject, jstring tableName) { + const char* tablename = env->GetStringUTFChars(tableName, 0); + const string t(tablename); + + try { + theirPF = new ParmFacade(t); + } catch (exception &ex) { + cout << "Exception during new ParmFacade(" << t << ") : "<< ex.what() << endl; + env->ThrowNew(env->FindClass("java/lang/Exception"),ex.what()); + // env->ExceptionClear(); + } + env->ReleaseStringUTFChars(tableName,tablename); +} + +/* + * Class: nl_astron_lofar_java_cep_jparmfacade_jParmFacade + * Method: getRange + * Signature: (Ljava/lang/String;)Ljava/util/Vector; + */ +JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getRange (JNIEnv *env, jobject, jstring parmNamePattern) { + + jboolean isCopy; + const char* pattern = env->GetStringUTFChars (parmNamePattern, &isCopy); + vector<double> rangeList; + try { + rangeList = theirPF->getRange(pattern); + + } catch (exception &ex) { + cout << "Exception during getRange("<< pattern << "): "<< ex.what() << endl; + env->ThrowNew(env->FindClass("java/lang/Exception"),ex.what()); + // env->ExceptionClear(); + } + + env->ReleaseStringUTFChars (parmNamePattern, pattern); + + vector<double>::iterator rangeIterator; + + // Construct java Vector + jobject rangeVector; + jclass class_Vector = env->FindClass("java/util/Vector"); + jmethodID mid_Vector_cons = env->GetMethodID(class_Vector, "<init>", "()V"); + rangeVector = env->NewObject(class_Vector, mid_Vector_cons); + jmethodID mid_Vector_add = env->GetMethodID(class_Vector, "add", "(Ljava/lang/Object;)Z"); + + // Double + jobject jDouble; + jclass class_Double = env->FindClass ("java/lang/Double"); + jmethodID mid_Double_cons = env->GetMethodID (class_Double, "<init>", "(D)V"); + + for (rangeIterator = rangeList.begin(); rangeIterator != rangeList.end(); rangeIterator++) { + jDouble = env->NewObject (class_Double, mid_Double_cons, *rangeIterator); + + env->CallObjectMethod(rangeVector, mid_Vector_add, jDouble); + } + return rangeVector; +} + + +/* + * Class: nl_astron_lofar_java_cep_jParmFacade_jparmfacade + * Method: getNames + * Signature: (Ljava/lang/String;)Ljava/util/Vector; + */ +JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getNames (JNIEnv *env, jobject, jstring parmNamePattern) { + + jboolean isCopy; + const char* pattern = env->GetStringUTFChars (parmNamePattern, &isCopy); + vector<string> nameList; + try { + nameList = theirPF->getNames(pattern); + } catch (exception &ex) { + cout << "Exception during getNames("<< pattern << "): "<< ex.what() << endl; + env->ThrowNew(env->FindClass("java/lang/Exception"),ex.what()); + // env->ExceptionClear(); + } + + env->ReleaseStringUTFChars (parmNamePattern, pattern); + + vector<string>::iterator nameIterator; + + // Construct java Vector + jobject nameVector; + jclass class_Vector = env->FindClass("java/util/Vector"); + jmethodID mid_Vector_cons = env->GetMethodID(class_Vector, "<init>", "()V"); + nameVector = env->NewObject(class_Vector, mid_Vector_cons); + jmethodID mid_Vector_add = env->GetMethodID(class_Vector, "add", "(Ljava/lang/Object;)Z"); + + jstring jstr; + for (nameIterator = nameList.begin(); nameIterator != nameList.end(); nameIterator++) { + jstr = env->NewStringUTF (((string)*nameIterator).c_str()); + env->CallObjectMethod(nameVector, mid_Vector_add, jstr); + } + return nameVector; +} + + + +/* + * Class: nl_astron_lofar_java_cep_jparmfacade_jParmFacade + * Method: getValues + * Signature: (Ljava/lang/String;DDIDDI)Ljava/util/HashMap; + */ +JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getValues (JNIEnv *env, jobject, jstring parmNamePattern, jdouble startx, jdouble endx, jint nx, jdouble starty, jdouble endy, jint ny) { + + jboolean isCopy; + const char* pattern = env->GetStringUTFChars (parmNamePattern, &isCopy); + map<string,vector<double> > valMap; + try { + valMap = theirPF->getValues(pattern,startx,endx,nx,starty,endy,ny); + } catch (exception ex) { + cout << "Exception during getValues("<< pattern << "," << startx << "," + << endx << "," << nx << "," << starty << "," << endy << "," << ny + << ") : "<< ex.what() << endl; + env->ThrowNew(env->FindClass("java/lang/Exception"),ex.what()); + // env->ExceptionClear(); + } + + env->ReleaseStringUTFChars (parmNamePattern, pattern); + + + + // Construct java Map + jobject result; + jclass mapClass, doubleClass, vectorClass; + jmethodID mapInit, mapPut, vectorAdd, doubleInit, vectorInit; + + mapClass = env->FindClass("java/util/HashMap"); + mapInit = env->GetMethodID(mapClass, "<init>", "()V"); + result = env->NewObject(mapClass, mapInit); + mapPut= env->GetMethodID(mapClass, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"); + + // Construct java Double + jobject jDouble; + doubleClass = env->FindClass ("java/lang/Double"); + doubleInit = env->GetMethodID (doubleClass, "<init>", "(D)V"); + + + // Loop through map and convert to HashMap + + for (map<string,vector<double> >::const_iterator valIter=valMap.begin(); + valIter != valMap.end(); + valIter++) { + + // Construct java Vector + jobject valVector; + vectorClass = env->FindClass("java/util/Vector"); + vectorInit = env->GetMethodID(vectorClass, "<init>", "()V"); + valVector = env->NewObject(vectorClass, vectorInit); + vectorAdd = env->GetMethodID(vectorClass, "add", "(Ljava/lang/Object;)Z"); + + + for (vector<double>::const_iterator iter=valIter->second.begin(); + iter != valIter->second.end(); + iter++) { + + jDouble = env->NewObject (doubleClass, doubleInit, *iter); + + env->CallObjectMethod(valVector, vectorAdd, jDouble); + } + + + env->CallObjectMethod(result, mapPut, env->NewStringUTF(valIter->first.c_str()),valVector); + + } + + return result; +} + diff --git a/JAVA/CEP/jParmFacade/test/Makefile.am b/JAVA/CEP/jParmFacade/test/Makefile.am new file mode 100644 index 00000000000..7f87d74dc97 --- /dev/null +++ b/JAVA/CEP/jParmFacade/test/Makefile.am @@ -0,0 +1,30 @@ +check_PROGRAMS = + +# programs to run through supplied checktools +CHECKTOOLPROGS = +#ENDCHECKTOOLPROGS + +# scripts used to run tests +TESTSCRIPTS = + +# scripts and possible programs to run tests +TESTS = $(TESTSCRIPTS) + +XFAIL_TESTS = + +# all files (.run, .stdout, .in, .log_prop, etc.) needed to run tests +EXTRA_DIST = $(TESTSCRIPTS) + +# Lines to build a test program testprg +#testprg_SOURCES = testprg.cc +#testprg_LDADD = ../src/libjparmfacade.la +#testprg_DEPENDENCIES = ../src/libjparmfacade.la $(LOFAR_DEPEND) + +TESTS_ENVIRONMENT = lofar_sharedir=$(lofar_sharedir) \ + srcdir=$(srcdir) \ + LOFARROOT=$(LOFARROOT) \ + LOFARDATAROOT=$(LOFARDATAROOT) \ + MPIBIN=$(MPIBIN) + + +include $(top_srcdir)/Makefile.common diff --git a/JAVA/CEP/jParmFacade/test/tParmFacade.java b/JAVA/CEP/jParmFacade/test/tParmFacade.java new file mode 100644 index 00000000000..bea92b66e98 --- /dev/null +++ b/JAVA/CEP/jParmFacade/test/tParmFacade.java @@ -0,0 +1,87 @@ +/* + * tParmFacade.java: test program for class jParmFacade + * + * Created on April 19, 2006, 11:05 AM + * + * Copyright (C) 2006 + * ASTRON (Netherlands Foundation for Research in Astronomy) + * P.O.Box 2, 7990 AA Dwingeloo, The Netherlands, seg@astron.nl + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Vector; +import nl.astron.lofar.java.cep.jparmfacade.jParmFacade; + +/** + * + * @author coolen + */ +public class tParmFacade { + + static { + System.loadLibrary("jparmfacade"); + } + + + public static void main(String[] args) { + tParmFacade tPF = new tParmFacade(); + String parmTable="tParmFacade.in_mep1"; + + if (args.length < 1) { + System.out.println("Run as: tParmFacade parmtable"); + tPF.test(parmTable); + } else { + parmTable=args[0]; + System.out.println("Running with parmTable: "+parmTable); + + tPF.test(parmTable); + } + } + + /** Creates a new instance of tParmFacade */ + private void test(String parmTable) { + System.out.println("Testing with table: "+parmTable); + try { + // create a jParmFacade + jParmFacade aPF = new jParmFacade(parmTable); + + if (aPF == null) { + System.out.println("Error starting ParmFacade"); + return; + } + + Vector<String> names = aPF.getNames(""); + System.out.println("Names: " + names); + Vector<Double> range = aPF.getRange(""); + System.out.println("Range: " + range); + HashMap<String,Vector<Double> > values = aPF.getValues ("*", + range.elementAt(0), range.elementAt(1), 4, + range.elementAt(2), range.elementAt(3), 2); + + Iterator it = values.keySet().iterator(); + while (it.hasNext()) { + String key = (String)it.next(); + System.out.println(key + " <-> " + values.get(key)); + } + } catch (Exception ex) { + System.out.println("Unexpected exception: " + ex); + return; + } + } +} -- GitLab