diff --git a/js-test/servers/dsu/core-plugins/core-plugins.properties b/js-test/servers/dsu/core-plugins/core-plugins.properties new file mode 100644 index 0000000000000000000000000000000000000000..d57d5635dd708d303fa1d4e6749fdd657b6904f8 --- /dev/null +++ b/js-test/servers/dsu/core-plugins/core-plugins.properties @@ -0,0 +1,2 @@ + +enabled-modules = downloader, illumina-ngs, laneStatistics, ngs-sample-overview-graph diff --git a/js-test/servers/dsu/core-plugins/laneStatistics b/js-test/servers/dsu/core-plugins/laneStatistics new file mode 120000 index 0000000000000000000000000000000000000000..19257e80dbc3336d11fee6332b5501d2a9e3d583 --- /dev/null +++ b/js-test/servers/dsu/core-plugins/laneStatistics @@ -0,0 +1 @@ +../../../../deep_sequencing_unit/source/core-plugins/laneStatistics \ No newline at end of file diff --git a/js-test/servers/dsu/datastore_server/.activity/default-dropbox b/js-test/servers/dsu/datastore_server/.activity/default-dropbox new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/.shredder b/js-test/servers/dsu/datastore_server/.shredder new file mode 100644 index 0000000000000000000000000000000000000000..2e08dce276e43c677d121d627a250d1710fed824 Binary files /dev/null and b/js-test/servers/dsu/datastore_server/.shredder differ diff --git a/js-test/servers/dsu/datastore_server/.updater b/js-test/servers/dsu/datastore_server/.updater new file mode 100644 index 0000000000000000000000000000000000000000..2e08dce276e43c677d121d627a250d1710fed824 Binary files /dev/null and b/js-test/servers/dsu/datastore_server/.updater differ diff --git a/js-test/servers/dsu/datastore_server/data/incoming-default/.gitignore b/js-test/servers/dsu/datastore_server/data/incoming-default/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/data/post-registration/cleanup-tasks/.gitignore b/js-test/servers/dsu/datastore_server/data/post-registration/cleanup-tasks/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/data/store/.SHREDDER/.gitignore b/js-test/servers/dsu/datastore_server/data/store/.SHREDDER/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/data/store/1/pre-commit/.gitignore b/js-test/servers/dsu/datastore_server/data/store/1/pre-commit/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/data/store/1/pre-staging/.gitignore b/js-test/servers/dsu/datastore_server/data/store/1/pre-staging/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/data/store/1/recovery-marker/default-dropbox/.gitignore b/js-test/servers/dsu/datastore_server/data/store/1/recovery-marker/default-dropbox/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/data/store/1/staging/.gitignore b/js-test/servers/dsu/datastore_server/data/store/1/staging/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/data/store/commandQueue b/js-test/servers/dsu/datastore_server/data/store/commandQueue new file mode 100644 index 0000000000000000000000000000000000000000..2e08dce276e43c677d121d627a250d1710fed824 Binary files /dev/null and b/js-test/servers/dsu/datastore_server/data/store/commandQueue differ diff --git a/js-test/servers/dsu/datastore_server/data/store/deleteDatasetsAlreadyDeletedFromApplicationServerTaskLastSeen b/js-test/servers/dsu/datastore_server/data/store/deleteDatasetsAlreadyDeletedFromApplicationServerTaskLastSeen new file mode 100644 index 0000000000000000000000000000000000000000..626644fadca1c7471dee803656968e2f72368c58 --- /dev/null +++ b/js-test/servers/dsu/datastore_server/data/store/deleteDatasetsAlreadyDeletedFromApplicationServerTaskLastSeen @@ -0,0 +1 @@ +1060 \ No newline at end of file diff --git a/js-test/servers/dsu/datastore_server/db/pathinfo_test_js_dsu.sql b/js-test/servers/dsu/datastore_server/db/pathinfo_test_js_dsu.sql new file mode 100644 index 0000000000000000000000000000000000000000..e8d341322b4fee0c8f0ba4a6a00294a3e923528b --- /dev/null +++ b/js-test/servers/dsu/datastore_server/db/pathinfo_test_js_dsu.sql @@ -0,0 +1,322 @@ +-- +-- PostgreSQL database dump +-- + +SET statement_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SET check_function_bodies = false; +SET client_min_messages = warning; + +-- +-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: - +-- + +CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog; + + +-- +-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: - +-- + +COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language'; + + +SET search_path = public, pg_catalog; + +-- +-- Name: boolean_char; Type: DOMAIN; Schema: public; Owner: - +-- + +CREATE DOMAIN boolean_char AS boolean DEFAULT false; + + +-- +-- Name: code; Type: DOMAIN; Schema: public; Owner: - +-- + +CREATE DOMAIN code AS character varying(40); + + +-- +-- Name: file_path; Type: DOMAIN; Schema: public; Owner: - +-- + +CREATE DOMAIN file_path AS character varying(1000); + + +-- +-- Name: tech_id; Type: DOMAIN; Schema: public; Owner: - +-- + +CREATE DOMAIN tech_id AS bigint; + + +-- +-- Name: time_stamp; Type: DOMAIN; Schema: public; Owner: - +-- + +CREATE DOMAIN time_stamp AS timestamp with time zone; + + +SET default_tablespace = ''; + +SET default_with_oids = false; + +-- +-- Name: data_set_files; Type: TABLE; Schema: public; Owner: -; Tablespace: +-- + +CREATE TABLE data_set_files ( + id bigint NOT NULL, + dase_id tech_id NOT NULL, + parent_id tech_id, + relative_path file_path NOT NULL, + file_name file_path NOT NULL, + size_in_bytes bigint NOT NULL, + checksum_crc32 integer, + is_directory boolean_char NOT NULL, + last_modified time_stamp DEFAULT now() NOT NULL +); + + +-- +-- Name: data_set_files_id_seq; Type: SEQUENCE; Schema: public; Owner: - +-- + +CREATE SEQUENCE data_set_files_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +-- +-- Name: data_set_files_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - +-- + +ALTER SEQUENCE data_set_files_id_seq OWNED BY data_set_files.id; + + +-- +-- Name: data_set_files_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - +-- + +SELECT pg_catalog.setval('data_set_files_id_seq', 1, false); + + +-- +-- Name: data_sets; Type: TABLE; Schema: public; Owner: -; Tablespace: +-- + +CREATE TABLE data_sets ( + id bigint NOT NULL, + code code NOT NULL, + location file_path NOT NULL +); + + +-- +-- Name: data_sets_id_seq; Type: SEQUENCE; Schema: public; Owner: - +-- + +CREATE SEQUENCE data_sets_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +-- +-- Name: data_sets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - +-- + +ALTER SEQUENCE data_sets_id_seq OWNED BY data_sets.id; + + +-- +-- Name: data_sets_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - +-- + +SELECT pg_catalog.setval('data_sets_id_seq', 1, false); + + +-- +-- Name: database_version_logs; Type: TABLE; Schema: public; Owner: -; Tablespace: +-- + +CREATE TABLE database_version_logs ( + db_version character varying(4) NOT NULL, + module_name character varying(250), + run_status character varying(10), + run_status_timestamp timestamp without time zone, + module_code bytea, + run_exception bytea +); + + +-- +-- Name: events; Type: TABLE; Schema: public; Owner: -; Tablespace: +-- + +CREATE TABLE events ( + last_seen_deletion_event_id tech_id NOT NULL +); + + +-- +-- Name: last_feeding_event; Type: TABLE; Schema: public; Owner: -; Tablespace: +-- + +CREATE TABLE last_feeding_event ( + registration_timestamp time_stamp NOT NULL +); + + +-- +-- Name: id; Type: DEFAULT; Schema: public; Owner: - +-- + +ALTER TABLE data_set_files ALTER COLUMN id SET DEFAULT nextval('data_set_files_id_seq'::regclass); + + +-- +-- Name: id; Type: DEFAULT; Schema: public; Owner: - +-- + +ALTER TABLE data_sets ALTER COLUMN id SET DEFAULT nextval('data_sets_id_seq'::regclass); + + +-- +-- Data for Name: data_set_files; Type: TABLE DATA; Schema: public; Owner: - +-- + +COPY data_set_files (id, dase_id, parent_id, relative_path, file_name, size_in_bytes, checksum_crc32, is_directory, last_modified) FROM stdin; +\. + + +-- +-- Data for Name: data_sets; Type: TABLE DATA; Schema: public; Owner: - +-- + +COPY data_sets (id, code, location) FROM stdin; +\. + + +-- +-- Data for Name: database_version_logs; Type: TABLE DATA; Schema: public; Owner: - +-- + +COPY database_version_logs (db_version, module_name, run_status, run_status_timestamp, module_code, run_exception) FROM stdin; +005 ../datastore_server/source/sql/postgresql/005/schema-005.sql SUCCESS 2013-02-13 13:23:07.049 \\x0a2f2a202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d202a2f0a2f2a20446f6d61696e73202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202a2f0a2f2a202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d202a2f0a0a43524541544520444f4d41494e20544543485f494420415320424947494e543b0a0a43524541544520444f4d41494e20434f44452041532056415243484152283430293b0a0a43524541544520444f4d41494e2046494c455f5041544820415320564152434841522831303030293b0a0a43524541544520444f4d41494e20424f4f4c45414e5f4348415220415320424f4f4c45414e2044454641554c542046414c53453b0a0a43524541544520444f4d41494e2054494d455f5354414d502041532054494d455354414d5020574954482054494d45205a4f4e453b0a0a0a2f2a202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d202a2f0a2f2a205461626c657320202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202a2f0a2f2a202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d202a2f0a0a435245415445205441424c4520444154415f5345545320280a202049442042494753455249414c204e4f54204e554c4c2c0a2020434f444520434f4445204e4f54204e554c4c2c0a20204c4f434154494f4e2046494c455f50415448204e4f54204e554c4c2c0a0a20205052494d415259204b455920284944292c0a2020554e495155452028434f4445290a293b0a0a43524541544520494e44455820444154415f534554535f434f44455f494458204f4e20444154415f534554532028434f4445293b0a0a435245415445205441424c4520444154415f5345545f46494c455320280a202049442042494753455249414c204e4f54204e554c4c2c0a2020444153455f494420544543485f4944204e4f54204e554c4c2c0a2020504152454e545f494420544543485f49442c0a202052454c41544956455f504154482046494c455f50415448204e4f54204e554c4c2c0a202046494c455f4e414d452046494c455f50415448204e4f54204e554c4c2c0a202053495a455f494e5f425954455320424947494e54204e4f54204e554c4c2c0a2020434845434b53554d5f435243333220494e54454745522c0a202049535f4449524543544f525920424f4f4c45414e5f43484152204e4f54204e554c4c2c0a20204c4153545f4d4f4449464945442054494d455f5354414d50204e4f54204e554c4c2044454641554c54204e4f5728292c0a0a20205052494d415259204b455920284944292c0a2020434f4e53545241494e5420464b5f444154415f5345545f46494c45535f444154415f5345545320464f524549474e204b45592028444153455f494429205245464552454e43455320444154415f534554532028494429204f4e2044454c4554452043415343414445204f4e2055504441544520434153434144452c0a2020434f4e53545241494e5420464b5f444154415f5345545f46494c45535f444154415f5345545f46494c455320464f524549474e204b45592028504152454e545f494429205245464552454e43455320444154415f5345545f46494c45532028494429204f4e2044454c4554452043415343414445204f4e2055504441544520434153434144450a293b0a0a43524541544520494e44455820444154415f5345545f46494c45535f444153455f49445f494458204f4e20444154415f5345545f46494c45532028444153455f4944293b0a43524541544520494e44455820444154415f5345545f46494c45535f444153455f49445f504152454e545f49445f494458204f4e20444154415f5345545f46494c45532028444153455f49442c20504152454e545f4944293b0a43524541544520494e44455820444154415f5345545f46494c45535f444153455f49445f52454c41544956455f504154485f494458204f4e20444154415f5345545f46494c45532028444153455f49442c2052454c41544956455f50415448293b0a43524541544520494e44455820444154415f5345545f46494c45535f444153455f49445f46494c455f4e414d455f494458204f4e20444154415f5345545f46494c45532028444153455f49442c2046494c455f4e414d45293b0a0a435245415445205441424c45204556454e545320280a20204c4153545f5345454e5f44454c4554494f4e5f4556454e545f494420544543485f4944204e4f54204e554c4c0a293b0a0a \N +006 ../datastore_server/source/sql/postgresql/migration/migration-005-006.sql SUCCESS 2013-03-20 13:20:21.176 \\x0a435245415445205441424c45204c4153545f46454544494e475f4556454e5420280a2020524547495354524154494f4e5f54494d455354414d502054494d455f5354414d50204e4f54204e554c4c0a293b0a \N +\. + + +-- +-- Data for Name: events; Type: TABLE DATA; Schema: public; Owner: - +-- + +COPY events (last_seen_deletion_event_id) FROM stdin; +\. + + +-- +-- Data for Name: last_feeding_event; Type: TABLE DATA; Schema: public; Owner: - +-- + +COPY last_feeding_event (registration_timestamp) FROM stdin; +\. + + +-- +-- Name: data_set_files_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: +-- + +ALTER TABLE ONLY data_set_files + ADD CONSTRAINT data_set_files_pkey PRIMARY KEY (id); + + +-- +-- Name: data_sets_code_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: +-- + +ALTER TABLE ONLY data_sets + ADD CONSTRAINT data_sets_code_key UNIQUE (code); + + +-- +-- Name: data_sets_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: +-- + +ALTER TABLE ONLY data_sets + ADD CONSTRAINT data_sets_pkey PRIMARY KEY (id); + + +-- +-- Name: data_set_files_dase_id_file_name_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX data_set_files_dase_id_file_name_idx ON data_set_files USING btree (dase_id, file_name); + + +-- +-- Name: data_set_files_dase_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX data_set_files_dase_id_idx ON data_set_files USING btree (dase_id); + + +-- +-- Name: data_set_files_dase_id_parent_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX data_set_files_dase_id_parent_id_idx ON data_set_files USING btree (dase_id, parent_id); + + +-- +-- Name: data_set_files_dase_id_relative_path_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX data_set_files_dase_id_relative_path_idx ON data_set_files USING btree (dase_id, relative_path); + + +-- +-- Name: data_sets_code_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX data_sets_code_idx ON data_sets USING btree (code); + + +-- +-- Name: fk_data_set_files_data_set_files; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY data_set_files + ADD CONSTRAINT fk_data_set_files_data_set_files FOREIGN KEY (parent_id) REFERENCES data_set_files(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: fk_data_set_files_data_sets; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY data_set_files + ADD CONSTRAINT fk_data_set_files_data_sets FOREIGN KEY (dase_id) REFERENCES data_sets(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: public; Type: ACL; Schema: -; Owner: - +-- + +REVOKE ALL ON SCHEMA public FROM PUBLIC; +REVOKE ALL ON SCHEMA public FROM postgres; +GRANT ALL ON SCHEMA public TO postgres; +GRANT ALL ON SCHEMA public TO PUBLIC; + + +-- +-- PostgreSQL database dump complete +-- + diff --git a/js-test/servers/dsu/datastore_server/dss-tmp/.gitignore b/js-test/servers/dsu/datastore_server/dss-tmp/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/etc/log.xml b/js-test/servers/dsu/datastore_server/etc/log.xml new file mode 100644 index 0000000000000000000000000000000000000000..5cee0a68436a19a6c4ec4b14b580e6d9f75bf84f --- /dev/null +++ b/js-test/servers/dsu/datastore_server/etc/log.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%d %-5p [%t] %c - %m%n"/> + </layout> + </appender> + + <appender name="NULL" class="org.apache.log4j.varia.NullAppender" /> + + <root> + <priority value ="info" /> + <appender-ref ref="STDOUT" /> + </root> + +</log4j:configuration> diff --git a/js-test/servers/dsu/datastore_server/etc/service.properties b/js-test/servers/dsu/datastore_server/etc/service.properties new file mode 100644 index 0000000000000000000000000000000000000000..5d18cb69fd1a128b12f7b5c377103aff1580ebaa --- /dev/null +++ b/js-test/servers/dsu/datastore_server/etc/service.properties @@ -0,0 +1,169 @@ +# Unique code of this Data Store Server. Not more than 40 characters. +data-store-server-code = DSS1 + +# host name of the machine on which the datastore server is running +host-address = http://localhost + +# parent directory of the store directory and all the dropboxes +root-dir = data + +# The root directory of the data store +storeroot-dir = ${root-dir}/store + +incoming-root-dir = ${root-dir} + +# Cache for data set files from other Data Store Servers +cache-workspace-folder ${root-dir}/dss-cache + +# The directory where the command queue file is located; defaults to storeroot-dir +commandqueue-dir = + +# Port +port = 20001 +use-ssl = false + +# Session timeout in minutes +session-timeout = 720 + +# Path to the keystore +keystore.path = etc/openBIS.keystore +# Password of the keystore +keystore.password = changeit +# Key password of the keystore +keystore.key-password = changeit + +# The check interval (in seconds) +check-interval = 5 + +quiet-period = 10 + + +# The time-out for clean up work in the shutdown sequence (in seconds). +# Note that that the maximal time for the shutdown sequence to complete can be as large +# as twice this time. +# Remark: On a network file system, it is not recommended to turn this value to something +# lower than 180. +shutdown-timeout = 180 + +# The minimum time (in seconds) of availability of the data stream since moment when user requested +# for the data stream url. If not specified default value (20 seconds) will be used. +# minimum-time-to-keep-streams-in-sec = 20 + +#�If free disk space goes below value defined here, a notification email will be sent. +# Value must be specified in kilobytes (1048576 = 1024 * 1024 = 1GB). If no high water mark is +# specified or if value is negative, the system will not be watching. There are 2 different kinds +# of highwater mark supported: the one that is checking the space on the store, and one that is +# checking the amount of free space for recovery state (on the local filesystem). +highwater-mark = -1 +recovery-highwater-mark = -1 + +# If a data set is successfully registered it sends out an email to the registrator. +# If this property is not specified, no email is sent to the registrator. This property +# does not affect the mails which are sent, when the data set could not be registered. +notify-successful-registration = false + +# The URL of the openBIS server +server-url = ${host-address}:20000 + +# The username to use when contacting the openBIS server +username = etlserver_bsse + +# The password for the etlserver user who contacts the openBIS server +password=e1AWO4f0ro + +# The base URL for Web client access to the data store server. +download-url = ${host-address}:${port} + +# SMTP properties (must start with 'mail' to be considered). +# The current configuration saves the emails in the file system in the root directory +mail.smtp.host = file://${root-dir} +# mail.smtp.host = localhost +# mail.from = openbis-dss@localhost +# mail.smtp.user = +# mail.smtp.password = + + +# Data sources +data-sources = path-info-db + +# Data source for pathinfo database +path-info-db.version-holder-class = ch.systemsx.cisd.openbis.dss.generic.shared.PathInfoDatabaseVersionHolder +path-info-db.databaseEngineCode = postgresql +path-info-db.basicDatabaseName = pathinfo +# The host and optionally port. Default is 'localhost'. +# path-info-db.urlHostPart = +path-info-db.databaseKind = test_js_dsu +path-info-db.scriptFolder = datastore_server/sql + +# --------------------------------------------------------------------------- +# maintenance plugins configuration +# --------------------------------------------------------------------------- + +# Comma separated names of maintenance plugins. Each plugin should have configuration properties prefixed with its name. +maintenance-plugins = post-registration, path-info-deletion + +# Maintenance task for post registration of all paths of a freshly registered data set to be fed into pathinfo database +post-registration.class = ch.systemsx.cisd.etlserver.postregistration.PostRegistrationMaintenanceTask +post-registration.interval = 30 +post-registration.cleanup-tasks-folder = ${root-dir}/post-registration/cleanup-tasks +post-registration.last-seen-data-set-file = ${root-dir}/post-registration/last-seen-data-set.txt +post-registration.post-registration-tasks = pathinfo-feeding +post-registration.pathinfo-feeding.class = ch.systemsx.cisd.etlserver.path.PathInfoDatabaseFeedingTask +post-registration.pathinfo-feeding.compute-checksum = true + +# Maintenance task for deleting entries from pathinfo database after deletion of a data set +path-info-deletion.class = ch.systemsx.cisd.etlserver.plugins.DeleteFromExternalDBMaintenanceTask +path-info-deletion.interval = 120 +path-info-deletion.data-source = path-info-db +path-info-deletion.data-set-table-name = data_sets +path-info-deletion.data-set-perm-id = CODE + +# --------------------------------------------------------------------------- +# processing plugins configuration +# --------------------------------------------------------------------------- + +# Comma separated names of processing plugins. Each plugin should have configuration properties prefixed with its name. +processing-plugins = path-info-db-consistency-check + +# Processing task that checks the consistency between the data store and the meta information stored in the PathInfoDB. +# It sends out an email which contains all differences found. +path-info-db-consistency-check.label = Path Info DB consistency check +path-info-db-consistency-check.dataset-types = .* +path-info-db-consistency-check.class = ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.DataSetAndPathInfoDBConsistencyCheckProcessingPlugin + +# --------------------------------------------------------------------------- +# dropbox configurations +# --------------------------------------------------------------------------- +inputs = default-dropbox +dss-rpc.put-default = default-dropbox + +default-dropbox.incoming-dir = ${incoming-root-dir}/incoming-default +default-dropbox.incoming-data-completeness-condition = auto-detection +default-dropbox.top-level-data-set-handler = ch.systemsx.cisd.etlserver.registrator.api.v2.JavaTopLevelDataSetHandlerV2 +default-dropbox.program-class = ch.systemsx.cisd.etlserver.registrator.DefaultDropbox +default-dropbox.storage-processor = ch.systemsx.cisd.etlserver.DefaultStorageProcessor +default-dropbox.validation-script-path = ../core-plugins/default/default-validation-script.py + +# --------------------------------------------------------------------------- +# Archiver configuration (optional) +# --------------------------------------------------------------------------- + +# Configuration of an archiver task. All properties are prefixed with 'archiver.'. + +# Archiver class specification (together with the list of packages this class belongs to). +#archiver.class = ch.systemsx.cisd.openbis.dss.generic.server.plugins.demo.DemoArchiver + +# --------------------------------------------------------------------------- +# Imaging database for screening (optional, only used if screening technology switched on) +# --------------------------------------------------------------------------- +# Format: <host>[:<port>]. Default: localhost +# imaging-database.url-host-part = +# Default: prod. +imaging-database.kind = test_js_dsu + + +# --------------------------------------------------------------------------- +# INTERNAL CONFIGURATION, +# Do not change this part unless you are developing openBIS extensions. +# --------------------------------------------------------------------------- + diff --git a/js-test/servers/dsu/datastore_server/log-registrations/failed/.gitignore b/js-test/servers/dsu/datastore_server/log-registrations/failed/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/log-registrations/in-process/.gitignore b/js-test/servers/dsu/datastore_server/log-registrations/in-process/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/log-registrations/succeeded/.gitignore b/js-test/servers/dsu/datastore_server/log-registrations/succeeded/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/datastore_server/recovery-state/default-dropbox/.gitignore b/js-test/servers/dsu/datastore_server/recovery-state/default-dropbox/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/openBIS-server/.dynamic_property_evaluator_queue b/js-test/servers/dsu/openBIS-server/.dynamic_property_evaluator_queue new file mode 100644 index 0000000000000000000000000000000000000000..2e08dce276e43c677d121d627a250d1710fed824 Binary files /dev/null and b/js-test/servers/dsu/openBIS-server/.dynamic_property_evaluator_queue differ diff --git a/js-test/servers/dsu/openBIS-server/db/.gitignore b/js-test/servers/dsu/openBIS-server/db/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/js-test/servers/dsu/openBIS-server/etc/log.xml b/js-test/servers/dsu/openBIS-server/etc/log.xml new file mode 100644 index 0000000000000000000000000000000000000000..c437339ded6a0516430f8b148c172fccb4ec73f3 --- /dev/null +++ b/js-test/servers/dsu/openBIS-server/etc/log.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> + +<!-- + // This configuration file is suitable for testing purposes. +--> +<log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <!-- + // %d: outputs the date of the logging event. + // %-5p: priority (i.e. level) of the logging event should be left justified to + // a width of five characters. + // %t: outputs the name of the thread that generated the logging event. + // %c: outputs the category of the logging event. + // %m: outputs the application supplied message associated with the logging event. + // %n: outputs the platform dependent line separator character or characters. + // %X: outputs the MDC (mapped diagnostic context) associated with the thread that generated the logging event. + --> + <param name="ConversionPattern" + value="%d %-5p [%t]%X{sessionInfo} %c - %m%n" /> + </layout> + </appender> + + <!-- + // Defined but not used right now. + --> + <appender name="NULL" class="org.apache.log4j.varia.NullAppender" /> + + <!-- + // Enable full wire (header and content) + context logging + // For more information look at http://jakarta.apache.org/commons/httpclient/logging.html. + // We do not need to set a level value here as loggers inherit their level from the root logger. + --> + + <!-- + // Do not use log level debug otherwise plain passwords are readable. + --> + <logger name="httpclient.wire"> + <level value="ERROR" /> + </logger> + + <!-- + // Uncomment this for debugging value binding in Hibernate + <category name="org.hibernate.type"> + <priority value="TRACE"/> + </category> + --> + + <!-- + <logger name="org.apache.commons.httpclient"> + <level value="DEBUG" /> + </logger> + --> + + <root> + <priority value="info" /> + <appender-ref ref="STDOUT" /> + </root> + +</log4j:configuration> diff --git a/js-test/servers/dsu/openBIS-server/etc/service.properties b/js-test/servers/dsu/openBIS-server/etc/service.properties new file mode 100644 index 0000000000000000000000000000000000000000..e7e07c1253e20779096adf527363323441f933c6 --- /dev/null +++ b/js-test/servers/dsu/openBIS-server/etc/service.properties @@ -0,0 +1,254 @@ +# --------------------------------------------------------------------------- +# Core plugins configuration +# --------------------------------------------------------------------------- + +core-plugins-folder=../core-plugins + +# --------------------------------------------------------------------------- +# Database configuration +# --------------------------------------------------------------------------- +# The database instance local unique identifier. Used when the new database is created. +database-instance = DEFAULT + +# The host and optionally port. Default is 'localhost'. +# database.url-host-part = +database.kind = test_js_dsu +# User who owns the database. Default: Operating system user running the server. +database.owner = +database.owner-password = +# Superuser of the database. Default: database-dependent. +database.admin-user = +database.admin-password = +# Max. number of active database connections. Default: 20. +database.max-active-connections = +# Max. number of idle database connections to keep open. Default: 20. +database.max-idle-connections = +# Log interval (in seconds) between two regular log entries of the number of active database +# connections. Default: 3600s. +database.active-connections-log-interval = + +# --------------------------------------------------------------------------- +# Authentication configuration +# --------------------------------------------------------------------------- +# Supported Authentication options are: +# 'file-authentication-service' +# 'ldap-authentication-service' +# 'crowd-authentication-service' +# 'file-crowd-authentication-service' +# 'file-ldap-authentication-service' +# 'stacked-authentication-service' : ldap - crowd +# For a detailed description please have a look at the Installation and Administrator +# Guide of the openBIS Server: https://wiki-bsse.ethz.ch/x/oYIUBQ + +authentication-service = dummy-authentication-service +dss-rpc.put.dss-code = DSS1 + +# --------------------------------------------------------------------------- +# Crowd configuration +# --------------------------------------------------------------------------- +crowd.service.host = crowd-bsse.ethz.ch +crowd.service.port = 8443 +crowd.application.name = openbis +crowd.application.password = + +# --------------------------------------------------------------------------- +# LDAP configuration +# --------------------------------------------------------------------------- +# The URL of the LDAP server, e.g. "ldap://d.ethz.ch/DC=d,DC=ethz,DC=ch" +ldap.server.url = <LDAP URL> +# The distinguished name of the security principal, +# e.g. "CN=carl,OU=EthUsers,DC=d,DC=ethz,DC=ch" +ldap.security.principal.distinguished.name = <distinguished name to login to the LDAP server> +# Password of the LDAP user account that will be used to login to the LDAP server to perform the queries +ldap.security.principal.password = <password of the user to connect to the LDAP server> +# The security protocol to use, use "ssl" or "none", default is "ssl" +ldap.security.protocol = +# The authentication method to use: "none" (no authentication), "simple", "strong" (SASL), defaults to "simple" +ldap.security.authentication-method = +# The referral mode: +# "follow" - follow referrals automatically (the default) +# "ignore" - ignore referrals +# "throw" - throw ReferralException when a referral is encountered +ldap.referral = +# The attribute name for the user id, defaults to "uid" +ldap.attributenames.user.id = +# The attribute name for the email, defaults to "mail" +ldap.attributenames.email = +# The attribute name for the first name, defaults to "givenName" +ldap.attributenames.first.name = +# The attribute name for the last name, defaults to "sn" +ldap.attributenames.last.name = +# Set to true to also query for email aliases +ldap.queryEmailForAliases = true +# The query template, needs to contain %s which will be filled with the query term, e.g. uid=username +# The default is: +# ldap.queryTemplate = (&(objectClass=organizationalPerson)(objectCategory=person)(objectClass=user)(%s)) +# which is known to work for many Active Directory installations. +# For OpenLDAP, replace by: +# ldap.queryTemplate = (&(%s)) +# For restriction to BSSE accounts in OpenLDAP, set to: +# ldap.queryTemplate = (&(objectClass=bssePosixAccount)(%s)) +ldap.queryTemplate = +# The number of times a failed LDAP query is retried at the max. Default: 1. +ldap.maxRetries = +# The timeout (in ms) to wait for an LDAP query to return, -1 for "wait indefinitely". Default: 10000. +ldap.timeout = +# Time time (in ms) to wait after a failure before retrying the query. Default: 10000. +ldap.timeToWaitAfterFailure= + +# --------------------------------------------------------------------------- +# Anonymous login configuration (optional) +# --------------------------------------------------------------------------- +# Login of the existing user whose settings will be used for anonymous login +#user-for-anonymous-login = <user-login> + +# --------------------------------------------------------------------------- +# Client configuration +# --------------------------------------------------------------------------- +# Name of the file that stores Web Client configuration +web-client-configuration-file = etc/web-client.properties + +# A comma-separated list of trusted cross-origin domains, that are allowed to +# query openBIS content. Typically these are lightweight webapps that integrate with openBIS +# via JSON-RPC services, but are not directly hosted within the openBIS application. +# +# Example 1 (two different domains configured): +# +# trusted-cross-origin-domains=https://myapp.domain.com:8443, http://other.domain.com +# +# Example 2 (match every domain): +# +# trusted-cross-origin-domains= * +# +# The '*' matches any arbitrary domain. It should be used with care as it opens openBIS +# for potential cross-site scripting attacks. +# +#trusted-cross-origin-domains= + +# --------------------------------------------------------------------------- +# Session configuration +# --------------------------------------------------------------------------- +# The time after which an inactive session is expired by the service (in minutes). +session-timeout = 720 + +# --------------------------------------------------------------------------- +# Business rules configuration +# --------------------------------------------------------------------------- +# When set to "true" enables the system to store material codes containing non-alphanumeric characters. +# Regardless of the value of this property no white spaces are allowed in the material codes. +#material-relax-code-constraints=false + +# --------------------------------------------------------------------------- +# CIFEX connection configuration. +# --------------------------------------------------------------------------- +# The URL of the CIFEX server +cifex-url = https://cifex.ethz.ch:443 +# Cifex users that will receive and automatically manage uploaded data. +# The user names should be prepended with 'id:' prefix for example. +# Example: +# cifex-recipient = id:dropboxuser, id:backpuser +cifex-recipient = + +# --------------------------------------------------------------------------- +# Hibernate Search +# --------------------------------------------------------------------------- +# The working directory. +hibernate.search.index-base = ./indices +# One of NO_INDEX, SKIP_IF_MARKER_FOUND, INDEX_FROM_SCRATCH. +# If not specified, default (SKIP_IF_MARKER_FOUND) is taken. +hibernate.search.index-mode = SKIP_IF_MARKER_FOUND +# Defines the maximum number of elements indexed before flushing the transaction-bound queue. +# Default is 1000. +hibernate.search.batch-size = 1000 +# Maximum number of search results +hibernate.search.maxResults = 100000 +# If 'async', the update of indices will be done in a separate thread. +hibernate.search.worker.execution=async + +# --------------------------------------------------------------------------- +# Online Help +# --------------------------------------------------------------------------- +# Online help is broken into two sections -- generic and specific. Generic help links back to +# the CISD. Specific help is provided by the host of the installation +# +# OpenBIS needs to know the root URL for the online help and a template for the individual pages. +# The template should have on parameter, called title, and should be constructed to automatically +# create the page if it does not already exist. +# The template can be created by going to the root page, adding a new link to the page, and +# replacing the title of the new page with the ${title} +onlinehelp.generic.root-url = https://wiki-bsse.ethz.ch/display/CISDDoc/OnlineHelp +onlinehelp.generic.page-template = https://wiki-bsse.ethz.ch/pages/createpage.action?spaceKey=CISDDoc&title=${title}&linkCreation=true&fromPageId=40633829 +#onlinehelp.specific.root-url = https://wiki-bsse.ethz.ch/display/CISDDoc/OnlineHelp +#onlinehelp.specific.page-template = https://wiki-bsse.ethz.ch/pages/createpage.action?spaceKey=CISDDoc&title=${title}&linkCreation=true&fromPageId=40633829 + +# --------------------------------------------------------------------------- +# JMX memory monitor +# --------------------------------------------------------------------------- +# Interval between two runs of the memory monitor (in seconds). +# Set to -1 to disable the memory monitor. +memorymonitor-monitoring-interval = 60 +# Interval between two regular log call of the memory monitor (in seconds). +# Set to -1 to disable regular memory usage logging. +memorymonitor-log-interval = 3600 +# The percentage of memory that, if exceeded, triggers a notify log of the memory manager, +# Set to 100 to disable. +memorymonitor-high-watermark-percent = 90 + +# --------------------------------------------------------------------------- +# Database Configurations for Query module (optional) +# --------------------------------------------------------------------------- +# Comma separated keys of databases configured for Query module. +# Each database should have configuration properties prefixed with its key. +# Mandatory properties for each <database> include: +# <database>.label - name shown to the openBIS user when adding or editing a customized query +# <database>.database-driver - JDBC Driver of the database (e.g. org.postgresql.Driver) +# <database>.database-url - JDBC URL to the database (e.g. jdbc:postgresql://localhost/openbis) +# Optional properties for each <database> include: +# <database>.database-user - name of the database user (default: user.name from system properties) +# <database>.database-password - password of the database user +# <database>.creator-minimal-role - minimal role required to create/edit queries on this database (default: POWER_USER) +# <database>.data-space - If NOT specified OBSERVER of any space will be allowed to perform +# queries and <creator-minimal-role> of any space will allowed +# to create/edit queries on this DB. +# - If specified only OBSERVER of the space will be allowed to perform +# queries and <creator-minimal-role> of the space will allowed +# to create/edit queries on this DB. +#query-databases = openbisDB +# +#openbisDB.label = openBIS meta data +#openbisDB.data-space = CISD +#openbisDB.creator-minimal-role = SPACE_ADMIN +#openbisDB.database-driver = org.postgresql.Driver +#openbisDB.database-url = jdbc:postgresql://localhost/openbis_standard-technologies +#openbisDB.database-username = +#openbisDB.database-password = + +# --------------------------------------------------------------------------- +# Maintenance plugins configuration (optional) +# --------------------------------------------------------------------------- +# Comma separated names of maintenance plugins. +# Each plugin should have configuration properties prefixed with its name. +# Mandatory properties for each <plugin> include: +# <plugin>.class - Fully qualified plugin class name +# <plugin>.interval - The time between plugin executions (in seconds) +# Optional properties for each <plugin> include: +# <plugin>.start - Time of the first execution (HH:mm) +# <plugin>.execute-only-once - If true the task will be executed exactly once, +# interval will be ignored. By default set to false. +#maintenance-plugins = demo +# +#demo.class = ch.systemsx.cisd.openbis.generic.server.task.DemoMaintenanceTask +#demo.interval = 60 +#demo.property_1 = some value +#demo.property_2 = some value 2 + +# +# Internal - do not change +# + +# Authorization +# Supported: 'no-authorization' and 'active-authorization' +authorization-component-factory = active-authorization + +script-folder = . + diff --git a/js-test/servers/dsu/openBIS-server/etc/web-client.properties b/js-test/servers/dsu/openBIS-server/etc/web-client.properties new file mode 100644 index 0000000000000000000000000000000000000000..f946e8e9637b650d76c5bb464b0dffb5d75843af --- /dev/null +++ b/js-test/servers/dsu/openBIS-server/etc/web-client.properties @@ -0,0 +1,77 @@ +# Experimental: Enable moving entities to trash (non-permanent deletion). +# Default value: false +enable-trash = true + +# Default view mode that should be used if user doesn't have it specified in URL. +# Options: 'NORMAL' (standard mode - default), 'SIMPLE' (readonly mode with simplified GUI). +# +#default-view-mode = SIMPLE + +# Flag specifying whether default login mode is anonymous or not. +# If true a user-for-anonymous-login has to be defined in service.properties +# Default value: false +#default-anonymous-login = true + +# Maximal number of visible columns in tables. Default: 50. +max-visible-columns = 25 + +# Should the feature of adding unofficial/ad-hoc terms to vocabularies be turned on. +# Default value: false +allow-adding-unofficial-terms = true + +# (optional) List of data set types for which there should be an image overview shown in dataset tables. +# If not specified image overview will not be shown for any datasets. +data-set-types-with-image-overview = HCS_IMAGE, UNKNOWN + +# (optional) Allows power users adding vocabulary terms when editing the form. +# If not specified, default is false +# allow-adding-unofficial-terms = true + +# Configuration of entity (experiment, sample, data set, material) detail views. +# +# Mandatory properties: +# - view (entity detail view id) +# - types (list of entity type codes) +# Optional properties: +# - hide-sections (list of section ids) +# - hide-smart-view (removes "Smart View" from Data Set Detail View -> Data View) (generic_dataset_viewer) +# - hide-file-view (removes "File View" from Data Set Detail View -> Data View) (generic_dataset_viewer) +# Available sections in entity-detail-views: +# generic_dataset_viewer +# data-set-data-section +# data-set-parents-section +# data-set-children-section +# data-set-contained-section +# query-section +# generic_experiment_viewer +# data-sets-section +# attachment-section +# query-section +# experiment-sample-section +# generic_sample_viewer +# container-sample-section +# derived-samples-section +# parent-samples-section +# data-sets-section +# attachment-section +# query-section +# generic_material_viewer +# query-section +# +# Example: +# +detail-views = sample-view, experiment-view, data-view + +sample-view.view = generic_sample_viewer +sample-view.types = CELL_PLATE, CONTROL_LAYOUT +sample-view.hide-sections = attachment-section, module-section + +experiment-view.view = generic_experiment_viewer +experiment-view.types = COMPOUND_HCS +experiment-view.hide-sections = attachment-section + +data-view.view = generic_dataset_viewer +data-view.types = HCS_IMAGE +data-view.hide-smart-view = false +data-view.hide-file-view = false +