Compare commits

...

114 Commits

Author SHA1 Message Date
Luca Frosini 6c67cccd63 Improving code and logging 2024-04-29 17:23:39 +02:00
Luca Frosini 0c547f14e3 Fixing code 2024-04-24 16:37:41 +02:00
lucio 7ecf6a2f77 Merge branch 'master' of https://code-repo.d4science.org/gCubeSystem/accounting-lib.git 2023-08-03 17:59:25 +02:00
lucio 3a69a8dfca commit for release 2023-08-03 17:59:16 +02:00
luca.frosini 3910ed1bf0 Ignored MacOs File 2023-06-21 11:25:02 +02:00
lucio bdc6998f6d updated 2023-02-08 16:29:28 +01:00
Lucio Lelii 96979e9289 removed old providers moving to smartgears 4 2022-06-13 11:26:42 +02:00
Luca Frosini 7c0c1b1c90 Added deprecation annotation 2021-05-06 16:57:56 +02:00
Luca Frosini c7540455d8 suppressed deprecation warning 2021-04-16 10:03:38 +02:00
Luca Frosini 9011b0262d Fixed model 2021-04-15 17:58:06 +02:00
Luca Frosini 5637b3c0af Removed -SNAPSHOT for release 2021-04-14 15:51:07 +02:00
Luca Frosini 372b5a2e5d Deprecated not needed properties to reduce data and improve aggregation 2021-04-14 01:07:20 +02:00
Luca Frosini b2a8885fe3 fixed tests 2021-04-14 00:55:43 +02:00
Luca Frosini d516325660 Merge branch 'feature/18053' of gitea@code-repo.d4science.org:gCubeSystem/accounting-lib.git into feature/18053 2021-04-13 21:26:47 +02:00
Luca Frosini 248c745e69 Deprecating not needed fields 2021-04-13 21:26:27 +02:00
Luca Frosini 841a1e45e6 Recompiled rules 2021-04-12 16:49:17 +02:00
Luca Frosini ffb9220fb2 Updated regex and added about 200.000 validation rows 2021-04-09 23:05:43 +02:00
Luca Frosini 26bc2e2128 Fixed version on CHANGELOG 2020-10-29 19:17:42 +01:00
Luca Frosini 16c3da5a65 Removed -SNAPSHOT from version and lower bound dependencies range to
release the component refs #17279
2020-10-29 17:18:55 +01:00
Luca Frosini e7cd46c5c6 Fixed changelog 2020-08-05 12:12:15 +02:00
Luca Frosini bb495149ab Fixed CHANGELOG according to the new template 2020-08-03 16:20:06 +02:00
Luca Frosini 86c98b84d0 Fixed CHANGELOG.md 2020-07-30 16:01:54 +02:00
Luca Frosini 234e81613a Removed section added to overcome maven-parent issues. The issue must be
solved in maven-parent, not here.
2020-07-24 13:10:11 +02:00
Luca Frosini 0f6790f3d4 Fixed CHANGELOG.md 2020-07-15 16:51:48 +02:00
Luca Frosini d965d63ed3 Switched changelog to the new format 2020-07-15 16:17:01 +02:00
Luca Frosini af48d1929c Removed service-archive generation which is deprecated and added a
section to include required resource files (i.e. LICENSE.md and files
for service loader)
2020-07-15 16:16:40 +02:00
Luca Frosini 5bc7453225 Switching to gcube-jackson 2020-07-10 18:30:52 +02:00
Luca Frosini 83820adbcf Fixed SmartExecutor rules 2020-04-11 00:06:48 +02:00
Luca Frosini ad54aa46d6 Added perform-service rules #19025 2020-04-10 16:01:58 +02:00
Luca Frosini ffbca01f18 Added Smaph and 3MConnector rules 2020-04-10 15:19:55 +02:00
Luca Frosini e45a17f543 Regenerated all rules 2020-04-10 15:09:31 +02:00
Luca Frosini e3d4611bb9 Fxing and adding rules 2020-04-10 15:07:54 +02:00
Luca Frosini e229f7278e Fixed ICProxy calledMethod 2020-04-08 20:43:31 +02:00
Luca Frosini d771bcb5b0 Fixed StorageHub rules 2020-04-06 17:12:43 +02:00
Luca Frosini e0bbc9268e Fixing rules 2020-04-06 15:46:27 +02:00
Luca Frosini 02e390ca60 Added ServiceClass for Thredds 2020-04-06 15:42:13 +02:00
Luca Frosini e5ffc25d34 Adding and fixing rules 2020-04-06 15:41:42 +02:00
Luca Frosini 02854fab2c Regenerating allRules files 2020-04-03 17:00:51 +02:00
Luca Frosini 875f34c86b Fixing StorageHug rules 2020-04-03 16:56:58 +02:00
Luca Frosini 4384074a8f Adding StorageHubg rules 2020-04-03 16:46:01 +02:00
Luca Frosini 5d5570adeb Adding StorageHub rules 2020-04-03 16:36:13 +02:00
Luca Frosini 458c274186 Adding StorageHub rules 2020-04-03 16:16:45 +02:00
Luca Frosini e73126d5c2 Adding rules for StorageHub 2020-04-03 15:34:15 +02:00
Luca Frosini 185e104127 Adding StorageHub rules 2020-04-03 14:36:28 +02:00
Luca Frosini d53dd33644 Adding StorageHub rules 2020-04-03 14:17:28 +02:00
Luca Frosini 4043693338 Adding URIResolver rules 2020-04-02 17:00:53 +02:00
Luca Frosini 4d46476c9e Updated rules 2020-04-01 16:30:20 +02:00
Luca Frosini efa6c47c26 Added and fixed rules 2020-04-01 16:11:47 +02:00
Luca Frosini f657e1c4b4 Adding and fixing rules 2020-04-01 15:20:31 +02:00
Luca Frosini fbbfa34702 Adding and fixing rules 2020-04-01 12:02:38 +02:00
Luca Frosini 4bdb6f8ae3 Fixed rules 2020-03-31 18:00:51 +02:00
Luca Frosini f379063638 Added and fixed rules 2020-03-31 16:47:56 +02:00
Luca Frosini 34935414ea Adding and fixing rules 2020-03-31 16:16:05 +02:00
Luca Frosini ead2ad393b Improved rules for data-transfer-service 2020-03-26 15:10:49 +01:00
Luca Frosini a59c89ae8f Fixed rules and added new ones 2020-03-25 14:57:47 +01:00
Luca Frosini 650244485c Added new rules and fixed existing ones 2020-03-24 20:19:41 +01:00
Luca Frosini 1b3008e654 Fixed rules and test data 2020-03-23 18:05:02 +01:00
Luca Frosini 9505d86d81 Fixing rules 2020-03-23 18:04:40 +01:00
Luca Frosini d17a98cbaa Fixed bug 2020-03-23 12:33:07 +01:00
Luca Frosini 45e1577dfe Improved rules 2020-03-20 16:55:13 +01:00
Luca Frosini d4437c7e84 Fixed rules 2020-03-19 16:52:45 +01:00
Luca Frosini 242a88e661 Fixed GeoServer rules 2020-03-17 15:46:53 +01:00
Luca Frosini 0cdc4aba75 Forced SDI as service class for all the spatial data services 2020-03-17 10:47:25 +01:00
Luca Frosini 340563dde6 Updated all rules files 2020-03-16 16:35:23 +01:00
Luca Frosini 0bb35b2b84 Fixed rules for GRSF Publisher 2020-03-16 16:33:34 +01:00
Luca Frosini 94625ab6ce Fixed GeoNetwork rules to replace SpatialData serviceClass with SDI 2020-03-16 16:25:27 +01:00
Luca Frosini 1deed3256b Added rules for resource-registry 2020-03-12 19:47:10 +01:00
Luca Frosini e151b63f09 Ading resource-regsitry rules 2020-03-12 16:28:50 +01:00
Luca Frosini cc6878dca2 Fixed changelog 2020-03-06 18:55:14 +01:00
Luca Frosini c4b6808b36 Properly terminating RegexRulesAggregator scheduled thread. 2020-03-06 17:57:44 +01:00
Luca Frosini 04b2b6e89b Fixed GeoNetwork rules 2020-03-06 11:36:08 +01:00
Luca Frosini f345679c89 Adding rules for GeoNetwork 2020-03-05 18:03:17 +01:00
Luca Frosini c02a374ecf Added rules for GeoServer refs #18069 2020-02-14 16:45:48 +01:00
Luca Frosini 7655b4089d Added OTHER rule for Thredds 2020-01-13 16:53:35 +01:00
Luca Frosini 2d8ca8e1f3 Added rule for Thredds METADATA::OTHER 2020-01-13 14:41:24 +01:00
Luca Frosini e2258102d6 Fixed rule for METADATA::COLLECTION 2020-01-08 16:07:38 +01:00
Luca Frosini 58f9dc9cad Fixed Rule for METADATA::COLLECTION 2020-01-08 16:07:13 +01:00
Luca Frosini 6b7feaee29 Fixing rules 2020-01-07 11:23:25 +01:00
Luca Frosini 5f82f611c3 Adding/fixing aggregation rules 2020-01-07 11:07:06 +01:00
Luca Frosini 97d3b55322 fixed rules 2019-12-16 14:59:20 +01:00
Luca Frosini 7e0cbeb503 Removed and ingored eclipse project files 2019-12-10 09:40:30 +01:00
Luca Frosini e0a91e0d19 Fixed distro files and pom 2019-12-06 15:12:55 +01:00
Luca Frosini e0f7710cee Fixed pom 2019-12-05 12:41:02 +01:00
Luca Frosini 0010d60026 Adde rules for geoanalytics-gos refs #18080 2019-12-02 16:01:50 +01:00
Luca Frosini 6b15c2cb0a Simplified Simulfish Grow Data by setting all calledMethod to UNKNOWN 2019-12-02 15:45:46 +01:00
Luca Frosini 0d33c3901e Added rules for DataMiner refs #18078 2019-12-02 15:40:13 +01:00
Luca Frosini eeb8f9b8d7 Added code to test usage record aggregation with new MatcherReplacer
refs #18087
2019-11-26 11:50:31 +01:00
Luca Frosini d72858196c Fixed method name 2019-11-26 11:48:31 +01:00
Luca Frosini b3f0754615 Added rules for SmartExecutor refs #18074 2019-11-25 17:34:32 +01:00
Luca Frosini aac55d6a34 Changed the way the test are executed. The matched defined for a certain
rule are use to test that they does not match other rules
2019-11-25 17:33:44 +01:00
Luca Frosini c09944d4e9 Added rules for GRSFPublisher refs #18057 2019-11-25 11:04:53 +01:00
Luca Frosini c2d006b996 Changed the file naming (i.e. remove -rule and -values) 2019-11-25 10:54:01 +01:00
Luca Frosini 26afb0a5a4 Added rules for 'storage' refs #18079 2019-11-22 17:39:04 +01:00
Luca Frosini b41507522b Added rules for SimulFishGrowthData refs #18052 2019-11-22 16:20:53 +01:00
Luca Frosini b381e98688 Added rules for data-transfer-service refs #10645 2019-11-22 12:55:19 +01:00
Luca Frosini 2e66d3f7c1 Added rules for geoanalytics-main-service refs #18081 2019-11-21 18:23:41 +01:00
Luca Frosini 3081ec378b Added ShareLatex rules refs #18060 2019-11-21 17:49:58 +01:00
Luca Frosini 0cc9613413 Added rules for RConnector refs #18059 2019-11-15 17:56:03 +01:00
Luca Frosini 850159db4b Imports cleaned 2019-11-15 17:00:55 +01:00
Luca Frosini 85ffffe272 Moved rules in a dedicated folder 2019-11-15 17:00:14 +01:00
Luca Frosini 7eaa611767 Added rules for Catalogue-WS refs #18056 2019-11-15 16:42:11 +01:00
Luca Frosini 0f7fbaf79f Completed FullTextIndexNode refs #18054 2019-11-15 15:59:46 +01:00
Luca Frosini c661f9a52c Refactoring tests 2019-11-15 14:43:48 +01:00
Luca Frosini 64f35ff0b6 Fixed test 2019-11-15 14:41:13 +01:00
Luca Frosini 2cf3b76a68 Enhanced test to test all rules such as just one 2019-11-15 14:40:11 +01:00
Luca Frosini 264d22b3a0 Adding the possibility to replace serviceClass and serviceName apart
calledMethod
2019-11-15 13:38:37 +01:00
Luca Frosini c0d50f7c3a Added rules for FullTextIndexNode 2019-11-14 18:13:36 +01:00
Luca Frosini 7f0ae4a681 Fixed rules 2019-11-14 18:13:08 +01:00
Luca Frosini 7bf508a480 Simplified and generalised regular expression for generate and retrieve 2019-11-13 16:59:15 +01:00
Luca Frosini 9990ea57e8 Added CkanConnetor rules 2019-11-13 16:58:40 +01:00
Luca Frosini 5b53d12ce2 Fixed regular expression 2019-11-13 15:50:34 +01:00
Luca Frosini 02b4bcff38 Enhanced version 2019-11-13 15:39:23 +01:00
Luca Frosini f6f7466839 Added tests for calledMethod aggregation 2019-11-13 15:38:49 +01:00
Luca Frosini a6d3ec40c1 Switched deprecated API to the new one. 2019-11-13 11:33:20 +01:00
294 changed files with 224084 additions and 808 deletions

View File

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

4
.gitignore vendored
View File

@ -1 +1,5 @@
target
.classpath
.project
/.settings/
/.DS_Store

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>accounting-lib-trunk_ultimo</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

102
CHANGELOG.md Normal file
View File

@ -0,0 +1,102 @@
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
# Changelog for Accounting Library
## [v5.0.0-SNAPSHOT]
- removed old Providers
- Added compatibility between smartgears 3 and smartgears 4 component
## [v4.1.0]
- Deprecated not needed properties to reduce data and improve aggregation
- Improved regex to comply with new version of Thredds called methods [#18053]
## [v4.0.0] [r.5.0.0] -
- Switched JSON management to gcube-jackson [#19115]
- Properly terminated RegexRulesAggregator scheduled thread [#18547]
- Added improved version of calledMethod rewrite for aggregation [#10645]
## [v3.5.0] - 2019-11-06
- Removed usage of deprecated APIs
## [v3.4.0] [r4.12.1] - 2018-10-10
- Fixed backends factory management
- Using different pools for Scheduled Thread [#12184]
## [v3.3.0] [r4.11.0] - 2018-04-12
- Added support to retrieve Accounting Regex rules through Service Endpoint [#11230]
- Added LOCAL as additional value of DataType
## [v3.2.0] [r4.10.0] - 2018-02-15
- Changed pom.xml to use new make-servicearchive directive [#10142]
- Added the possibility to rewrite the calledMethod by matching a regular expression [#10646]
## [v3.1.0] [r4.7.0] - 2017-12-06
- Refined Jackson support [#9617]
- Changed JobUsageRecord Model [#9646]
- Removed TaskUsageRecord [#9647]
## [v3.0.0] [r4.5.0] - 2017-06-07
- Added Jackson support on Usage Record model to allow to use it for marshalling and unmarshalling
## [v2.4.1] [r4.4.0] - 2017-05-02
- Added shutdown() method to pass to document store lib [#7345]
## [v2.4.0] [r4.3.0] - 2017-03-16
- Added new Usage Record (StorageStatusRecord) [#5789]
## [v2.3.0] [r4.1.0] - 2016-11-07
- Added callerQualifier field to ServiceUsageRecord [#4949]
## [v2.2.0] [r3.11.0] - 2016-05-18
- Removed dependency over reflection library [#2358]
## [v2.1.0] [r3.10.1] - 2016-04-08
- Ready for ScopeProvider Removal [#2201]
- Fixed Bug on StorageUsageRecord aggregation [#2316]
- Fixed Bug on recovery of UsageRecords accounted on Fallback [#2437]
## [v2.0.0] [r3.10.0] - 2016-02-08
- Separated Accounting Model and generalize solution. The library now depends from document-store-lib [#1746]
- UsageRecords discovered dynamically on classpath [#1295]
- Persistence is re-checked every 10 minutes when Fallback is used [#1349]
- Repetitive thread retry to persist UsageRecords accounted on Fallback [#1352]
## [v1.1.0] [r3.9.0] - 2015-12-09
- Changed Single and Aggregated classes names to avoid mistakes for the developers [#436]
## [v1.0.0] - 2015-10-01
- First Release [#200]

312
LICENSE.md Normal file
View File

@ -0,0 +1,312 @@
# European Union Public Licence V. 1.1
EUPL © the European Community 2007
This European Union Public Licence (the “EUPL”) applies to the Work or Software
(as defined below) which is provided under the terms of this Licence. Any use of
the Work, other than as authorised under this Licence is prohibited (to the
extent such use is covered by a right of the copyright holder of the Work).
The Original Work is provided under the terms of this Licence when the Licensor
(as defined below) has placed the following notice immediately following the
copyright notice for the Original Work:
Licensed under the EUPL V.1.1
or has expressed by any other mean his willingness to license under the EUPL.
## 1. Definitions
In this Licence, the following terms have the following meaning:
- The Licence: this Licence.
- The Original Work or the Software: the software distributed and/or
communicated by the Licensor under this Licence, available as Source Code and
also as Executable Code as the case may be.
- Derivative Works: the works or software that could be created by the Licensee,
based upon the Original Work or modifications thereof. This Licence does not
define the extent of modification or dependence on the Original Work required
in order to classify a work as a Derivative Work; this extent is determined by
copyright law applicable in the country mentioned in Article 15.
- The Work: the Original Work and/or its Derivative Works.
- The Source Code: the human-readable form of the Work which is the most
convenient for people to study and modify.
- The Executable Code: any code which has generally been compiled and which is
meant to be interpreted by a computer as a program.
- The Licensor: the natural or legal person that distributes and/or communicates
the Work under the Licence.
- Contributor(s): any natural or legal person who modifies the Work under the
Licence, or otherwise contributes to the creation of a Derivative Work.
- The Licensee or “You”: any natural or legal person who makes any usage of the
Software under the terms of the Licence.
- Distribution and/or Communication: any act of selling, giving, lending,
renting, distributing, communicating, transmitting, or otherwise making
available, on-line or off-line, copies of the Work or providing access to its
essential functionalities at the disposal of any other natural or legal
person.
## 2. Scope of the rights granted by the Licence
The Licensor hereby grants You a world-wide, royalty-free, non-exclusive,
sub-licensable licence to do the following, for the duration of copyright vested
in the Original Work:
- use the Work in any circumstance and for all usage, reproduce the Work, modify
- the Original Work, and make Derivative Works based upon the Work, communicate
- to the public, including the right to make available or display the Work or
- copies thereof to the public and perform publicly, as the case may be, the
- Work, distribute the Work or copies thereof, lend and rent the Work or copies
- thereof, sub-license rights in the Work or copies thereof.
Those rights can be exercised on any media, supports and formats, whether now
known or later invented, as far as the applicable law permits so.
In the countries where moral rights apply, the Licensor waives his right to
exercise his moral right to the extent allowed by law in order to make effective
the licence of the economic rights here above listed.
The Licensor grants to the Licensee royalty-free, non exclusive usage rights to
any patents held by the Licensor, to the extent necessary to make use of the
rights granted on the Work under this Licence.
## 3. Communication of the Source Code
The Licensor may provide the Work either in its Source Code form, or as
Executable Code. If the Work is provided as Executable Code, the Licensor
provides in addition a machine-readable copy of the Source Code of the Work
along with each copy of the Work that the Licensor distributes or indicates, in
a notice following the copyright notice attached to the Work, a repository where
the Source Code is easily and freely accessible for as long as the Licensor
continues to distribute and/or communicate the Work.
## 4. Limitations on copyright
Nothing in this Licence is intended to deprive the Licensee of the benefits from
any exception or limitation to the exclusive rights of the rights owners in the
Original Work or Software, of the exhaustion of those rights or of other
applicable limitations thereto.
## 5. Obligations of the Licensee
The grant of the rights mentioned above is subject to some restrictions and
obligations imposed on the Licensee. Those obligations are the following:
Attribution right: the Licensee shall keep intact all copyright, patent or
trademarks notices and all notices that refer to the Licence and to the
disclaimer of warranties. The Licensee must include a copy of such notices and a
copy of the Licence with every copy of the Work he/she distributes and/or
communicates. The Licensee must cause any Derivative Work to carry prominent
notices stating that the Work has been modified and the date of modification.
Copyleft clause: If the Licensee distributes and/or communicates copies of the
Original Works or Derivative Works based upon the Original Work, this
Distribution and/or Communication will be done under the terms of this Licence
or of a later version of this Licence unless the Original Work is expressly
distributed only under this version of the Licence. The Licensee (becoming
Licensor) cannot offer or impose any additional terms or conditions on the Work
or Derivative Work that alter or restrict the terms of the Licence.
Compatibility clause: If the Licensee Distributes and/or Communicates Derivative
Works or copies thereof based upon both the Original Work and another work
licensed under a Compatible Licence, this Distribution and/or Communication can
be done under the terms of this Compatible Licence. For the sake of this clause,
“Compatible Licence” refers to the licences listed in the appendix attached to
this Licence. Should the Licensees obligations under the Compatible Licence
conflict with his/her obligations under this Licence, the obligations of the
Compatible Licence shall prevail.
Provision of Source Code: When distributing and/or communicating copies of the
Work, the Licensee will provide a machine-readable copy of the Source Code or
indicate a repository where this Source will be easily and freely available for
as long as the Licensee continues to distribute and/or communicate the Work.
Legal Protection: This Licence does not grant permission to use the trade names,
trademarks, service marks, or names of the Licensor, except as required for
reasonable and customary use in describing the origin of the Work and
reproducing the content of the copyright notice.
## 6. Chain of Authorship
The original Licensor warrants that the copyright in the Original Work granted
hereunder is owned by him/her or licensed to him/her and that he/she has the
power and authority to grant the Licence.
Each Contributor warrants that the copyright in the modifications he/she brings
to the Work are owned by him/her or licensed to him/her and that he/she has the
power and authority to grant the Licence.
Each time You accept the Licence, the original Licensor and subsequent
Contributors grant You a licence to their contributions to the Work, under the
terms of this Licence.
## 7. Disclaimer of Warranty
The Work is a work in progress, which is continuously improved by numerous
contributors. It is not a finished work and may therefore contain defects or
“bugs” inherent to this type of software development.
For the above reason, the Work is provided under the Licence on an “as is” basis
and without warranties of any kind concerning the Work, including without
limitation merchantability, fitness for a particular purpose, absence of defects
or errors, accuracy, non-infringement of intellectual property rights other than
copyright as stated in Article 6 of this Licence.
This disclaimer of warranty is an essential part of the Licence and a condition
for the grant of any rights to the Work.
## 8. Disclaimer of Liability
Except in the cases of wilful misconduct or damages directly caused to natural
persons, the Licensor will in no event be liable for any direct or indirect,
material or moral, damages of any kind, arising out of the Licence or of the use
of the Work, including without limitation, damages for loss of goodwill, work
stoppage, computer failure or malfunction, loss of data or any commercial
damage, even if the Licensor has been advised of the possibility of such
damage. However, the Licensor will be liable under statutory product liability
laws as far such laws apply to the Work.
## 9. Additional agreements
While distributing the Original Work or Derivative Works, You may choose to
conclude an additional agreement to offer, and charge a fee for, acceptance of
support, warranty, indemnity, or other liability obligations and/or services
consistent with this Licence. However, in accepting such obligations, You may
act only on your own behalf and on your sole responsibility, not on behalf of
the original Licensor or any other Contributor, and only if You agree to
indemnify, defend, and hold each Contributor harmless for any liability incurred
by, or claims asserted against such Contributor by the fact You have accepted
any such warranty or additional liability.
## 10. Acceptance of the Licence
The provisions of this Licence can be accepted by clicking on an icon “I agree”
placed under the bottom of a window displaying the text of this Licence or by
affirming consent in any other similar way, in accordance with the rules of
applicable law. Clicking on that icon indicates your clear and irrevocable
acceptance of this Licence and all of its terms and conditions.
Similarly, you irrevocably accept this Licence and all of its terms and
conditions by exercising any rights granted to You by Article 2 of this Licence,
such as the use of the Work, the creation by You of a Derivative Work or the
Distribution and/or Communication by You of the Work or copies thereof.
## 11. Information to the public
In case of any Distribution and/or Communication of the Work by means of
electronic communication by You (for example, by offering to download the Work
from a remote location) the distribution channel or media (for example, a
website) must at least provide to the public the information requested by the
applicable law regarding the Licensor, the Licence and the way it may be
accessible, concluded, stored and reproduced by the Licensee.
## 12. Termination of the Licence
The Licence and the rights granted hereunder will terminate automatically upon
any breach by the Licensee of the terms of the Licence.
Such a termination will not terminate the licences of any person who has
received the Work from the Licensee under the Licence, provided such persons
remain in full compliance with the Licence.
## 13. Miscellaneous
Without prejudice of Article 9 above, the Licence represents the complete
agreement between the Parties as to the Work licensed hereunder.
If any provision of the Licence is invalid or unenforceable under applicable
law, this will not affect the validity or enforceability of the Licence as a
whole. Such provision will be construed and/or reformed so as necessary to make
it valid and enforceable.
The European Commission may publish other linguistic versions and/or new
versions of this Licence, so far this is required and reasonable, without
reducing the scope of the rights granted by the Licence. New versions of the
Licence will be published with a unique version number.
All linguistic versions of this Licence, approved by the European Commission,
have identical value. Parties can take advantage of the linguistic version of
their choice.
## 14. Jurisdiction
Any litigation resulting from the interpretation of this License, arising
between the European Commission, as a Licensor, and any Licensee, will be
subject to the jurisdiction of the Court of Justice of the European Communities,
as laid down in article 238 of the Treaty establishing the European Community.
Any litigation arising between Parties, other than the European Commission, and
resulting from the interpretation of this License, will be subject to the
exclusive jurisdiction of the competent court where the Licensor resides or
conducts its primary business.
## 15. Applicable Law
This Licence shall be governed by the law of the European Union country where
the Licensor resides or has his registered office.
This licence shall be governed by the Belgian law if:
- a litigation arises between the European Commission, as a Licensor, and any
- Licensee; the Licensor, other than the European Commission, has no residence
- or registered office inside a European Union country.
## Appendix
“Compatible Licences” according to article 5 EUPL are:
- GNU General Public License (GNU GPL) v. 2
- Open Software License (OSL) v. 2.1, v. 3.0
- Common Public License v. 1.0
- Eclipse Public License v. 1.0
- Cecill v. 2.0

71
README.md Normal file
View File

@ -0,0 +1,71 @@
# Accounting Library
Accounting Library is responsible of collecting, harmonizing and storing Accounting data.
## Built With
* [OpenJDK](https://openjdk.java.net/) - The JDK used
* [Maven](https://maven.apache.org/) - Dependency Management
## Documentation
[Accounting Library](https://wiki.gcube-system.org/gcube/Accounting_Library)
## Change log
See [Releases](https://code-repo.d4science.org/gCubeSystem/accounting-lib/releases).
## Authors
* **Luca Frosini** ([ORCID](https://orcid.org/0000-0003-3183-2291)) - [ISTI-CNR Infrascience Group](http://nemis.isti.cnr.it/groups/infrascience)
## How to Cite this Software
Tell people how to cite this software.
* Cite an associated paper?
* Use a specific BibTeX entry for the software?
@Manual{,
title = {Accounting Library},
author = {{Frosini, Luca}},
organization = {ISTI - CNR},
address = {Pisa, Italy},
year = 2019,
url = {http://www.gcube-system.org/}
}
## License
This project is licensed under the EUPL V.1.1 License - see the [LICENSE.md](LICENSE.md) file for details.
## About the gCube Framework
This software is part of the [gCubeFramework](https://www.gcube-system.org/ "gCubeFramework"): an
open-source software toolkit used for building and operating Hybrid Data
Infrastructures enabling the dynamic deployment of Virtual Research Environments
by favouring the realisation of reuse oriented policies.
The projects leading to this software have received funding from a series of European Union programmes including:
- the Sixth Framework Programme for Research and Technological Development
- DILIGENT (grant no. 004260).
- the Seventh Framework Programme for research, technological development and demonstration
- D4Science (grant no. 212488);
- D4Science-II (grant no.239019);
- ENVRI (grant no. 283465);
- iMarine(grant no. 283644);
- EUBrazilOpenBio (grant no. 288754).
- the H2020 research and innovation programme
- SoBigData (grant no. 654024);
- PARTHENOS (grant no. 654119);
- EGIEngage (grant no. 654142);
- ENVRIplus (grant no. 654182);
- BlueBRIDGE (grant no. 675680);
- PerformFish (grant no. 727610);
- AGINFRAplus (grant no. 731001);
- DESIRA (grant no. 818194);
- ARIADNEplus (grant no. 823914);
- RISIS2 (grant no. 824091);

View File

@ -1,4 +0,0 @@
gCube System - License
------------------------------------------------------------
${gcube.license}

View File

@ -1,67 +0,0 @@
The gCube System - ${name}
--------------------------------------------------
${description}
${gcube.description}
${gcube.funding}
Version
--------------------------------------------------
${version} (${buildDate})
Please see the file named "changelog.xml" in this directory for the release notes.
Authors
--------------------------------------------------
* Luca Frosini (luca.frosini-AT-isti.cnr.it), Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo" - CNR, Pisa (Italy).
* Alessandro Pieve (alessandro.pieve-AT-isti.cnr.it), Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo" - CNR, Pisa (Italy).
Maintainers
-----------
* Luca Frosini (luca.frosini-AT-isti.cnr.it), Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo" - CNR, Pisa (Italy).
Download information
--------------------------------------------------
Source code is available from SVN:
${scm.url}
Binaries can be downloaded from the gCube website:
${gcube.website}
Installation
--------------------------------------------------
Installation documentation is available on-line in the gCube Wiki:
${gcube.wikiRoot}/Accounting_Lib
Documentation
--------------------------------------------------
Documentation is available on-line in the gCube Wiki:
${gcube.wikiRoot}/Accounting_Lib
Support
--------------------------------------------------
Bugs and support requests can be reported in the gCube issue tracking tool:
${gcube.issueTracking}
Licensing
--------------------------------------------------
This software is licensed under the terms you may find in the file named "LICENSE" in this directory.

View File

@ -1,55 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<ReleaseNotes>
<Changeset component="org.gcube.accounting.accounting-lib.3-5-0" date="${buildDate}">
<Change></Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.3-4-0" date="2018-10-10">
<Change>Fixed backends factory management</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.3-3-0" date="2018-04-12">
<Change>Added support to retrieve Accounting Regex rules through Service Endpoint #11230</Change>
<Change>Added LOCAL as additional value of DataType</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.3-2-0" date="2017-02-15">
<Change>Changed pom.xml to use new make-servicearchive directive #10142</Change>
<Change>Added the possibility to rewrite the calledMethod which match a regular expression #10646</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.3-1-0" date="2017-10-09">
<Change>Refined Jackson support #9617</Change>
<Change>Changed JobUsageRecord Model #9646</Change>
<Change>Removed TaskUsageRecord #9647</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.3-0-0" date="2017-06-07">
<Change>Added Jackson support on Usage Record model to allow to use it for marshalling and unmarshalling</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.2-4-1" date="2017-05-02">
<Change>Added shutdown() method to pass to document store lib</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.2-4-0" date="2017-03-16">
<Change>Added new Usage Record (StorageStatusRecord)</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.2-3-0" date="2016-11-07">
<Change>Added callerQualifier field to ServiceUsageRecord #4949</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.2-2-0" date="2016-05-18">
<Change>Removed dependency over reflection library (refs #2358)</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.2-1-0" date="2016-04-08">
<Change>Ready for ScopeProvider Removal #2194</Change>
<Change>Fixed Bug on StorageUsageRecord aggregation #2316</Change>
<Change>Fixed Bug on recovery of UsageRecords accounted on Fallback</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.2-0-0" date="2016-02-08">
<Change>Separated Accounting Model and generalize solution. the library now depends from document-store-lib #1746</Change>
<Change>Managed UsageRecords discovered dinamically on classpath #1295</Change>
<Change>Persistence is re-checked every 10 min when Fallback is used #1349</Change>
<Change>Repetitive thread retry to persist UsageRecords accounted on Fallback #1352</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.1-1-0" date="2015-12-09">
<Change>Changed Single and Aggregated classes names to avoid mistakes for the developers.</Change>
</Changeset>
<Changeset component="org.gcube.accounting.accounting-lib.1-0-0" date="2015-05-27">
<Change>First Release</Change>
</Changeset>
</ReleaseNotes>

View File

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<Resource>
<ID />
<Type>Service</Type>
<Profile>
<Description>${description}</Description>
<Class>${serviceClass}</Class>
<Name>${artifactId}</Name>
<Version>1.0.0</Version>
<Packages>
<Software>
<Description>${description}</Description>
<Name>${artifactId}</Name>
<Version>${version}</Version>
<MavenCoordinates>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
</MavenCoordinates>
<Type>Library</Type>
<Files>
<File>${build.finalName}.${project.packaging}</File>
</Files>
</Software>
</Packages>
</Profile>
</Resource>

78
pom.xml
View File

@ -1,54 +1,38 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.gcube.tools</groupId>
<artifactId>maven-parent</artifactId>
<version>1.1.0</version>
<version>1.2.0</version>
</parent>
<groupId>org.gcube.accounting</groupId>
<artifactId>accounting-lib</artifactId>
<version>3.5.0</version>
<version>5.0.0-SNAPSHOT</version>
<name>Accounting Library</name>
<description>Accounting Library</description>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<distroDirectory>${project.basedir}/distro</distroDirectory>
<serviceClass>Accounting</serviceClass>
</properties>
<scm>
<connection>scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git</connection>
<developerConnection>scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git</developerConnection>
<url>https://code-repo.d4science.org/gCubeSystem/${project.artifactId}</url>
</scm>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.gcube.distribution</groupId>
<artifactId>gcube-bom</artifactId>
<version>LATEST</version>
<version>3.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.gcube.common</groupId>
<artifactId>authorization-client</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.common</groupId>
<artifactId>common-authorization</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.data.publishing</groupId>
<artifactId>document-store-lib</artifactId>
@ -56,47 +40,29 @@
<dependency>
<groupId>org.gcube.resources.discovery</groupId>
<artifactId>ic-client</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.resources.discovery</groupId>
<artifactId>discovery-client</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.resources</groupId>
<artifactId>common-gcore-resources</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.core</groupId>
<artifactId>common-encryption</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<groupId>org.gcube.common</groupId>
<artifactId>gcube-jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
<groupId>org.gcube.common</groupId>
<artifactId>common-utility-sg4</artifactId>
</dependency>
<!-- Test Dependencies -->
<dependency>
<groupId>org.gcube.common.security</groupId>
<artifactId>gcube-secrets</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
@ -106,23 +72,7 @@
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>make-servicearchive</id>
<phase>package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -8,27 +8,32 @@ import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
import org.gcube.accounting.datamodel.validations.validators.RegexReplace;
import org.gcube.accounting.datamodel.validations.validators.MatcherReplace;
import org.gcube.accounting.persistence.AccountingPersistenceConfiguration;
import org.gcube.com.fasterxml.jackson.databind.JavaType;
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
import org.gcube.documentstore.persistence.ExecutorUtils;
import org.gcube.documentstore.records.DSMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
public class RegexRulesAggregator implements Runnable {
private static final Logger logger = LoggerFactory.getLogger(RegexRulesAggregator.class);
private static final ScheduledExecutorService REGEX_REDISCOVERY_POOL;
public static final ScheduledExecutorService REGEX_REDISCOVERY_POOL;
protected static final String DELAY = "delay";
protected static final String TIME_UNIT = "timeUnit";
protected static final String MATCHER_REPLACE_RULES = "MatcherReplaceRules";
static {
REGEX_REDISCOVERY_POOL = Executors.newScheduledThreadPool(50, new ThreadFactory() {
private int counter = 0;
private static final String prefix = "RegexRediscoveryThread";
private static final String prefix = "AggregationRegexRediscoveryThread";
public Thread newThread(Runnable r) {
return new Thread(r, prefix + "-" + counter++);
@ -37,23 +42,21 @@ public class RegexRulesAggregator implements Runnable {
}
protected TimeUnit timeUnit = TimeUnit.MINUTES;
protected long delay = TimeUnit.MINUTES.toMinutes(15);
protected static final String DELAY = "delay";
protected static final String TIME_UNIT = "timeUnit";
protected static final String JSON_ARRAY_CALLED_METHOD_RULES = "jsonArrayCalledMethodRules";
protected ScheduledFuture<?> rulesReloader;
protected List<RegexReplace> regexReplaceList;
protected List<MatcherReplace> matcherReplaceList;
protected AccountingPersistenceConfiguration accountingPersistenceConfiguration;
protected static RegexRulesAggregator instance;
protected boolean changeRate;
protected ScheduledFuture<?> reloadAggregatorRules;
public synchronized static RegexRulesAggregator getInstance() {
if(instance==null) {
instance = new RegexRulesAggregator();
@ -62,51 +65,64 @@ public class RegexRulesAggregator implements Runnable {
}
protected RegexRulesAggregator() {
regexReplaceList = new ArrayList<>();
matcherReplaceList = new ArrayList<>();
changeRate = false;
readConfiguration();
}
public List<RegexReplace> getRegexReplaceList() {
synchronized(regexReplaceList) {
return regexReplaceList;
public List<MatcherReplace> getMatcherReplaceList() {
synchronized(matcherReplaceList) {
return matcherReplaceList;
}
}
public RegexReplace addRegexReplace(String serviceClass, String serviceName, String regex, String replace) {
RegexReplace regexReplace = new RegexReplace(serviceClass, serviceName, regex, replace);
return addRegexReplace(regexReplace);
}
public RegexReplace addRegexReplace(RegexReplace regexReplace) {
synchronized(regexReplaceList) {
regexReplaceList.add(regexReplace);
public MatcherReplace addMatcherReplace(MatcherReplace matcherReplace) {
synchronized(matcherReplaceList) {
matcherReplaceList.add(matcherReplace);
}
return regexReplace;
return matcherReplace;
}
public void vacumRules() {
synchronized(matcherReplaceList) {
matcherReplaceList = new ArrayList<>();
}
}
protected ScheduledFuture<?> reloadAggregatorRules;
public void readConfiguration() {
try {
accountingPersistenceConfiguration = new AccountingPersistenceConfiguration(this.getClass());
try {
long oldDelay = delay;
String delayString = accountingPersistenceConfiguration.getProperty(DELAY);
delay = Long.parseLong(delayString);
if(oldDelay!=delay) {
changeRate = true;
}
TimeUnit oldTimeUnit = timeUnit;
String timeUnitString = accountingPersistenceConfiguration.getProperty(TIME_UNIT);
timeUnit = TimeUnit.valueOf(timeUnitString.toUpperCase());
if(oldTimeUnit.ordinal() != timeUnit.ordinal()) {
changeRate = true;
}
}catch (Exception e) {
logger.warn("Unable to retrieve regex reload delay. Goign to use last known delay {} {}", delay, timeUnit.name().toLowerCase());
}
String rulesString = accountingPersistenceConfiguration.getProperty(JSON_ARRAY_CALLED_METHOD_RULES);
String rulesString = accountingPersistenceConfiguration.getProperty(MATCHER_REPLACE_RULES);
ObjectMapper mapper = DSMapper.getObjectMapper();
JavaType type = mapper.getTypeFactory().constructCollectionType(List.class, RegexReplace.class);
List<RegexReplace> rules = mapper.readValue(rulesString, type);
synchronized(regexReplaceList) {
regexReplaceList = rules;
JavaType type = mapper.getTypeFactory().constructCollectionType(List.class, MatcherReplace.class);
List<MatcherReplace> rules = mapper.readValue(rulesString, type);
synchronized(matcherReplaceList) {
matcherReplaceList = rules;
}
} catch(Exception e) {
@ -117,9 +133,9 @@ public class RegexRulesAggregator implements Runnable {
@Override
public void run() {
readConfiguration();
}
public void start() {
if(changeRate) {
stop();
}
if(reloadAggregatorRules == null) {
reloadAggregatorRules = REGEX_REDISCOVERY_POOL.scheduleAtFixedRate(this, delay, delay, timeUnit);
}
@ -139,4 +155,14 @@ public class RegexRulesAggregator implements Runnable {
}
}
@Deprecated
public void start() {
}
public static void shutdown() {
RegexRulesAggregator.getInstance().stop();
ExecutorUtils.shutDownPool(RegexRulesAggregator.REGEX_REDISCOVERY_POOL);
}
}

View File

@ -9,10 +9,8 @@ import java.util.SortedSet;
import org.gcube.accounting.datamodel.validations.annotations.ValidOperationResult;
import org.gcube.accounting.datamodel.validations.validators.ValidOperationResultValidator;
import org.gcube.common.authorization.client.Constants;
import org.gcube.common.authorization.library.AuthorizationEntry;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore;
import org.gcube.common.context.ContextUtility;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.implementation.AbstractRecord;
import org.gcube.documentstore.records.implementation.RequiredField;
@ -20,8 +18,6 @@ import org.gcube.documentstore.records.implementation.validations.annotations.No
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
* @author Luca Frosini (ISTI - CNR)
*/
@ -46,23 +42,7 @@ public abstract class BasicUsageRecord extends AbstractRecord implements UsageRe
@ValidOperationResult
public static final String OPERATION_RESULT = UsageRecord.OPERATION_RESULT;
public static String getContextFromToken() {
String scope = ScopeProvider.instance.get();
if (scope == null) {
String token = SecurityTokenProvider.instance.get();
AuthorizationEntry authorizationEntry;
try {
authorizationEntry = Constants.authorizationService().get(token);
} catch (Exception e) {
throw new RuntimeException(e);
}
scope = authorizationEntry.getContext();
}
return scope;
}
/**
* Initialize variable
*/
@ -70,10 +50,11 @@ public abstract class BasicUsageRecord extends AbstractRecord implements UsageRe
super.init();
// Backward compatibility
try {
this.setScope(getContextFromToken());
} catch (Exception e) {
String context = ContextUtility.getCurrentContextFullName();
this.setScope(context);
} catch (Throwable t) {
logger.warn(
"Unable to automaticcally set the scope using scope provider. The record will not be valid if the scope will not be explicitly set.");
"Unable to automatically set the context using the known providers. The record will not be valid if the scope will not be explicitly set.");
}
}

View File

@ -2,11 +2,10 @@ package org.gcube.accounting.datamodel;
import java.io.Serializable;
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.Record;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
* @author Luca Frosini (ISTI - CNR)
*/

View File

@ -11,6 +11,8 @@ import org.gcube.accounting.datamodel.AggregatedUsageRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractJobUsageRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractServiceUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.JobUsageRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.exception.NotAggregatableRecordsExceptions;
import org.gcube.documentstore.records.aggregation.AggregationUtility;
@ -18,9 +20,6 @@ import org.gcube.documentstore.records.implementation.AggregatedField;
import org.gcube.documentstore.records.implementation.RequiredField;
import org.gcube.documentstore.records.implementation.validations.annotations.ValidLong;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonTypeName;
/**
* This Class is for library internal use only
* @author Luca Frosini (ISTI - CNR)

View File

@ -10,12 +10,11 @@ import java.util.Map;
import org.gcube.accounting.datamodel.AggregatedUsageRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractPortletUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.PortletUsageRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.exception.NotAggregatableRecordsExceptions;
import org.gcube.documentstore.records.aggregation.AggregationUtility;
import com.fasterxml.jackson.annotation.JsonTypeName;
/**
* This Class is for library internal use only
* @author Luca Frosini (ISTI - CNR)

View File

@ -10,6 +10,8 @@ import java.util.Map;
import org.gcube.accounting.datamodel.AggregatedUsageRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractServiceUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.ServiceUsageRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.exception.NotAggregatableRecordsExceptions;
import org.gcube.documentstore.records.aggregation.AggregationUtility;
@ -17,9 +19,6 @@ import org.gcube.documentstore.records.implementation.AggregatedField;
import org.gcube.documentstore.records.implementation.RequiredField;
import org.gcube.documentstore.records.implementation.validations.annotations.ValidLong;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonTypeName;
/**
* This Class is for library internal use only
* @author Luca Frosini (ISTI - CNR)

View File

@ -10,13 +10,12 @@ import java.util.Map;
import org.gcube.accounting.datamodel.AggregatedUsageRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageStatusRecord;
import org.gcube.accounting.datamodel.usagerecords.StorageStatusRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.exception.NotAggregatableRecordsExceptions;
import org.gcube.documentstore.records.aggregation.AggregationUtility;
import org.gcube.documentstore.records.implementation.AggregatedField;
import com.fasterxml.jackson.annotation.JsonTypeName;
/**
* This Class is for library internal use only
* @author Alessandro Pieve (ISTI - CNR) alessandro.pieve@isti.cnr.it
@ -117,10 +116,15 @@ public class AggregatedStorageStatusRecord extends AbstractStorageStatusRecord i
throws NotAggregatableRecordsExceptions {
try {
AggregationUtility<AggregatedStorageStatusRecord> aggregationUtility = new AggregationUtility<AggregatedStorageStatusRecord>(this);
Calendar thisStartTime = this.getStartTime();
aggregationUtility.aggregate(record);
this.setDataVolume(record.getDataVolume());
this.setDataCount(record.getDataCount());
// Getting the last value
if(record.getStartTime().after(thisStartTime)) {
this.setDataVolume(record.getDataVolume());
this.setDataCount(record.getDataCount());
}
}catch(NotAggregatableRecordsExceptions e){
throw e;
} catch(Exception ex){

View File

@ -10,13 +10,12 @@ import java.util.Map;
import org.gcube.accounting.datamodel.AggregatedUsageRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.StorageUsageRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.exception.NotAggregatableRecordsExceptions;
import org.gcube.documentstore.records.aggregation.AggregationUtility;
import org.gcube.documentstore.records.implementation.AggregatedField;
import com.fasterxml.jackson.annotation.JsonTypeName;
/**
* This Class is for library internal use only
* @author Luca Frosini (ISTI - CNR)

View File

@ -0,0 +1,15 @@
package org.gcube.accounting.datamodel.backwardcompatibility;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.gcube.documentstore.records.implementation.FieldDecorator;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@FieldDecorator(action=MoveToProviderURIAction.class)
public @interface MoveToProviderURI {
}

View File

@ -0,0 +1,32 @@
/**
*
*/
package org.gcube.accounting.datamodel.backwardcompatibility;
import java.io.Serializable;
import java.net.URI;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageStatusRecord;
import org.gcube.accounting.datamodel.validations.validators.ValidURIValidator;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.Record;
import org.gcube.documentstore.records.implementation.FieldAction;
/**
* @author Luca Frosini (ISTI - CNR)
*
*/
public class MoveToProviderURIAction implements FieldAction {
/**
* {@inheritDoc}
*/
@Override
public Serializable validate(String key, Serializable value, Record record) throws InvalidValueException {
ValidURIValidator validURIValidator = new ValidURIValidator();
value = validURIValidator.validate(key, value, record);
record.setResourceProperty(AbstractStorageStatusRecord.PROVIDER_URI, (URI) value);
return null; //Returning null the initial key is removed from Record
}
}

View File

@ -7,13 +7,12 @@ import java.io.Serializable;
import java.util.Map;
import org.gcube.accounting.datamodel.BasicUsageRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.implementation.RequiredField;
import org.gcube.documentstore.records.implementation.validations.annotations.NotEmpty;
import org.gcube.documentstore.records.implementation.validations.annotations.ValidLong;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
* @author Luca Frosini (ISTI - CNR)
*/

View File

@ -7,13 +7,12 @@ import java.io.Serializable;
import java.util.Map;
import org.gcube.accounting.datamodel.BasicUsageRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.implementation.RequiredField;
import org.gcube.documentstore.records.implementation.validations.annotations.NotEmpty;
import org.gcube.documentstore.records.implementation.validations.annotations.NotEmptyIfNotNull;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
* @author Luca Frosini (ISTI - CNR)
*/

View File

@ -7,14 +7,13 @@ import java.io.Serializable;
import java.util.Map;
import org.gcube.accounting.datamodel.BasicUsageRecord;
import org.gcube.accounting.datamodel.validations.annotations.CalledMethodRegexReplace;
import org.gcube.accounting.datamodel.validations.annotations.Harmonize;
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.implementation.RequiredField;
import org.gcube.documentstore.records.implementation.validations.annotations.NotEmpty;
import org.gcube.documentstore.records.implementation.validations.annotations.ValidLong;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
* @author Luca Frosini (ISTI - CNR)
*/
@ -53,7 +52,7 @@ public abstract class AbstractServiceUsageRecord extends BasicUsageRecord {
/**
* KEY for : Called Method
*/
@RequiredField @NotEmpty @CalledMethodRegexReplace
@RequiredField @NotEmpty @Harmonize
public static final String CALLED_METHOD = "calledMethod";
/**

View File

@ -8,16 +8,17 @@ import java.net.URI;
import java.util.Map;
import org.gcube.accounting.datamodel.BasicUsageRecord;
import org.gcube.accounting.datamodel.backwardcompatibility.MoveToProviderURI;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageUsageRecord.DataType;
import org.gcube.accounting.datamodel.validations.annotations.FixDataVolumeSign;
import org.gcube.accounting.datamodel.validations.annotations.ValidDataTypeVolume;
import org.gcube.accounting.datamodel.validations.annotations.ValidDataType;
import org.gcube.accounting.datamodel.validations.annotations.ValidURI;
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.implementation.RequiredField;
import org.gcube.documentstore.records.implementation.validations.annotations.NotEmpty;
import org.gcube.documentstore.records.implementation.validations.annotations.ValidLong;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
* @author Alessandro Pieve (ISTI - CNR) alessandro.pieve@isti.cnr.it
* @author Luca Frosini (ISTI - CNR)
@ -29,10 +30,6 @@ public abstract class AbstractStorageStatusRecord extends BasicUsageRecord {
*/
private static final long serialVersionUID = -5754343539116896036L;
public enum DataType {
STORAGE, TREE, GEO, DATABASE, LOCAL, OTHER
}
/**
* KEY for : Quantity of data in terms of KB
*/
@ -43,39 +40,44 @@ public abstract class AbstractStorageStatusRecord extends BasicUsageRecord {
* KEY for : type of data accessed.
* The value is a controlled dictionary by StorageStatusRecord.DataType
*/
@RequiredField @ValidDataTypeVolume
@RequiredField @ValidDataType
public static final String DATA_TYPE = "dataType";
/**
* KEY for : data Count number of objects
*/
@RequiredField @NotEmpty
@RequiredField @ValidLong @NotEmpty
public static final String DATA_COUNT = "dataCount";
/**
* KEY for : data service class identifier
*/
@RequiredField @NotEmpty
@Deprecated
public static final String DATA_SERVICECLASS = "dataServiceClass";
/**
* KEY for : data service name identifier
*/
@RequiredField @NotEmpty
@Deprecated
public static final String DATA_SERVICENAME = "dataServiceName";
/**
* KEY for : data service name id
*/
@RequiredField @NotEmpty
@Deprecated
public static final String DATA_SERVICEID = "dataServiceId";
/**
* KEY for : providerId the identifier of the provider which is the target of a read/write operation
*/
@RequiredField @ValidURI
@ValidURI @MoveToProviderURI
@Deprecated
public static final String PROVIDER_ID = "providerId";
@RequiredField @ValidURI
public static final String PROVIDER_URI = "providerURI";
public AbstractStorageStatusRecord() {
super();
@ -119,40 +121,57 @@ public abstract class AbstractStorageStatusRecord extends BasicUsageRecord {
setResourceProperty(DATA_COUNT, dataCount);
}
@Deprecated
@JsonIgnore
public String getDataServiceClass() {
return (String) this.resourceProperties.get(DATA_SERVICECLASS);
}
@Deprecated
public void setDataServiceClass(String dataServiceClass) throws InvalidValueException {
setResourceProperty(DATA_SERVICECLASS, dataServiceClass);
}
@Deprecated
@JsonIgnore
public String getDataServiceName() {
return (String) this.resourceProperties.get(DATA_SERVICENAME);
}
@Deprecated
public void setDataServiceName(String dataServiceName) throws InvalidValueException {
setResourceProperty(DATA_SERVICENAME, dataServiceName);
}
@Deprecated
@JsonIgnore
public String getDataServiceId() {
return (String) this.resourceProperties.get(DATA_SERVICEID);
}
@Deprecated
public void setDataServiceId(String dataServiceId) throws InvalidValueException {
setResourceProperty(DATA_SERVICEID, dataServiceId);
}
@JsonIgnore
@Deprecated
public URI getProviderId() {
return (URI) this.resourceProperties.get(PROVIDER_ID);
return (URI) this.resourceProperties.get(PROVIDER_URI);
}
@Deprecated
public void setProviderId(URI provideId) throws InvalidValueException {
setResourceProperty(PROVIDER_ID, provideId);
// setResourceProperty(PROVIDER_ID, provideId);
setResourceProperty(PROVIDER_URI, provideId);
}
@JsonIgnore
public URI getProviderURI() {
return (URI) this.resourceProperties.get(PROVIDER_URI);
}
public void setProviderURI(URI provideURI) throws InvalidValueException {
setResourceProperty(PROVIDER_URI, provideURI);
}
}

View File

@ -12,14 +12,13 @@ import org.gcube.accounting.datamodel.validations.annotations.FixDataVolumeSign;
import org.gcube.accounting.datamodel.validations.annotations.ValidDataType;
import org.gcube.accounting.datamodel.validations.annotations.ValidOperationType;
import org.gcube.accounting.datamodel.validations.annotations.ValidURI;
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.implementation.RequiredField;
import org.gcube.documentstore.records.implementation.validations.annotations.NotEmpty;
import org.gcube.documentstore.records.implementation.validations.annotations.NotEmptyIfNotNull;
import org.gcube.documentstore.records.implementation.validations.annotations.ValidLong;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
* @author Luca Frosini (ISTI - CNR)
*/
@ -35,7 +34,7 @@ public abstract class AbstractStorageUsageRecord extends BasicUsageRecord {
}
public enum DataType {
STORAGE, TREE, GEO, DATABASE, LOCAL, OTHER
STORAGE, TREE, GEO, DATABASE, LOCAL, OTHER, JUPYTER, KUBERNETES
}
/**
@ -43,18 +42,20 @@ public abstract class AbstractStorageUsageRecord extends BasicUsageRecord {
*/
@RequiredField @NotEmpty
public static final String RESOURCE_OWNER = "resourceOwner";
/**
* KEY for : The Scope where the Resource was stored
*/
@RequiredField @NotEmpty
@Deprecated
public static final String RESOURCE_SCOPE = "resourceScope";
/**
* KEY for : The URI of the Stored Resource
*/
@RequiredField @ValidURI
@Deprecated
public static final String RESOURCE_URI = "resourceURI";
@RequiredField @ValidURI
public static final String PROVIDER_URI = "providerURI";
@ -127,6 +128,7 @@ public abstract class AbstractStorageUsageRecord extends BasicUsageRecord {
* Return the scope of the storage resource
* @return The scope id of the storage resource
*/
@Deprecated
@JsonIgnore
public String getResourceScope() {
return (String) this.resourceProperties.get(RESOURCE_SCOPE);
@ -137,6 +139,7 @@ public abstract class AbstractStorageUsageRecord extends BasicUsageRecord {
* @param scope the scope of the storage resource
* @throws InvalidValueException
*/
@Deprecated
public void setResourceScope(String scope) throws InvalidValueException {
setResourceProperty(RESOURCE_SCOPE, scope);
}
@ -150,11 +153,13 @@ public abstract class AbstractStorageUsageRecord extends BasicUsageRecord {
setResourceProperty(PROVIDER_URI, providerURI);
}
@Deprecated
@JsonIgnore
public URI getResourceURI() {
return (URI) this.resourceProperties.get(RESOURCE_URI);
}
@Deprecated
public void setResourceURI(URI resourceURI) throws InvalidValueException {
setResourceProperty(RESOURCE_URI, resourceURI);
}

View File

@ -4,10 +4,9 @@ import java.io.Serializable;
import java.util.Map;
import org.gcube.accounting.datamodel.basetypes.AbstractJobUsageRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.documentstore.exception.InvalidValueException;
import com.fasterxml.jackson.annotation.JsonTypeName;
/**
* @author Luca Frosini (ISTI - CNR)
*/

View File

@ -4,10 +4,9 @@ import java.io.Serializable;
import java.util.Map;
import org.gcube.accounting.datamodel.basetypes.AbstractPortletUsageRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.documentstore.exception.InvalidValueException;
import com.fasterxml.jackson.annotation.JsonTypeName;
/**
* @author Luca Frosini (ISTI - CNR)
*/

View File

@ -4,10 +4,9 @@ import java.io.Serializable;
import java.util.Map;
import org.gcube.accounting.datamodel.basetypes.AbstractServiceUsageRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.documentstore.exception.InvalidValueException;
import com.fasterxml.jackson.annotation.JsonTypeName;
/**
* @author Luca Frosini (ISTI - CNR)
*/

View File

@ -4,9 +4,8 @@ import java.io.Serializable;
import java.util.Map;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageStatusRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.documentstore.exception.InvalidValueException;
import com.fasterxml.jackson.annotation.JsonTypeName;
/**
* @author Alessandro Pieve (ISTI - CNR) alessandro.pieve@isti.cnr.it
*

View File

@ -4,10 +4,9 @@ import java.io.Serializable;
import java.util.Map;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageUsageRecord;
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.documentstore.exception.InvalidValueException;
import com.fasterxml.jackson.annotation.JsonTypeName;
/**
* @author Luca Frosini (ISTI - CNR)
*/

View File

@ -1,19 +0,0 @@
package org.gcube.accounting.datamodel.validations.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.gcube.accounting.datamodel.validations.validators.CalledMethodRegexReplaceValidator;
import org.gcube.documentstore.records.implementation.FieldDecorator;
/**
* @author Luca Frosini (ISTI - CNR)
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@FieldDecorator(action=CalledMethodRegexReplaceValidator.class)
public @interface CalledMethodRegexReplace {
}

View File

@ -5,7 +5,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.gcube.accounting.datamodel.validations.validators.ValidDataTypeValidatorVolume;
import org.gcube.accounting.datamodel.validations.validators.Harmonizer;
import org.gcube.documentstore.records.implementation.FieldDecorator;
/**
@ -13,7 +13,7 @@ import org.gcube.documentstore.records.implementation.FieldDecorator;
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@FieldDecorator(action=ValidDataTypeValidatorVolume.class)
public @interface ValidDataTypeVolume {
@FieldDecorator(action=Harmonizer.class)
public @interface Harmonize {
}

View File

@ -2,7 +2,6 @@ package org.gcube.accounting.datamodel.validations.validators;
import java.io.Serializable;
import java.util.List;
import java.util.regex.Matcher;
import org.gcube.accounting.aggregator.RegexRulesAggregator;
import org.gcube.accounting.datamodel.basetypes.AbstractServiceUsageRecord;
@ -15,9 +14,9 @@ import org.slf4j.LoggerFactory;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public class CalledMethodRegexReplaceValidator implements FieldAction {
public class Harmonizer implements FieldAction {
private static Logger logger = LoggerFactory.getLogger(CalledMethodRegexReplaceValidator.class);
private static Logger logger = LoggerFactory.getLogger(Harmonizer.class);
/**
* {@inheritDoc}
@ -33,8 +32,6 @@ public class CalledMethodRegexReplaceValidator implements FieldAction {
throw new InvalidValueException(value.toString() + "is not a " + String.class.getSimpleName());
}
String stringValue = (String) value;
AbstractServiceUsageRecord serviceUsageRecord = (AbstractServiceUsageRecord) record;
String serviceClass = serviceUsageRecord.getServiceClass();
@ -49,19 +46,23 @@ public class CalledMethodRegexReplaceValidator implements FieldAction {
return value;
}
List<RegexReplace> regexReplaceList = RegexRulesAggregator.getInstance().getRegexReplaceList();
List<MatcherReplace> matcherReplaceList = RegexRulesAggregator.getInstance().getMatcherReplaceList();
for(RegexReplace regexReplace : regexReplaceList) {
if(serviceClass.compareTo(regexReplace.getServiceClass())==0 && serviceName.compareTo(regexReplace.getServiceName())==0) {
Matcher matcher = regexReplace.regexPattern.matcher(stringValue);
if(matcher.matches()) {
// TODO allow regex replace using matcher
return regexReplace.getReplace();
}
String calledMethod = (String) value;
for(MatcherReplace matcherReplace : matcherReplaceList) {
Replace replace = matcherReplace.check(serviceClass, serviceName, calledMethod);
if(replace != null) {
serviceClass = replace.getServiceClass();
serviceName = replace.getServiceName();
calledMethod = replace.getCalledMethod();
}
}
return value;
serviceUsageRecord.setServiceClass(serviceClass);
serviceUsageRecord.setServiceName(serviceName);
return calledMethod;
}
}

View File

@ -0,0 +1,70 @@
package org.gcube.accounting.datamodel.validations.validators;
import java.util.regex.Matcher;
import org.gcube.com.fasterxml.jackson.annotation.JsonSetter;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.DSMapper;
public class MatcherReplace {
protected MultiMatcher multiMatcher;
protected Replace replacementRegex;
public MatcherReplace() {}
public MultiMatcher getMultiMatcher() {
return multiMatcher;
}
@JsonSetter(value="match")
public void setMultiMatcher(MultiMatcher multiMatcher) {
this.multiMatcher = multiMatcher;
}
protected Replace getReplacementRegex() {
return replacementRegex;
}
@JsonSetter(value="replace")
public void setReplacementRegex(Replace replacementRegex) {
this.replacementRegex = replacementRegex;
}
public Replace check(String serviceClass, String serviceName, String calledMethod) throws InvalidValueException {
boolean matched = multiMatcher.match(serviceClass, serviceName, calledMethod);
Replace replace;
if(matched) {
replace = new Replace();
Matcher serviceClassMatcher = multiMatcher.getServiceClassPattern().matcher(serviceClass);
String replacementServiceClass = replacementRegex.getServiceClass();
String replaceServiceClass = serviceClassMatcher.replaceFirst(replacementServiceClass);
replace.setServiceClass(replaceServiceClass);
Matcher serviceNameMatcher = multiMatcher.getServiceNamePattern().matcher(serviceName);
String replacementServiceName = replacementRegex.getServiceName();
String replaceServiceName = serviceNameMatcher.replaceFirst(replacementServiceName);
replace.setServiceName(replaceServiceName);
Matcher calledMethodMatcher = multiMatcher.getCalledMethodPattern().matcher(calledMethod);
String replacementCalledMethod = replacementRegex.getCalledMethod();
String replaceCalledMethod = calledMethodMatcher.replaceFirst(replacementCalledMethod);
replace.setCalledMethod(replaceCalledMethod);
}else {
replace = null;
}
return replace;
}
@Override
public String toString() {
try {
return DSMapper.getObjectMapper().writeValueAsString(this);
} catch(Exception e) {
return "MatcherReplace [multiMatcher=" + multiMatcher + ", replacer=" + replacementRegex + "]";
}
}
}

View File

@ -0,0 +1,85 @@
package org.gcube.accounting.datamodel.validations.validators;
import java.util.regex.Pattern;
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore;
public class MultiMatcher {
protected String serviceClassRegex;
@JsonIgnore
protected Pattern serviceClassPattern;
protected String serviceNameRegex;
@JsonIgnore
protected Pattern serviceNamePattern;
protected String calledMethodRegex;
@JsonIgnore
protected Pattern calledMethodPattern;
protected MultiMatcher() {}
public MultiMatcher(String serviceClassRegex, String serviceNameRegex, String calledMethodRegex) {
setServiceClassRegex(serviceClassRegex);
setServiceNameRegex(serviceNameRegex);
setCalledMethodRegex(calledMethodRegex);
}
protected Pattern getPattern(String regex) {
return Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
}
public String getServiceClassRegex() {
return serviceClassRegex;
}
public void setServiceClassRegex(String serviceClassRegex) {
this.serviceClassRegex = serviceClassRegex;
this.serviceClassPattern = getPattern(serviceClassRegex);
}
public String getServiceNameRegex() {
return serviceNameRegex;
}
public void setServiceNameRegex(String serviceNameRegex) {
this.serviceNameRegex = serviceNameRegex;
this.serviceNamePattern = getPattern(serviceNameRegex);
}
public String getCalledMethodRegex() {
return calledMethodRegex;
}
public void setCalledMethodRegex(String calledMethodRegex) {
this.calledMethodRegex = calledMethodRegex;
this.calledMethodPattern = getPattern(calledMethodRegex);
}
@JsonIgnore
public boolean match(String serviceClass, String serviceName, String calledMethod) {
return serviceClassPattern.matcher(serviceClass).matches() &&
serviceNamePattern.matcher(serviceName).matches() &&
calledMethodPattern.matcher(calledMethod).matches();
}
@Override
public String toString() {
return "MultiMatcher [serviceClassRegex=" + serviceClassRegex + ", serviceNameRegex=" + serviceNameRegex
+ ", calledMethodRegex=" + calledMethodRegex + "]";
}
public Pattern getServiceClassPattern() {
return serviceClassPattern;
}
public Pattern getServiceNamePattern() {
return serviceNamePattern;
}
public Pattern getCalledMethodPattern() {
return calledMethodPattern;
}
}

View File

@ -1,50 +0,0 @@
package org.gcube.accounting.datamodel.validations.validators;
import java.util.regex.Pattern;
public class RegexReplace {
protected String serviceClass;
protected String serviceName;
protected String regex;
protected Pattern regexPattern;
protected String replace;
protected RegexReplace() {}
public RegexReplace(String serviceClass, String serviceName, String regex, String replace) {
super();
this.serviceClass = serviceClass;
this.serviceName = serviceName;
this.replace = replace;
setRegex(regex);
}
public String getServiceClass() {
return serviceClass;
}
public String getServiceName() {
return serviceName;
}
protected void setRegex(String regex) {
this.regex = regex;
this.regexPattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
}
public String getRegex() {
return regex;
}
public Pattern getRegexPattern() {
return regexPattern;
}
public String getReplace() {
return replace;
}
}

View File

@ -0,0 +1,49 @@
package org.gcube.accounting.datamodel.validations.validators;
public class Replace {
protected String serviceClass;
protected String serviceName;
protected String calledMethod;
public Replace() {
}
public Replace(String serviceClass, String serviceName, String calledMethod) {
this.serviceClass = serviceClass;
this.serviceName = serviceName;
this.calledMethod = calledMethod;
}
public String getServiceClass() {
return serviceClass;
}
public void setServiceClass(String serviceClass) {
this.serviceClass = serviceClass;
}
public String getServiceName() {
return serviceName;
}
public void setServiceName(String serviceName) {
this.serviceName = serviceName;
}
public String getCalledMethod() {
return calledMethod;
}
public void setCalledMethod(String calledMethod) {
this.calledMethod = calledMethod;
}
@Override
public String toString() {
return "Replacer [serviceClass=" + serviceClass + ", serviceName=" + serviceName + ", calledMethod="
+ calledMethod + "]";
}
}

View File

@ -1,64 +0,0 @@
package org.gcube.accounting.datamodel.validations.validators;
import java.io.Serializable;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageStatusRecord.DataType;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.Record;
import org.gcube.documentstore.records.implementation.FieldAction;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public class ValidDataTypeValidatorVolume implements FieldAction {
private static final String ERROR = String.format("Not Instance of %s", DataType.class.getSimpleName());
/**
* {@inheritDoc}
*/
@SuppressWarnings("rawtypes")
@Override
public Serializable validate(String key, Serializable value, Record record) throws InvalidValueException {
if(value instanceof DataType){
return value;
}
try {
if(value instanceof String){
try{
DataType dataType = DataType.valueOf((String) value);
if(dataType !=null){
return dataType;
}
} catch(Exception e){
// Trying another way
}
try{
Integer integer = Integer.getInteger((String) value);
if(integer!=null){
value = integer;
}
} catch(Exception e){
// Trying another way
}
}
if(value instanceof Integer){
return DataType.values()[(Integer) value];
}
if(value instanceof Enum){
return DataType.values()[((Enum) value).ordinal()];
}
}catch(Exception e){
throw new InvalidValueException(ERROR, e);
}
throw new InvalidValueException(ERROR);
}
}

View File

@ -3,12 +3,11 @@
*/
package org.gcube.accounting.persistence;
import java.security.Key;
import java.util.List;
import java.util.Map;
import org.gcube.accounting.datamodel.BasicUsageRecord;
import org.gcube.common.encryption.StringEncrypter;
import org.gcube.common.context.ContextUtility;
import org.gcube.common.encryption.encrypter.StringEncrypter;
import org.gcube.common.resources.gcore.ServiceEndpoint;
import org.gcube.common.resources.gcore.ServiceEndpoint.AccessPoint;
import org.gcube.common.resources.gcore.ServiceEndpoint.Property;
@ -46,8 +45,9 @@ public class AccountingPersistenceConfiguration extends PersistenceBackendConfig
ServiceEndpoint serviceEndpoint = getServiceEndpoint(SERVICE_ENDPOINT_CATEGORY, SERVICE_ENDPOINT_NAME, clz);
setValues(serviceEndpoint, clz);
}catch (Exception e) {
logger.error("Error while instancing {} in context {}", this.getClass().getSimpleName(),
BasicUsageRecord.getContextFromToken(), e);
String context = ContextUtility.getCurrentContextFullName();
logger.error("Error while instancing {} in context {}",
this.getClass().getSimpleName(), context, e);
}
}
@ -66,7 +66,7 @@ public class AccountingPersistenceConfiguration extends PersistenceBackendConfig
DiscoveryClient<ServiceEndpoint> client = ICFactory.clientFor(ServiceEndpoint.class);
List<ServiceEndpoint> serviceEndpoints = client.submit(query);
if(serviceEndpoints.size()>1){
String scope = BasicUsageRecord.getContextFromToken();
String scope = ContextUtility.getCurrentContextFullName();
query.addCondition(String.format("$resource/Profile/AccessPoint/Properties/Property/Name/text() eq '%s'", TARGET_SCOPE));
query.addCondition(String.format("$resource/Profile/AccessPoint/Properties/Property/Value/text() eq '%s'", scope));
serviceEndpoints = client.submit(query);
@ -75,7 +75,7 @@ public class AccountingPersistenceConfiguration extends PersistenceBackendConfig
return serviceEndpoints.get(0);
}
private static String decrypt(String encrypted, Key... key) throws Exception {
private static String decrypt(String encrypted) throws Exception {
return StringEncrypter.getEncrypter().decrypt(encrypted);
}

View File

@ -3,11 +3,9 @@
*/
package org.gcube.accounting.persistence;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.gcube.accounting.datamodel.BasicUsageRecord;
import org.gcube.accounting.aggregator.RegexRulesAggregator;
import org.gcube.accounting.datamodel.aggregation.AggregatedServiceUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.ServiceUsageRecord;
import org.gcube.documentstore.persistence.PersistenceBackendFactory;
@ -16,19 +14,22 @@ import org.gcube.documentstore.persistence.PersistenceBackendFactory;
* @author Luca Frosini (ISTI - CNR)
*/
public class AccountingPersistenceFactory {
private AccountingPersistenceFactory(){}
protected final static Map<String, AccountingPersistence> persistences;
//protected final static Map<String, AccountingPersistence> persistences;
protected final static AccountingPersistence accountingPersistence;
public static void initAccountingPackages(){
PersistenceBackendFactory.addRecordPackage(ServiceUsageRecord.class.getPackage());
PersistenceBackendFactory.addRecordPackage(AggregatedServiceUsageRecord.class.getPackage());
}
static {
persistences = new HashMap<String, AccountingPersistence>();
//persistences = new HashMap<String, AccountingPersistence>();
accountingPersistence = new AccountingPersistence(null);
initAccountingPackages();
}
@ -37,12 +38,14 @@ public class AccountingPersistenceFactory {
}
public synchronized static AccountingPersistence getPersistence() {
/*
String context = BasicUsageRecord.getContextFromToken();
AccountingPersistence accountingPersistence = persistences.get(context);
if(accountingPersistence==null){
accountingPersistence = new AccountingPersistence(context);
persistences.put(context, accountingPersistence);
}
*/
return accountingPersistence;
}
@ -60,12 +63,13 @@ public class AccountingPersistenceFactory {
AccountingPersistenceFactory.flushAll();
}
/**
* Flush all accounting data and shutdown connection and scheduled thread
*/
public static void shutDown(){
//flush all and shutdown connection and thread
PersistenceBackendFactory.flushAll();
PersistenceBackendFactory.shutdown();
RegexRulesAggregator.shutdown();
}
/**

View File

@ -0,0 +1,34 @@
package org.gcube.accounting.aggregator;
import java.io.InputStream;
import java.util.List;
import org.gcube.accounting.datamodel.validations.validators.MatcherReplace;
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
import org.gcube.documentstore.records.DSMapper;
import org.gcube.testutility.ContextTest;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class HarmonizerTest extends ContextTest {
private static final Logger logger = LoggerFactory.getLogger(HarmonizerTest.class);
@Test
public void test() {
RegexRulesAggregator regexRulesAggregator = RegexRulesAggregator.getInstance();
List<MatcherReplace> list = regexRulesAggregator.getMatcherReplaceList();
for(MatcherReplace matcherReplace : list) {
logger.debug("{}", matcherReplace);
}
}
@Test
public void testUnMarshallingMatcherReplace() throws Exception {
InputStream inputStream = HarmonizerTest.class.getClassLoader().getResourceAsStream("rule.json");
ObjectMapper mapper = DSMapper.getObjectMapper();
MatcherReplace matcherReplace = mapper.readValue(inputStream, MatcherReplace.class);
logger.debug("{}", matcherReplace);
}
}

View File

@ -1,24 +0,0 @@
package org.gcube.accounting.aggregator;
import java.util.List;
import org.gcube.accounting.datamodel.validations.validators.RegexReplace;
import org.gcube.testutility.ScopedTest;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class RegexRulesAggregatorTest extends ScopedTest {
private static final Logger logger = LoggerFactory.getLogger(RegexRulesAggregatorTest.class);
@Test
public void test() {
RegexRulesAggregator regexRulesAggregator = RegexRulesAggregator.getInstance();
List<RegexReplace> list = regexRulesAggregator.getRegexReplaceList();
for(RegexReplace regexReplace : list) {
logger.debug("{} {} {} {}", regexReplace.getServiceClass(), regexReplace.getServiceName(), regexReplace.getRegex(), regexReplace.getReplace());
}
}
}

View File

@ -7,11 +7,9 @@ import java.util.Set;
import org.gcube.accounting.datamodel.usagerecords.JobUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.JobUsageRecordTest;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.exception.NotAggregatableRecordsExceptions;
import org.gcube.testutility.ScopedTest;
import org.gcube.testutility.ContextTest;
import org.gcube.testutility.TestUsageRecord;
import org.junit.Assert;
import org.junit.Test;
@ -21,14 +19,12 @@ import org.slf4j.LoggerFactory;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public class AggregatedJobUsageRecordTest extends ScopedTest {
public class AggregatedJobUsageRecordTest extends ContextTest {
private static Logger logger = LoggerFactory.getLogger(AggregatedJobUsageRecordTest.class);
@Test
public void testRequiredFields() throws InvalidValueException {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
JobUsageRecord jobUsageRecord = TestUsageRecord.createTestJobUsageRecord();
Assert.assertTrue(jobUsageRecord.getScope()==null);
@ -56,9 +52,7 @@ public class AggregatedJobUsageRecordTest extends ScopedTest {
@Test
public void secondAsNotAggregated() throws InvalidValueException, NotAggregatableRecordsExceptions {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
JobUsageRecord jobUsageRecord = TestUsageRecord.createTestJobUsageRecord();
Assert.assertTrue(jobUsageRecord.getScope()==null);
jobUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);
@ -105,8 +99,6 @@ public class AggregatedJobUsageRecordTest extends ScopedTest {
@Test
public void secondAsAggregated() throws InvalidValueException, NotAggregatableRecordsExceptions {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
JobUsageRecord jobUsageRecord = TestUsageRecord.createTestJobUsageRecord();
Assert.assertTrue(jobUsageRecord.getScope()==null);
@ -158,8 +150,6 @@ public class AggregatedJobUsageRecordTest extends ScopedTest {
@Test
public void aggregationStressTest() throws InvalidValueException, NotAggregatableRecordsExceptions {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
JobUsageRecord jobUsageRecord = TestUsageRecord.createTestJobUsageRecord();
Assert.assertTrue(jobUsageRecord.getScope()==null);

View File

@ -5,35 +5,29 @@ package org.gcube.accounting.datamodel.aggregation;
import java.util.Set;
import org.gcube.accounting.datamodel.aggregation.AggregatedServiceUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.ServiceUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.ServiceUsageRecordTest;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.com.fasterxml.jackson.core.JsonProcessingException;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.exception.NotAggregatableRecordsExceptions;
import org.gcube.documentstore.records.DSMapper;
import org.gcube.testutility.ScopedTest;
import org.gcube.testutility.ContextTest;
import org.gcube.testutility.TestUsageRecord;
import org.junit.Assert;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.core.JsonProcessingException;
/**
* @author Luca Frosini (ISTI - CNR)
*
*/
public class AggregatedServiceUsageRecordTest extends ScopedTest {
public class AggregatedServiceUsageRecordTest extends ContextTest {
private static Logger logger = LoggerFactory.getLogger(AggregatedServiceUsageRecordTest.class);
@Test
public void testRequiredFields() throws InvalidValueException {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
ServiceUsageRecord serviceUsageRecord = TestUsageRecord.createTestServiceUsageRecord();
Assert.assertTrue(serviceUsageRecord.getScope()==null);
serviceUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);
@ -60,8 +54,6 @@ public class AggregatedServiceUsageRecordTest extends ScopedTest {
@Test
public void secondAsNotAggregated() throws InvalidValueException, NotAggregatableRecordsExceptions {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
ServiceUsageRecord serviceUsageRecord = TestUsageRecord.createTestServiceUsageRecord();
Assert.assertTrue(serviceUsageRecord.getScope()==null);
serviceUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);
@ -107,8 +99,6 @@ public class AggregatedServiceUsageRecordTest extends ScopedTest {
@Test
public void secondAsAggregated() throws InvalidValueException, NotAggregatableRecordsExceptions {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
ServiceUsageRecord serviceUsageRecord = TestUsageRecord.createTestServiceUsageRecord();
Assert.assertTrue(serviceUsageRecord.getScope()==null);
serviceUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);
@ -157,8 +147,6 @@ public class AggregatedServiceUsageRecordTest extends ScopedTest {
@Test
public void aggregationStressTest() throws InvalidValueException, NotAggregatableRecordsExceptions, JsonProcessingException {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
ServiceUsageRecord serviceUsageRecord = TestUsageRecord.createTestServiceUsageRecord();
Assert.assertTrue(serviceUsageRecord.getScope()==null);
serviceUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);

View File

@ -7,11 +7,9 @@ import java.util.Set;
import org.gcube.accounting.datamodel.usagerecords.StorageStatusRecord;
import org.gcube.accounting.datamodel.usagerecords.StorageStatusRecordTest;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.exception.NotAggregatableRecordsExceptions;
import org.gcube.testutility.ScopedTest;
import org.gcube.testutility.ContextTest;
import org.gcube.testutility.TestUsageRecord;
import org.junit.Assert;
import org.junit.Test;
@ -22,14 +20,12 @@ import org.slf4j.LoggerFactory;
* @author Alessandro Pieve (ISTI - CNR) alessandro.pieve@isti.cnr.it
*
*/
public class AggregatedStorageStatusRecordTest extends ScopedTest {
public class AggregatedStorageStatusRecordTest extends ContextTest {
private static Logger logger = LoggerFactory.getLogger(AggregatedStorageStatusRecordTest.class);
@Test
public void testRequiredFields() throws InvalidValueException {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
StorageStatusRecord storageVolumeUsageRecord = TestUsageRecord.createTestStorageVolumeUsageRecord();
Assert.assertTrue(storageVolumeUsageRecord.getScope()==null);
storageVolumeUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);
@ -52,32 +48,30 @@ public class AggregatedStorageStatusRecordTest extends ScopedTest {
@Test
public void secondAsNotAggregated() throws InvalidValueException, NotAggregatableRecordsExceptions {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
StorageStatusRecord storageVolumeUsageRecord = TestUsageRecord.createTestStorageVolumeUsageRecord();
Assert.assertTrue(storageVolumeUsageRecord.getScope()==null);
storageVolumeUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);
StorageStatusRecord storageStatusUsageRecord = TestUsageRecord.createTestStorageVolumeUsageRecord();
Assert.assertTrue(storageStatusUsageRecord.getScope()==null);
storageStatusUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);
storageVolumeUsageRecord.setResourceProperty(TestUsageRecord.TEST_PROPERTY_NAME, TestUsageRecord.TEST_PROPERTY_VALUE);
storageVolumeUsageRecord.validate();
logger.debug("StorageVolumeUsageRecord : {}", storageVolumeUsageRecord);
storageStatusUsageRecord.setResourceProperty(TestUsageRecord.TEST_PROPERTY_NAME, TestUsageRecord.TEST_PROPERTY_VALUE);
storageStatusUsageRecord.validate();
logger.debug("StorageVolumeUsageRecord : {}", storageStatusUsageRecord);
AggregatedStorageStatusRecord aggregated = new AggregatedStorageStatusRecord(storageVolumeUsageRecord);
AggregatedStorageStatusRecord aggregated = new AggregatedStorageStatusRecord(storageStatusUsageRecord);
logger.debug("StorageVolumeUsageRecord Converted to Aggregated: {}", aggregated);
aggregated.validate();
StorageStatusRecord storageVolumeUsageRecord2 = TestUsageRecord.createTestStorageVolumeUsageRecord();
storageVolumeUsageRecord2.setScope(TestUsageRecord.TEST_SCOPE);
StorageStatusRecord storageStatusUsageRecord2 = TestUsageRecord.createTestStorageVolumeUsageRecord();
storageStatusUsageRecord2.setScope(TestUsageRecord.TEST_SCOPE);
storageVolumeUsageRecord2.validate();
logger.debug("StorageVolumeUsageRecord 2 : {}", storageVolumeUsageRecord2);
storageStatusUsageRecord2.validate();
logger.debug("StorageVolumeUsageRecord 2 : {}", storageStatusUsageRecord2);
long secondDataVolume = storageVolumeUsageRecord2.getDataVolume();
long secondDataVolume = storageStatusUsageRecord2.getDataVolume();
long secondDataCount = storageVolumeUsageRecord2.getDataCount();
long secondDataCount = storageStatusUsageRecord2.getDataCount();
aggregated.aggregate(storageVolumeUsageRecord2);
aggregated.aggregate(storageStatusUsageRecord2);
logger.debug("Resulting Aggregated StorageVolumeUsageRecord: {}", aggregated);
aggregated.validate();
@ -87,11 +81,14 @@ public class AggregatedStorageStatusRecordTest extends ScopedTest {
Assert.assertFalse(aggregated.getResourceProperties().containsKey(TestUsageRecord.TEST_PROPERTY_NAME));
}
@SuppressWarnings("deprecation")
@Test
public void secondAsAggregated() throws InvalidValueException, NotAggregatableRecordsExceptions {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
StorageStatusRecord storageStatusUsageRecord = TestUsageRecord.createTestStorageVolumeUsageRecord();
storageStatusUsageRecord.setDataServiceClass("DataServiceClass1");
storageStatusUsageRecord.setDataServiceName("DataServiceName1");
storageStatusUsageRecord.setDataServiceId("DataServiceId1");
Assert.assertTrue(storageStatusUsageRecord.getScope()==null);
storageStatusUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);
storageStatusUsageRecord.validate();
@ -102,6 +99,10 @@ public class AggregatedStorageStatusRecordTest extends ScopedTest {
aggregated.validate();
StorageStatusRecord storageVolumeUsageRecord2 = TestUsageRecord.createTestStorageVolumeUsageRecord();
storageVolumeUsageRecord2.setDataServiceClass("DataServiceClass2");
storageVolumeUsageRecord2.setDataServiceName("DataServiceName2");
storageVolumeUsageRecord2.setDataServiceId("DataServiceId2");
Assert.assertTrue(storageVolumeUsageRecord2.getScope()==null);
storageVolumeUsageRecord2.setScope(TestUsageRecord.TEST_SCOPE);
storageVolumeUsageRecord2.setResourceProperty(TestUsageRecord.TEST_PROPERTY_NAME, TestUsageRecord.TEST_PROPERTY_VALUE);
@ -129,8 +130,6 @@ public class AggregatedStorageStatusRecordTest extends ScopedTest {
@Test
public void aggregationStressTest() throws InvalidValueException, NotAggregatableRecordsExceptions {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
StorageStatusRecord storageVolumeUsageRecord = TestUsageRecord.createTestStorageVolumeUsageRecord();
Assert.assertTrue(storageVolumeUsageRecord.getScope()==null);
storageVolumeUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);

View File

@ -3,16 +3,14 @@
*/
package org.gcube.accounting.datamodel.aggregation;
import java.net.URI;
import java.util.Set;
import org.gcube.accounting.datamodel.aggregation.AggregatedStorageUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.StorageUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.StorageUsageRecordTest;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.exception.NotAggregatableRecordsExceptions;
import org.gcube.testutility.ScopedTest;
import org.gcube.testutility.ContextTest;
import org.gcube.testutility.TestUsageRecord;
import org.junit.Assert;
import org.junit.Test;
@ -23,14 +21,12 @@ import org.slf4j.LoggerFactory;
* @author Luca Frosini (ISTI - CNR)
*
*/
public class AggregatedStorageUsageRecordTest extends ScopedTest {
public class AggregatedStorageUsageRecordTest extends ContextTest {
private static Logger logger = LoggerFactory.getLogger(AggregatedStorageUsageRecordTest.class);
@Test
public void testRequiredFields() throws InvalidValueException {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
StorageUsageRecord storageUsageRecord = TestUsageRecord.createTestStorageUsageRecord();
Assert.assertTrue(storageUsageRecord.getScope()==null);
storageUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);
@ -53,8 +49,6 @@ public class AggregatedStorageUsageRecordTest extends ScopedTest {
@Test
public void secondAsNotAggregated() throws InvalidValueException, NotAggregatableRecordsExceptions {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
StorageUsageRecord storageUsageRecord = TestUsageRecord.createTestStorageUsageRecord();
Assert.assertTrue(storageUsageRecord.getScope()==null);
storageUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);
@ -85,11 +79,13 @@ public class AggregatedStorageUsageRecordTest extends ScopedTest {
Assert.assertFalse(aggregated.getResourceProperties().containsKey(TestUsageRecord.TEST_PROPERTY_NAME));
}
@SuppressWarnings("deprecation")
@Test
public void secondAsAggregated() throws InvalidValueException, NotAggregatableRecordsExceptions {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
public void secondAsAggregated() throws Exception {
StorageUsageRecord storageUsageRecord = TestUsageRecord.createTestStorageUsageRecord();
storageUsageRecord.setResourceScope("/gcube");
storageUsageRecord.setResourceURI(new URI("resourceURI"));
Assert.assertTrue(storageUsageRecord.getScope()==null);
storageUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);
storageUsageRecord.validate();
@ -100,6 +96,9 @@ public class AggregatedStorageUsageRecordTest extends ScopedTest {
aggregated.validate();
StorageUsageRecord storageUsageRecord2 = TestUsageRecord.createTestStorageUsageRecord();
storageUsageRecord2.setResourceScope("/gcube/devsec");
storageUsageRecord2.setResourceURI(new URI("anotherResourceURI"));
Assert.assertTrue(storageUsageRecord2.getScope()==null);
storageUsageRecord2.setScope(TestUsageRecord.TEST_SCOPE);
storageUsageRecord2.setResourceProperty(TestUsageRecord.TEST_PROPERTY_NAME, TestUsageRecord.TEST_PROPERTY_VALUE);
@ -123,8 +122,6 @@ public class AggregatedStorageUsageRecordTest extends ScopedTest {
@Test
public void aggregationStressTest() throws InvalidValueException, NotAggregatableRecordsExceptions {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
StorageUsageRecord storageUsageRecord = TestUsageRecord.createTestStorageUsageRecord();
Assert.assertTrue(storageUsageRecord.getScope()==null);
storageUsageRecord.setScope(TestUsageRecord.TEST_SCOPE);

View File

@ -8,11 +8,9 @@ import java.util.Set;
import org.gcube.accounting.datamodel.UsageRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractJobUsageRecord;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.Record;
import org.gcube.testutility.ScopedTest;
import org.gcube.testutility.ContextTest;
import org.gcube.testutility.TestUsageRecord;
import org.junit.Assert;
import org.junit.Test;
@ -23,7 +21,7 @@ import org.slf4j.LoggerFactory;
* @author Luca Frosini (ISTI - CNR)
*
*/
public class JobUsageRecordTest extends ScopedTest {
public class JobUsageRecordTest extends ContextTest {
private static Logger logger = LoggerFactory.getLogger(JobUsageRecordTest.class);
@ -46,8 +44,6 @@ public class JobUsageRecordTest extends ScopedTest {
@Test(expected=InvalidValueException.class)
public void scopeNotSetValidationError() throws InvalidValueException {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
JobUsageRecord usageRecord = TestUsageRecord.createTestJobUsageRecord();
usageRecord.validate();
logger.debug("{}", usageRecord);
@ -55,8 +51,6 @@ public class JobUsageRecordTest extends ScopedTest {
@Test
public void testRequiredFields() throws InvalidValueException{
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
JobUsageRecord usageRecord = TestUsageRecord.createTestJobUsageRecord();
Assert.assertTrue(usageRecord.getScope()==null);
usageRecord.setScope(TestUsageRecord.TEST_SCOPE);

View File

@ -12,15 +12,13 @@ import org.gcube.accounting.aggregator.RegexRulesAggregator;
import org.gcube.accounting.datamodel.UsageRecord;
import org.gcube.accounting.datamodel.aggregation.AggregatedServiceUsageRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractServiceUsageRecord;
import org.gcube.accounting.datamodel.validations.validators.RegexReplace;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.accounting.datamodel.validations.validators.MatcherReplace;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.DSMapper;
import org.gcube.documentstore.records.Record;
import org.gcube.documentstore.records.RecordUtility;
import org.gcube.documentstore.records.aggregation.AggregationScheduler;
import org.gcube.testutility.ScopedTest;
import org.gcube.testutility.ContextTest;
import org.gcube.testutility.TestUsageRecord;
import org.junit.Assert;
import org.junit.Test;
@ -30,7 +28,7 @@ import org.slf4j.LoggerFactory;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public class ServiceUsageRecordTest extends ScopedTest {
public class ServiceUsageRecordTest extends ContextTest {
private static Logger logger = LoggerFactory.getLogger(ServiceUsageRecordTest.class);
@ -53,8 +51,6 @@ public class ServiceUsageRecordTest extends ScopedTest {
@Test(expected=InvalidValueException.class)
public void scopeNotSetValidationError() throws InvalidValueException {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
ServiceUsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecord();
usageRecord.validate();
logger.debug("{}", usageRecord);
@ -62,8 +58,6 @@ public class ServiceUsageRecordTest extends ScopedTest {
@Test
public void testRequiredFields() throws InvalidValueException{
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
ServiceUsageRecord usageRecord = TestUsageRecord.createTestServiceUsageRecord();
Assert.assertTrue(usageRecord.getScope()==null);
usageRecord.setScope(TestUsageRecord.TEST_SCOPE);
@ -126,6 +120,18 @@ public class ServiceUsageRecordTest extends ScopedTest {
}
@Test
public void testDeserialization2() throws Exception{
RecordUtility.addRecordPackage(ServiceUsageRecord.class.getPackage());
RecordUtility.addRecordPackage(AggregatedServiceUsageRecord.class.getPackage());
String line = "{\"recordType\":\"ServiceUsageRecord\",\"operationCount\":1,\"creationTime\":1591043453061,\"serviceClass\":\"DataAnalysis\",\"callerHost\":\"80.134.224.170\",\"callerQualifier\": \"TOKEN\",\"consumerId\":\"lisa.chong8594\",\"aggregated\":true,\"serviceName\":\"RConnector\",\"duration\":5328,\"maxInvocationTime\":5328,\"scope\":\"/d4science.research-infrastructures.eu/gCubeApps/StockAssessment\",\"host\":\"rstudio.d4science.org:80\",\"startTime\":1591043453058,\"id\":\"ec925c66-a7e9-4b2a-b0bd-8896ba24edab\",\"calledMethod\":\"/gcube/service/connect\",\"endTime\":1591043453058,\"minInvocationTime\":5328,\"operationResult\":\"SUCCESS\"}";
Record record = RecordUtility.getRecord(line);
logger.debug("{}", record);
}
@Test
public void aRegexReplaceTest() throws Exception{
RecordUtility.addRecordPackage(ServiceUsageRecord.class.getPackage());
@ -174,9 +180,9 @@ public class ServiceUsageRecordTest extends ScopedTest {
logger.debug("{}", usageRecord);
RegexRulesAggregator regexRulesAggregator = RegexRulesAggregator.getInstance();
List<RegexReplace> list = regexRulesAggregator.getRegexReplaceList();
for(RegexReplace regexReplace : list) {
logger.debug("{} {} {} {}", regexReplace.getServiceClass(), regexReplace.getServiceName(), regexReplace.getRegex(), regexReplace.getReplace());
List<MatcherReplace> list = regexRulesAggregator.getMatcherReplaceList();
for(MatcherReplace matcherReplace : list) {
logger.debug("{}", matcherReplace);
}

View File

@ -8,11 +8,9 @@ import java.util.Set;
import org.gcube.accounting.datamodel.UsageRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageStatusRecord;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.Record;
import org.gcube.testutility.ScopedTest;
import org.gcube.testutility.ContextTest;
import org.gcube.testutility.TestUsageRecord;
import org.junit.Assert;
import org.junit.Test;
@ -23,7 +21,7 @@ import org.slf4j.LoggerFactory;
* @author Alessandro Pieve (ISTI - CNR) alessandro.pieve@isti.cnr.it
*
*/
public class StorageStatusRecordTest extends ScopedTest {
public class StorageStatusRecordTest extends ContextTest {
private static Logger logger = LoggerFactory.getLogger(StorageStatusRecordTest.class);
@ -37,9 +35,6 @@ public class StorageStatusRecordTest extends ScopedTest {
expectedRequiredFields.add(AbstractStorageStatusRecord.DATA_VOLUME);
expectedRequiredFields.add(AbstractStorageStatusRecord.DATA_COUNT);
expectedRequiredFields.add(AbstractStorageStatusRecord.DATA_TYPE);
expectedRequiredFields.add(AbstractStorageStatusRecord.DATA_SERVICECLASS);
expectedRequiredFields.add(AbstractStorageStatusRecord.DATA_SERVICENAME);
expectedRequiredFields.add(AbstractStorageStatusRecord.DATA_SERVICEID);
expectedRequiredFields.add(AbstractStorageStatusRecord.PROVIDER_ID);
return expectedRequiredFields;
@ -47,8 +42,6 @@ public class StorageStatusRecordTest extends ScopedTest {
@Test(expected=InvalidValueException.class)
public void scopeNotSetValidationError() throws InvalidValueException {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
StorageStatusRecord usageRecord = TestUsageRecord.createTestStorageVolumeUsageRecord();
usageRecord.validate();
logger.debug("{}", usageRecord);
@ -56,8 +49,6 @@ public class StorageStatusRecordTest extends ScopedTest {
@Test
public void testRequiredFields() throws InvalidValueException{
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
StorageStatusRecord usageRecord = TestUsageRecord.createTestStorageVolumeUsageRecord();
Assert.assertTrue(usageRecord.getScope()==null);
usageRecord.setScope(TestUsageRecord.TEST_SCOPE);

View File

@ -8,11 +8,9 @@ import java.util.Set;
import org.gcube.accounting.datamodel.UsageRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageUsageRecord;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.documentstore.exception.InvalidValueException;
import org.gcube.documentstore.records.Record;
import org.gcube.testutility.ScopedTest;
import org.gcube.testutility.ContextTest;
import org.gcube.testutility.TestUsageRecord;
import org.junit.Assert;
import org.junit.Test;
@ -23,7 +21,7 @@ import org.slf4j.LoggerFactory;
* @author Luca Frosini (ISTI - CNR)
*
*/
public class StorageUsageRecordTest extends ScopedTest {
public class StorageUsageRecordTest extends ContextTest {
private static Logger logger = LoggerFactory.getLogger(StorageUsageRecordTest.class);
@ -35,8 +33,6 @@ public class StorageUsageRecordTest extends ScopedTest {
expectedRequiredFields.add(UsageRecord.SCOPE);
expectedRequiredFields.add(UsageRecord.OPERATION_RESULT);
expectedRequiredFields.add(AbstractStorageUsageRecord.RESOURCE_OWNER);
expectedRequiredFields.add(AbstractStorageUsageRecord.RESOURCE_SCOPE);
expectedRequiredFields.add(AbstractStorageUsageRecord.RESOURCE_URI);
expectedRequiredFields.add(AbstractStorageUsageRecord.PROVIDER_URI);
expectedRequiredFields.add(AbstractStorageUsageRecord.OPERATION_TYPE);
expectedRequiredFields.add(AbstractStorageUsageRecord.DATA_TYPE);
@ -47,8 +43,6 @@ public class StorageUsageRecordTest extends ScopedTest {
@Test(expected=InvalidValueException.class)
public void scopeNotSetValidationError() throws InvalidValueException {
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
StorageUsageRecord usageRecord = TestUsageRecord.createTestStorageUsageRecord();
usageRecord.validate();
logger.debug("{}", usageRecord);
@ -56,8 +50,6 @@ public class StorageUsageRecordTest extends ScopedTest {
@Test
public void testRequiredFields() throws InvalidValueException{
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
StorageUsageRecord usageRecord = TestUsageRecord.createTestStorageUsageRecord();
Assert.assertTrue(usageRecord.getScope()==null);
usageRecord.setScope(TestUsageRecord.TEST_SCOPE);

View File

@ -0,0 +1,282 @@
package org.gcube.accounting.datamodel.validations.validators;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FilenameFilter;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.gcube.accounting.aggregator.RegexRulesAggregator;
import org.gcube.accounting.datamodel.aggregation.AggregatedServiceUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.ServiceUsageRecord;
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
import org.gcube.documentstore.exception.NotAggregatableRecordsExceptions;
import org.gcube.documentstore.records.DSMapper;
import org.gcube.testutility.ContextTest;
import org.gcube.testutility.TestUsageRecord;
import org.junit.Assert;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TestRules extends ContextTest {
private static final Logger logger = LoggerFactory.getLogger(TestRules.class);
public File getRulesDirectory() throws Exception {
URL logbackFileURL = TestRules.class.getClassLoader().getResource("logback-test.xml");
File logbackFile = new File(logbackFileURL.toURI());
File resourcesDirectory = logbackFile.getParentFile();
return new File(resourcesDirectory, "rules");
}
protected long durationWeightedAverage(int numberA, long durationA, int numberB, long durationB) {
return ((numberA * durationA) + (numberB * durationB)) / (numberA + numberB);
}
public List<File> allRules() throws Exception {
File rulesDirectory = getRulesDirectory();
FilenameFilter filenameFilter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".json");
}
};
List<File> rulesFiles = new ArrayList<>();
for(File dir : rulesDirectory.listFiles()) {
if(!dir.isDirectory()) {
continue;
}
rulesFiles.addAll(Arrays.asList(dir.listFiles(filenameFilter)));
RegexRulesAggregator regexRulesAggregator = RegexRulesAggregator.getInstance();
regexRulesAggregator.vacumRules();
for(File rulesFile : rulesFiles) {
ObjectMapper mapper = DSMapper.getObjectMapper();
MatcherReplace matcherReplace = mapper.readValue(rulesFile, MatcherReplace.class);
regexRulesAggregator.addMatcherReplace(matcherReplace);
}
}
return rulesFiles;
}
public void testRule(File rulesFile) throws Exception {
logger.info(
"-----------------------------------------------------------------------------------------------------");
logger.info("Analisyng rule from file {}\n", rulesFile.getAbsolutePath());
File rulesDirectory = rulesFile.getParentFile();
ObjectMapper mapper = DSMapper.getObjectMapper();
MatcherReplace matcherReplace = mapper.readValue(rulesFile, MatcherReplace.class);
Replace replacementRegex = matcherReplace.getReplacementRegex();
Map<String,AggregatedServiceUsageRecord> aggregatedMap = new HashMap<>();
AggregatedServiceUsageRecord aggregated;
// it indicates that the rules can create multiple calledMethod because the replacement is based on
// Named Capture Group
final String requiredMatchesFileName = rulesFile.getName().replaceAll(".json", ".csv");
File elaborationFile = new File(rulesDirectory, requiredMatchesFileName);
try(BufferedReader br = new BufferedReader(new FileReader(elaborationFile))) {
int lineNumber = 1;
for(String line; (line = br.readLine()) != null;) {
String[] splittedLine = line.split(",");
String serviceClass = splittedLine[0];
String serviceName = splittedLine[1];
String calledMethod = splittedLine[2];
Replace replace = matcherReplace.check(serviceClass, serviceName, calledMethod);
if(replace != null) {
logger.info("line {}: {} --> {},{},{}", lineNumber, line, replace.getServiceClass(), replace.getServiceName(),
replace.getCalledMethod());
} else {
logger.error("{} (line {}) does not match {}. This MUST not occur.", line, lineNumber,
matcherReplace.getMultiMatcher().toString());
throw new Exception();
}
String obtainedTriple = replace.getServiceClass() + "+++" + replace.getServiceName() + "+++"
+ replace.getCalledMethod();
if(aggregatedMap.containsKey(obtainedTriple)) {
aggregated = aggregatedMap.get(obtainedTriple);
} else {
ServiceUsageRecord serviceUsageRecord = TestUsageRecord.createTestServiceUsageRecord();
serviceUsageRecord.setServiceClass(replace.getServiceClass());
serviceUsageRecord.setServiceName(replace.getServiceName());
serviceUsageRecord.setCalledMethod(replace.getCalledMethod());
serviceUsageRecord.validate();
aggregated = new AggregatedServiceUsageRecord(serviceUsageRecord);
aggregatedMap.put(obtainedTriple, aggregated);
}
ServiceUsageRecord sur = TestUsageRecord.createTestServiceUsageRecord();
sur.setServiceClass(serviceClass);
sur.setServiceName(serviceName);
sur.setCalledMethod(calledMethod);
sur.validate();
sur.validate();
// logger.trace("To Be aggregated ServiceUsageRecord {}", sur);
long oldMinInvocationTime = aggregated.getMinInvocationTime();
long oldMaxInvocationTime = aggregated.getMaxInvocationTime();
int oldOperationCount = aggregated.getOperationCount();
long oldDuration = aggregated.getDuration();
long surDuration = sur.getDuration();
try {
aggregated.aggregate(sur);
//logger.debug("Resulting Aggregated ServiceUsageRecord: {}", aggregated);
}catch(NotAggregatableRecordsExceptions e) {
logger.error("The Record is not aggregatable : {}", sur);
throw e;
}
long avgDuration = durationWeightedAverage(oldOperationCount, oldDuration, 1, surDuration);
Assert.assertTrue(aggregated.getDuration() == (avgDuration));
Assert.assertTrue(aggregated.getOperationCount() == ++oldOperationCount);
if(oldMinInvocationTime >= surDuration) {
Assert.assertTrue(aggregated.getMinInvocationTime() == surDuration);
} else {
Assert.assertTrue(aggregated.getMinInvocationTime() == oldMinInvocationTime);
}
if(oldMaxInvocationTime >= surDuration) {
Assert.assertTrue(aggregated.getMaxInvocationTime() == oldMaxInvocationTime);
} else {
Assert.assertTrue(aggregated.getMaxInvocationTime() == surDuration);
}
++lineNumber;
}
} catch(Exception e) {
throw e;
}
FilenameFilter filenameFilter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
boolean accept = name.endsWith(".csv");
return name.compareTo(requiredMatchesFileName) != 0 && accept;
}
};
for(File elaborationFileNoMatch : rulesDirectory.listFiles(filenameFilter)) {
logger.info("Comparing examples which must not match from file {}", elaborationFileNoMatch.getName());
try(BufferedReader br = new BufferedReader(new FileReader(elaborationFileNoMatch))) {
int lineCounter = 1;
for(String line; (line = br.readLine()) != null;) {
try {
String[] splittedLine = line.split(",");
String serviceClass = splittedLine[0];
String serviceName = splittedLine[1];
String calledMethod = splittedLine[2];
Replace replace = matcherReplace.check(serviceClass, serviceName, calledMethod);
if(replace != null) {
logger.error("{} match {} but it should NOT. This MUST not occur.", line,
matcherReplace.getMultiMatcher().toString());
throw new Exception();
} else {
logger.trace("{} does NOT match as requested", line, replacementRegex.getServiceClass(),
replacementRegex.getServiceName(), replacementRegex.getCalledMethod());
}
ServiceUsageRecord sur = TestUsageRecord.createTestServiceUsageRecord();
sur.setServiceClass(serviceClass);
sur.setServiceName(serviceName);
sur.setCalledMethod(calledMethod);
sur.validate();
//logger.trace("Should not be aggregated ServiceUsageRecord {}", sur);
for(AggregatedServiceUsageRecord asur : aggregatedMap.values()) {
try {
asur.aggregate(sur);
logger.error("The record {} (line {}) has been aggregated and it should NOT", sur, lineCounter);
throw new Exception("The record has been aggregated and it should NOT");
} catch(NotAggregatableRecordsExceptions e) {
//logger.trace("{} is not aggragable as expected", sur);
}
}
++lineCounter;
}catch (Exception e) {
logger.error("line {}", lineCounter, e.getMessage());
throw e;
}
}
} catch(Exception e) {
throw e;
}
}
logger.info(
"-----------------------------------------------------------------------------------------------------\n\n\n");
}
@Test
public void testSingleRule() throws Exception {
allRules();
File rulesDirectory = getRulesDirectory();
File rulesDirFile = new File(rulesDirectory, "3MConnector");
File ruleFile = new File(rulesDirFile, "3MConnector-connect.json");
testRule(ruleFile);
}
@Test
public void testAllRuleInAdirectory() throws Exception {
allRules();
File rulesDirectory = getRulesDirectory();
File rulesDirFile = new File(rulesDirectory, "Thredds");
FilenameFilter filenameFilter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".json");
}
};
List<File> rulesFiles = new ArrayList<>();
rulesFiles.addAll(Arrays.asList(rulesDirFile.listFiles(filenameFilter)));
for(File ruleFile : rulesFiles) {
testRule(ruleFile);
}
}
@Test
public void testAllRules() throws Exception {
List<File> rulesFiles = allRules();
for(File rulesFile : rulesFiles) {
testRule(rulesFile);
}
}
@Test
public void testMatcherReplace() throws Exception {
File rulesDirectory = getRulesDirectory();
File rulesDirFile = new File(rulesDirectory, "geoanalytics-gos");
File rulesFile = new File(rulesDirFile, "geoanalytics-gos-OTHER.json");
ObjectMapper mapper = DSMapper.getObjectMapper();
MatcherReplace matcherReplace = mapper.readValue(rulesFile, MatcherReplace.class);
Replace replace = matcherReplace.check("geoanalytics","geoanalytics-gos-gos","/ShapeManagement/applyOnView");
logger.info("{}", replace);
}
}

View File

@ -23,7 +23,7 @@ public class ValidTimeValidatorTest {
@Test
public void testClassLong() throws InvalidValueException{
ValidLongValidator validTimeValidator = new ValidLongValidator();
Long myLong = new Long(4);
Long myLong = 4l;
validTimeValidator.validate(null, myLong, null);
}

View File

@ -10,13 +10,13 @@ import java.io.IOException;
import org.gcube.accounting.persistence.AccountingPersistenceFactory;
import org.gcube.documentstore.records.Record;
import org.gcube.documentstore.records.RecordUtility;
import org.gcube.testutility.ScopedTest;
import org.gcube.testutility.ContextTest;
import org.gcube.testutility.TestUsageRecord;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class FalbackTest extends ScopedTest {
public class FalbackTest extends ContextTest {
private static Logger logger = LoggerFactory.getLogger(FalbackTest.class);

View File

@ -0,0 +1,91 @@
/**
*
*/
package org.gcube.testutility;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.gcube.common.authorization.client.exceptions.ObjectNotFound;
import org.gcube.common.security.Owner;
import org.gcube.common.security.secrets.GCubeSecret;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author Luca Frosini (ISTI - CNR)
*
*/
public class ContextTest {
private static final Logger logger = LoggerFactory.getLogger(ContextTest.class);
protected static Properties properties;
protected static final String PROPERTIES_FILENAME = "token.properties";
public static final String PARENT_DEFAULT_TEST_SCOPE;
public static final String DEFAULT_TEST_SCOPE;
public static final String ALTERNATIVE_TEST_SCOPE;
public static final String DEFAULT_TEST_SCOPE_ANOTHER_USER;
static {
properties = new Properties();
InputStream input = ContextTest.class.getClassLoader().getResourceAsStream(PROPERTIES_FILENAME);
try {
// load the properties file
properties.load(input);
} catch(IOException e) {
throw new RuntimeException(e);
}
// PARENT_DEFAULT_TEST_SCOPE = "/pred4s"
// DEFAULT_TEST_SCOPE_NAME = PARENT_DEFAULT_TEST_SCOPE + "/preprod";
// ALTERNATIVE_TEST_SCOPE = DEFAULT_TEST_SCOPE_NAME + "/preVRE";
PARENT_DEFAULT_TEST_SCOPE = "/gcube";
DEFAULT_TEST_SCOPE = PARENT_DEFAULT_TEST_SCOPE + "/devNext";
ALTERNATIVE_TEST_SCOPE = DEFAULT_TEST_SCOPE + "/NextNext";
DEFAULT_TEST_SCOPE_ANOTHER_USER = "lucio.lelii_" + DEFAULT_TEST_SCOPE;
try {
setContextByName(DEFAULT_TEST_SCOPE);
} catch(Exception e) {
throw new RuntimeException(e);
}
}
public static String getCurrentScope(String token) throws ObjectNotFound, Exception {
GCubeSecret secret = new GCubeSecret(token);
String context = secret.getContext();
logger.info("Context of token {} is {}", token, context);
return context;
}
public static void setContextByName(String fullContextName) throws ObjectNotFound, Exception {
String token = ContextTest.properties.getProperty(fullContextName);
setContext(token);
}
private static void setContext(String token) throws ObjectNotFound, Exception {
GCubeSecret secret = new GCubeSecret(token);
Owner clientInfo = secret.getOwner();
logger.debug("User : {} - external client? ok: {}", clientInfo.getId(), clientInfo.isExternalClient());
}
@BeforeClass
public static void beforeClass() throws Exception {
setContextByName(DEFAULT_TEST_SCOPE);
}
@AfterClass
public static void afterClass() throws Exception {
}
}

View File

@ -1,90 +0,0 @@
/**
*
*/
package org.gcube.testutility;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.gcube.common.authorization.client.Constants;
import org.gcube.common.authorization.client.exceptions.ObjectNotFound;
import org.gcube.common.authorization.library.AuthorizationEntry;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author Luca Frosini (ISTI - CNR)
*
*/
public class ScopedTest {
private static final Logger logger = LoggerFactory.getLogger(ScopedTest.class);
protected static final String PROPERTIES_FILENAME = "token.properties";
private static final String GCUBE_DEVNEXT_VARNAME = "GCUBE_DEVNEXT";
public static final String GCUBE_DEVNEXT;
private static final String GCUBE_DEVNEXT_NEXTNEXT_VARNAME = "GCUBE_DEVNEXT_NEXTNEXT";
public static final String GCUBE_DEVNEXT_NEXTNEXT;
public static final String GCUBE_DEVSEC_VARNAME = "GCUBE_DEVSEC";
public static final String GCUBE_DEVSEC;
public static final String GCUBE_DEVSEC_DEVVRE_VARNAME = "GCUBE_DEVSEC_DEVVRE";
public static final String GCUBE_DEVSEC_DEVVRE;
public static final String DEFAULT_TEST_SCOPE;
public static final String ALTERNATIVE_TEST_SCOPE;
static {
Properties properties = new Properties();
InputStream input = ScopedTest.class.getClassLoader().getResourceAsStream(PROPERTIES_FILENAME);
try {
// load the properties file
properties.load(input);
} catch (IOException e) {
throw new RuntimeException(e);
}
GCUBE_DEVNEXT = properties.getProperty(GCUBE_DEVNEXT_VARNAME);
GCUBE_DEVNEXT_NEXTNEXT = properties.getProperty(GCUBE_DEVNEXT_NEXTNEXT_VARNAME);
GCUBE_DEVSEC = properties.getProperty(GCUBE_DEVSEC_VARNAME);
GCUBE_DEVSEC_DEVVRE = properties.getProperty(GCUBE_DEVSEC_DEVVRE_VARNAME);
DEFAULT_TEST_SCOPE = GCUBE_DEVNEXT;
ALTERNATIVE_TEST_SCOPE = GCUBE_DEVSEC;
}
public static String getCurrentScope(String token) throws ObjectNotFound, Exception{
AuthorizationEntry authorizationEntry = Constants.authorizationService().get(token);
String context = authorizationEntry.getContext();
logger.info("Context of token {} is {}", token, context);
return context;
}
public static void setContext(String token) throws ObjectNotFound, Exception{
SecurityTokenProvider.instance.set(token);
ScopeProvider.instance.set(getCurrentScope(token));
}
@BeforeClass
public static void beforeClass() throws Exception{
setContext(DEFAULT_TEST_SCOPE);
}
@AfterClass
public static void afterClass() throws Exception{
SecurityTokenProvider.instance.reset();
ScopeProvider.instance.reset();
}
}

View File

@ -8,7 +8,6 @@ import java.net.URISyntaxException;
import java.util.UUID;
import org.gcube.accounting.datamodel.UsageRecord.OperationResult;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageStatusRecord;
import org.gcube.accounting.datamodel.basetypes.AbstractStorageUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.JobUsageRecord;
import org.gcube.accounting.datamodel.usagerecords.PortletUsageRecord;
@ -95,7 +94,6 @@ public class TestUsageRecord {
public final static String TEST_RESOUCE_OWNER = "resource.owner";
public final static String TEST_RESOUCE_SCOPE = TEST_SCOPE;
public final static String TEST_RESOURCE_URI = "testprotocol://objectURI";
public final static String TEST_PROVIDER_URI = "testprotocol://providerURI";
private final static long MIN_DATA_VOLUME = 1024;
@ -112,9 +110,7 @@ public class TestUsageRecord {
usageRecord.setOperationResult(TEST_OPERATION_RESULT);
usageRecord.setResourceOwner(TEST_RESOUCE_OWNER);
usageRecord.setResourceScope(TEST_RESOUCE_SCOPE);
usageRecord.setResourceURI(new URI(TEST_RESOURCE_URI));
usageRecord.setProviderURI(new URI(TEST_PROVIDER_URI));
usageRecord.setOperationType(AbstractStorageUsageRecord.OperationType.READ);
@ -137,17 +133,15 @@ public class TestUsageRecord {
* Create a valid #StorageVolumeUsageRecord with scope set automatically.
* @return the created #StorageVolumeUsageRecord
*/
@SuppressWarnings("deprecation")
public static StorageStatusRecord createTestStorageVolumeUsageRecord() {
StorageStatusRecord usageRecord = new StorageStatusRecord();
try {
usageRecord.setConsumerId(TEST_CONSUMER_ID);
usageRecord.setOperationResult(TEST_OPERATION_RESULT);
usageRecord.setDataVolume(generateRandomLong(MIN_DATA_VOLUME, MAX_DATA_VOLUME));
usageRecord.setDataType(AbstractStorageStatusRecord.DataType.STORAGE);
usageRecord.setDataType(AbstractStorageUsageRecord.DataType.STORAGE);
usageRecord.setDataCount(generateRandomLong(MIN_DATA_VOLUME, MAX_DATA_VOLUME));
usageRecord.setDataServiceClass("dataServiceClass");
usageRecord.setDataServiceName("dataServiceName");
usageRecord.setDataServiceId("dataServiceId");
usageRecord.setProviderId(new URI(TEST_PROVIDER_URI));

2
src/test/resources/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/token.properties
/*.gcubekey

View File

@ -2,17 +2,21 @@
<!DOCTYPE xml>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0}: %msg%n</pattern>
</encoder>
</appender>
<logger name="org.gcube" level="TRACE" />
<appender name="STDOUT"
class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0}: %msg%n</pattern>
</encoder>
</appender>
<logger name="org.gcube" level="ERROR" />
<!-- logger name="org.gcube.documentstore" level="INFO" / -->
<!-- logger name="org.gcube.accounting" level="TRACE" / -->
<!-- logger name="org.gcube.accounting.datamodel.validations.validators.Harmonizer" level="ERROR" /-->
<logger name="org.gcube.accounting.datamodel.aggregation" level="TRACE" />
<root level="WARN">
<appender-ref ref="STDOUT" />
</root>
<root level="WARN">
<appender-ref ref="STDOUT" />
</root>
</configuration>

View File

@ -0,0 +1,2 @@
DataAccess,3MConnector,gcube/service/connect
DataAccess,3MConnector,/gcube/service/connect
1 DataAccess 3MConnector gcube/service/connect
2 DataAccess 3MConnector /gcube/service/connect

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "DataAccess",
"serviceNameRegex": "3MConnector",
"calledMethodRegex": "^\/{0,1}gcube\/service\/connect.*"
},
"replace": {
"serviceClass": "DataAccess",
"serviceName": "3MConnector",
"calledMethod": "connect"
}
}

View File

@ -0,0 +1,2 @@
DataAccess,3MConnector,gcube/service/disconnect
DataAccess,3MConnector,/gcube/service/disconnect
1 DataAccess 3MConnector gcube/service/disconnect
2 DataAccess 3MConnector /gcube/service/disconnect

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "DataAccess",
"serviceNameRegex": "3MConnector",
"calledMethodRegex": "^\/{0,1}gcube\/service\/disconnect.*"
},
"replace": {
"serviceClass": "DataAccess",
"serviceName": "3MConnector",
"calledMethod": "disconnect"
}
}

View File

@ -0,0 +1,14 @@
DataAccess,ShareLatex,UNKNOWN
DataAccess,SpeciesProductsDiscovery,UNKNOWN
DataAnalysis,TabularData,UNKNOWN
InformationSystem,ICProxy,UNKNOWN
InformationSystem,IS-Collector,UNKNOWN
InformationSystem,IS-Notifier,UNKNOWN
InformationSystem,IS-Registry,UNKNOWN
Portal,SocialNetworking,UNKNOWN
ResourceManagement,FHNManager,UNKNOWN
VREManagement,ResourceManager,UNKNOWN
dataanalysis,dataminer-pool-manager,UNKNOWN
WPS,DataMiner,UNKNOWN
VREManagement,SmartExecutor,UNKNOWN
VREManagement,smart-executor,UNKNOWN
1 DataAccess ShareLatex UNKNOWN
2 DataAccess SpeciesProductsDiscovery UNKNOWN
3 DataAnalysis TabularData UNKNOWN
4 InformationSystem ICProxy UNKNOWN
5 InformationSystem IS-Collector UNKNOWN
6 InformationSystem IS-Notifier UNKNOWN
7 InformationSystem IS-Registry UNKNOWN
8 Portal SocialNetworking UNKNOWN
9 ResourceManagement FHNManager UNKNOWN
10 VREManagement ResourceManager UNKNOWN
11 dataanalysis dataminer-pool-manager UNKNOWN
12 WPS DataMiner UNKNOWN
13 VREManagement SmartExecutor UNKNOWN
14 VREManagement smart-executor UNKNOWN

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(?<ServiceClass>.*)",
"serviceNameRegex": "(?<ServiceName>.*)",
"calledMethodRegex": "UNKNOWN"
},
"replace": {
"serviceClass": "${ServiceClass}",
"serviceName": "${ServiceName}",
"calledMethod": "OTHER"
}
}

View File

@ -0,0 +1,670 @@
Common,AuthorizationService,gcube/service/generate/aconrad
Common,AuthorizationService,gcube/service/generate/afalierou
Common,AuthorizationService,gcube/service/generate/akarasimos
Common,AuthorizationService,gcube/service/generate/alejandrocallara
Common,AuthorizationService,gcube/service/generate/emsbach
Common,AuthorizationService,gcube/service/generate/enrico.anello
Common,AuthorizationService,gcube/service/generate/eric.foucher
Common,AuthorizationService,gcube/service/generate/fabio.carrara90
Common,AuthorizationService,gcube/service/generate/jacq.fabienne
Common,AuthorizationService,gcube/service/generate/realgcp
Common,AuthorizationService,gcube/service/generate/risse
Common,AuthorizationService,gcube/service/generate/roberthuber
Common,AuthorizationService,gcube/service/generate/roberto.cirillo
Common,AuthorizationService,gcube/service/generate/4.facchini
Common,AuthorizationService,gcube/service/generate/4tikhonov
Common,AuthorizationService,gcube/service/generate/a.benmhamed
Common,AuthorizationService,gcube/service/generate/a.ellenbroek
Common,AuthorizationService,gcube/service/generate/a.muscella
Common,AuthorizationService,gcube/service/generate/abhikjana1
Common,AuthorizationService,gcube/service/generate/abu.shaheen
Common,AuthorizationService,gcube/service/generate/achille
Common,AuthorizationService,gcube/service/generate/acmilanfan
Common,AuthorizationService,gcube/service/generate/acris
Common,AuthorizationService,gcube/service/generate/adele
Common,AuthorizationService,gcube/service/generate/adeline
Common,AuthorizationService,gcube/service/generate/aikimoto
Common,AuthorizationService,gcube/service/generate/alaimos
Common,AuthorizationService,gcube/service/generate/ale.olivieri84
Common,AuthorizationService,gcube/service/generate/ale.pulse
Common,AuthorizationService,gcube/service/generate/cedber
Common,AuthorizationService,gcube/service/generate/cfwelch
Common,AuthorizationService,gcube/service/generate/emmanuel.blondel
Common,AuthorizationService,gcube/service/generate/emostarda
Common,AuthorizationService,gcube/service/generate/enrico.candino
Common,AuthorizationService,gcube/service/generate/enrique
Common,AuthorizationService,gcube/service/generate/eoghan.kelly
Common,AuthorizationService,gcube/service/generate/epournaras
Common,AuthorizationService,gcube/service/generate/eugenio
Common,AuthorizationService,gcube/service/generate/f.ilievski
Common,AuthorizationService,gcube/service/generate/fab.butini
Common,AuthorizationService,gcube/service/generate/fabio.fiorellato
Common,AuthorizationService,gcube/service/generate/fabio.saracco
Common,AuthorizationService,gcube/service/generate/fabio.sinibaldi
Common,AuthorizationService,gcube/service/generate/fabio2111
Common,AuthorizationService,gcube/service/generate/ivano.dini
Common,AuthorizationService,gcube/service/generate/j.duarteg
Common,AuthorizationService,gcube/service/generate/jaanbi.jb
Common,AuthorizationService,gcube/service/generate/jason.cope
Common,AuthorizationService,gcube/service/generate/jdaen
Common,AuthorizationService,gcube/service/generate/jean-noel.druon
Common,AuthorizationService,gcube/service/generate/raularones
Common,AuthorizationService,gcube/service/generate/rebecca.spinelli
Common,AuthorizationService,gcube/service/generate/recon.hungary
Common,AuthorizationService,gcube/service/generate/retos
Common,AuthorizationService,gcube/service/generate/rinzivillo
Common,AuthorizationService,gcube/service/generate/roanne.collins
Common,AuthorizationService,gcube/service/generate/roar.nybo
Common,AuthorizationService,gcube/service/generate/robert.lefebure
Common,AuthorizationService,gcube/service/generate/roberta
Common,AuthorizationService,gcube/service/generate/roberto.aquilano
Common,AuthorizationService,gcube/service/generate/v.maffione
Common,AuthorizationService,gcube/service/generate/alessandrachirivi
Common,AuthorizationService,gcube/service/generate/alessandro.chessa
Common,AuthorizationService,gcube/service/generate/alessandro.ciattaglia
Common,AuthorizationService,gcube/service/generate/alessandro.pieve
Common,AuthorizationService,gcube/service/generate/alessandro.suglia
Common,AuthorizationService,gcube/service/generate/alessandro.tibo
Common,AuthorizationService,gcube/service/generate/alessia.bardi
Common,AuthorizationService,gcube/service/generate/alexander.richter
Common,AuthorizationService,gcube/service/generate/alexandra.schwaab
Common,AuthorizationService,gcube/service/generate/alexandre.morin
Common,AuthorizationService,gcube/service/generate/alfred.sandstrom
Common,AuthorizationService,gcube/service/generate/alina.sirbu
Common,AuthorizationService,gcube/service/generate/am
Common,AuthorizationService,gcube/service/generate/amir.menczel
Common,AuthorizationService,gcube/service/generate/amishra
Common,AuthorizationService,gcube/service/generate/amnocas
Common,AuthorizationService,gcube/service/generate/anais.turpault.1
Common,AuthorizationService,gcube/service/generate/anastasis
Common,AuthorizationService,gcube/service/generate/andras
Common,AuthorizationService,gcube/service/generate/andre.boustany
Common,AuthorizationService,gcube/service/generate/andrea
Common,AuthorizationService,gcube/service/generate/andrea.dellamico
Common,AuthorizationService,gcube/service/generate/andrea.dessi
Common,AuthorizationService,gcube/service/generate/andrea.manieri
Common,AuthorizationService,gcube/service/generate/andrea.mannocci
Common,AuthorizationService,gcube/service/generate/andrea.manzi.1
Common,AuthorizationService,gcube/service/generate/andrea.marchetti
Common,AuthorizationService,gcube/service/generate/andrea.musco
Common,AuthorizationService,gcube/service/generate/andrea.pizzo
Common,AuthorizationService,gcube/service/generate/andrea.rossi
Common,AuthorizationService,gcube/service/generate/andreacimino
Common,AuthorizationService,gcube/service/generate/andreaferracani
Common,AuthorizationService,gcube/service/generate/andreas.bannach
Common,AuthorizationService,gcube/service/generate/andrej.lapanje
Common,AuthorizationService,gcube/service/generate/ankushjain3005
Common,AuthorizationService,gcube/service/generate/anna
Common,AuthorizationService,gcube/service/generate/anna.molino
Common,AuthorizationService,gcube/service/generate/anna.pineau
Common,AuthorizationService,gcube/service/generate/annamolino
Common,AuthorizationService,gcube/service/generate/annarita.liburdi
Common,AuthorizationService,gcube/service/generate/anne-lauscher
Common,AuthorizationService,gcube/service/generate/anne.cooper
Common,AuthorizationService,gcube/service/generate/anni.pauly
Common,AuthorizationService,gcube/service/generate/antgers
Common,AuthorizationService,gcube/service/generate/antoine.rougier
Common,AuthorizationService,gcube/service/generate/anton.ellenbroek
Common,AuthorizationService,gcube/service/generate/antonino.crivello
Common,AuthorizationService,gcube/service/generate/antonio.gioia82
Common,AuthorizationService,gcube/service/generate/antonio.maffia
Common,AuthorizationService,gcube/service/generate/anupama6d
Common,AuthorizationService,gcube/service/generate/arusso
Common,AuthorizationService,gcube/service/generate/attardi
Common,AuthorizationService,gcube/service/generate/attila.kreiter
Common,AuthorizationService,gcube/service/generate/atzori
Common,AuthorizationService,gcube/service/generate/aureliano.gentile
Common,AuthorizationService,gcube/service/generate/aureliano.gentile.1
Common,AuthorizationService,gcube/service/generate/aveti123
Common,AuthorizationService,gcube/service/generate/avnispen
Common,AuthorizationService,gcube/service/generate/aymen.charef
Common,AuthorizationService,gcube/service/generate/b.crotti
Common,AuthorizationService,gcube/service/generate/banski
Common,AuthorizationService,gcube/service/generate/baoxu.shi
Common,AuthorizationService,gcube/service/generate/baptiste.grenier
Common,AuthorizationService,gcube/service/generate/barbara.furletti
Common,AuthorizationService,gcube/service/generate/bartj
Common,AuthorizationService,gcube/service/generate/bassobassista
Common,AuthorizationService,gcube/service/generate/bastienmerigot
Common,AuthorizationService,gcube/service/generate/baudouin.raoult
Common,AuthorizationService,gcube/service/generate/benedetti.filippo
Common,AuthorizationService,gcube/service/generate/benin80
Common,AuthorizationService,gcube/service/generate/benlukepayne
Common,AuthorizationService,gcube/service/generate/bfetahu
Common,AuthorizationService,gcube/service/generate/bichen.shi
Common,AuthorizationService,gcube/service/generate/bramvm
Common,AuthorizationService,gcube/service/generate/brdar.sanja
Common,AuthorizationService,gcube/service/generate/bruna.baldacci
Common,AuthorizationService,gcube/service/generate/camara.arthur
Common,AuthorizationService,gcube/service/generate/cardosolg15
Common,AuthorizationService,gcube/service/generate/carlo.demedio
Common,AuthorizationService,gcube/service/generate/carlo.meghini
Common,AuthorizationService,gcube/service/generate/casper
Common,AuthorizationService,gcube/service/generate/ch.dimitrakopoulos
Common,AuthorizationService,gcube/service/generate/chabchoub.mohamed.ing
Common,AuthorizationService,gcube/service/generate/chanikarn.yongstar
Common,AuthorizationService,gcube/service/generate/chantel.wetzel
Common,AuthorizationService,gcube/service/generate/charlesriondet
Common,AuthorizationService,gcube/service/generate/chengtac
Common,AuthorizationService,gcube/service/generate/chiara.cozzi87
Common,AuthorizationService,gcube/service/generate/ching.villanueva
Common,AuthorizationService,gcube/service/generate/chloe.guillerme18
Common,AuthorizationService,gcube/service/generate/chris.lynam
Common,AuthorizationService,gcube/service/generate/christophe.lett
Common,AuthorizationService,gcube/service/generate/christoschatzimichail
Common,AuthorizationService,gcube/service/generate/ciaran.kelly
Common,AuthorizationService,gcube/service/generate/cinzia.luddi
Common,AuthorizationService,gcube/service/generate/ciro.formisano
Common,AuthorizationService,gcube/service/generate/claire.caralp
Common,AuthorizationService,gcube/service/generate/clara.peron22
Common,AuthorizationService,gcube/service/generate/claudio.atzori
Common,AuthorizationService,gcube/service/generate/claudio.vairo
Common,AuthorizationService,gcube/service/generate/cmspinto
Common,AuthorizationService,gcube/service/generate/colica
Common,AuthorizationService,gcube/service/generate/colin.millar
Common,AuthorizationService,gcube/service/generate/congminh91
Common,AuthorizationService,gcube/service/generate/costantino.perciante
Common,AuthorizationService,gcube/service/generate/costantino8
Common,AuthorizationService,gcube/service/generate/cp
Common,AuthorizationService,gcube/service/generate/creverte
Common,AuthorizationService,gcube/service/generate/cristina.muntean
Common,AuthorizationService,gcube/service/generate/cristina.ribeiro
Common,AuthorizationService,gcube/service/generate/csedayski
Common,AuthorizationService,gcube/service/generate/d.bonciani
Common,AuthorizationService,gcube/service/generate/d.rout
Common,AuthorizationService,gcube/service/generate/dalvarez
Common,AuthorizationService,gcube/service/generate/daniele.conversa
Common,AuthorizationService,gcube/service/generate/daniele.regoli
Common,AuthorizationService,gcube/service/generate/darkohric
Common,AuthorizationService,gcube/service/generate/darpap
Common,AuthorizationService,gcube/service/generate/david.richardson
Common,AuthorizationService,gcube/service/generate/davidcurrie2001
Common,AuthorizationService,gcube/service/generate/davide.gazze
Common,AuthorizationService,gcube/service/generate/davide.madonna
Common,AuthorizationService,gcube/service/generate/davordavidovic
Common,AuthorizationService,gcube/service/generate/dddejean
Common,AuthorizationService,gcube/service/generate/debbi.pedreschi
Common,AuthorizationService,gcube/service/generate/deepqa
Common,AuthorizationService,gcube/service/generate/denispyr
Common,AuthorizationService,gcube/service/generate/diaabakkour
Common,AuthorizationService,gcube/service/generate/diegoref
Common,AuthorizationService,gcube/service/generate/dieuthule
Common,AuthorizationService,gcube/service/generate/dkatris
Common,AuthorizationService,gcube/service/generate/doertedk
Common,AuthorizationService,gcube/service/generate/domvit
Common,AuthorizationService,gcube/service/generate/donatella.castelli
Common,AuthorizationService,gcube/service/generate/dorian.seillier
Common,AuthorizationService,gcube/service/generate/dorothee.rebscher
Common,AuthorizationService,gcube/service/generate/dostojic
Common,AuthorizationService,gcube/service/generate/douwe.zeldenrust
Common,AuthorizationService,gcube/service/generate/dpavia
Common,AuthorizationService,gcube/service/generate/driad
Common,AuthorizationService,gcube/service/generate/driad91
Common,AuthorizationService,gcube/service/generate/driad91tagme1
Common,AuthorizationService,gcube/service/generate/driad91tagme2
Common,AuthorizationService,gcube/service/generate/driad91tagme3
Common,AuthorizationService,gcube/service/generate/driad91tagme4
Common,AuthorizationService,gcube/service/generate/driad91tagme5
Common,AuthorizationService,gcube/service/generate/dzjowk
Common,AuthorizationService,gcube/service/generate/e.f.ramezani
Common,AuthorizationService,gcube/service/generate/e.nrico
Common,AuthorizationService,gcube/service/generate/e.theodorakopoulos
Common,AuthorizationService,gcube/service/generate/ecarrasco
Common,AuthorizationService,gcube/service/generate/edi
Common,AuthorizationService,gcube/service/generate/efer
Common,AuthorizationService,gcube/service/generate/egoddard
Common,AuthorizationService,gcube/service/generate/egouli
Common,AuthorizationService,gcube/service/generate/ehudson
Common,AuthorizationService,gcube/service/generate/elenipetra
Common,AuthorizationService,gcube/service/generate/elibiel
Common,AuthorizationService,gcube/service/generate/elsyjang
Common,AuthorizationService,gcube/service/generate/elzi
Common,AuthorizationService,gcube/service/generate/emghufran
Common,AuthorizationService,gcube/service/generate/emilie
Common,AuthorizationService,gcube/service/generate/emilio
Common,AuthorizationService,gcube/service/generate/fabiocarlomolinari
Common,AuthorizationService,gcube/service/generate/fede.fierli
Common,AuthorizationService,gcube/service/generate/felix.cremer
Common,AuthorizationService,gcube/service/generate/flavio.dimartino
Common,AuthorizationService,gcube/service/generate/franca.debole
Common,AuthorizationService,gcube/service/generate/francesca
Common,AuthorizationService,gcube/service/generate/francesca.beni
Common,AuthorizationService,gcube/service/generate/francesca.morselli
Common,AuthorizationService,gcube/service/generate/francesca.pratesi
Common,AuthorizationService,gcube/service/generate/francesco.cerasuolo
Common,AuthorizationService,gcube/service/generate/francesco.mangiacrapa
Common,AuthorizationService,gcube/service/generate/franco
Common,AuthorizationService,gcube/service/generate/franco.zoppi
Common,AuthorizationService,gcube/service/generate/francois.andre
Common,AuthorizationService,gcube/service/generate/francois.guilhaumon
Common,AuthorizationService,gcube/service/generate/franz.bender
Common,AuthorizationService,gcube/service/generate/frippe12573
Common,AuthorizationService,gcube/service/generate/fuqi.song
Common,AuthorizationService,gcube/service/generate/fz.osheee
Common,AuthorizationService,gcube/service/generate/g.gola
Common,AuthorizationService,gcube/service/generate/g.magro
Common,AuthorizationService,gcube/service/generate/g.serra94
Common,AuthorizationService,gcube/service/generate/gabriele.giammatteo
Common,AuthorizationService,gcube/service/generate/gantzoulatos
Common,AuthorizationService,gcube/service/generate/gareth.burns
Common,AuthorizationService,gcube/service/generate/gc.rodi
Common,AuthorizationService,gcube/service/generate/gearmonkey
Common,AuthorizationService,gcube/service/generate/george.kakaletris
Common,AuthorizationService,gcube/service/generate/georgeb
Common,AuthorizationService,gcube/service/generate/georgia
Common,AuthorizationService,gcube/service/generate/gerhardgossen
Common,AuthorizationService,gcube/service/generate/gerold.diepolder
Common,AuthorizationService,gcube/service/generate/gfarantatos
Common,AuthorizationService,gcube/service/generate/giacomo-chato.osio
Common,AuthorizationService,gcube/service/generate/giammarinodomenico
Common,AuthorizationService,gcube/service/generate/giancarlo.panichi
Common,AuthorizationService,gcube/service/generate/giancarlo.riolo
Common,AuthorizationService,gcube/service/generate/gianluca.diodato
Common,AuthorizationService,gcube/service/generate/gianmarco.santini
Common,AuthorizationService,gcube/service/generate/gianpaolo.coro
Common,AuthorizationService,gcube/service/generate/giovanna.marino
Common,AuthorizationService,gcube/service/generate/giulia.gorelli
Common,AuthorizationService,gcube/service/generate/giulio.masetti
Common,AuthorizationService,gcube/service/generate/giulio.rossetti
Common,AuthorizationService,gcube/service/generate/giuseppe.demaio1982
Common,AuthorizationService,gcube/service/generate/giusyandresini
Common,AuthorizationService,gcube/service/generate/gmacho
Common,AuthorizationService,gcube/service/generate/go
Common,AuthorizationService,gcube/service/generate/gomez
Common,AuthorizationService,gcube/service/generate/gorenikhilm
Common,AuthorizationService,gcube/service/generate/graziella.pastore
Common,AuthorizationService,gcube/service/generate/grenci
Common,AuthorizationService,gcube/service/generate/guest.d4science
Common,AuthorizationService,gcube/service/generate/guidotti
Common,AuthorizationService,gcube/service/generate/guitton
Common,AuthorizationService,gcube/service/generate/guntram.geser
Common,AuthorizationService,gcube/service/generate/haakon.otteraa
Common,AuthorizationService,gcube/service/generate/haenold
Common,AuthorizationService,gcube/service/generate/hansmichael.hohenegger
Common,AuthorizationService,gcube/service/generate/happymcflabs
Common,AuthorizationService,gcube/service/generate/haritha
Common,AuthorizationService,gcube/service/generate/hbuesing
Common,AuthorizationService,gcube/service/generate/heiko.tjalsma
Common,AuthorizationService,gcube/service/generate/hella
Common,AuthorizationService,gcube/service/generate/henrikkn
Common,AuthorizationService,gcube/service/generate/herve.demarcq
Common,AuthorizationService,gcube/service/generate/hkatsiad
Common,AuthorizationService,gcube/service/generate/hosseinfani
Common,AuthorizationService,gcube/service/generate/hube
Common,AuthorizationService,gcube/service/generate/hyaline0317
Common,AuthorizationService,gcube/service/generate/i.galluccio
Common,AuthorizationService,gcube/service/generate/i.roberts
Common,AuthorizationService,gcube/service/generate/ikarkalakos
Common,AuthorizationService,gcube/service/generate/ilaros
Common,AuthorizationService,gcube/service/generate/illmk
Common,AuthorizationService,gcube/service/generate/imoise
Common,AuthorizationService,gcube/service/generate/imzilen.taha
Common,AuthorizationService,gcube/service/generate/ingemar
Common,AuthorizationService,gcube/service/generate/ingibj
Common,AuthorizationService,gcube/service/generate/irlfisheriescontrol
Common,AuthorizationService,gcube/service/generate/iryna.solodovnik
Common,AuthorizationService,gcube/service/generate/ithasitis
Common,AuthorizationService,gcube/service/generate/jeanjacquesmaguire
Common,AuthorizationService,gcube/service/generate/jennifer.koritko
Common,AuthorizationService,gcube/service/generate/jenniferedmond
Common,AuthorizationService,gcube/service/generate/jeroen.cichy
Common,AuthorizationService,gcube/service/generate/jessica.michel
Common,AuthorizationService,gcube/service/generate/jhdez32
Common,AuthorizationService,gcube/service/generate/jie.cao
Common,AuthorizationService,gcube/service/generate/jim.berkson
Common,AuthorizationService,gcube/service/generate/jlebras
Common,AuthorizationService,gcube/service/generate/jniederau
Common,AuthorizationService,gcube/service/generate/jo
Common,AuthorizationService,gcube/service/generate/joao
Common,AuthorizationService,gcube/service/generate/johann.petrak
Common,AuthorizationService,gcube/service/generate/john.f.walter
Common,AuthorizationService,gcube/service/generate/jon.helge.voelstad
Common,AuthorizationService,gcube/service/generate/jonas.eberle
Common,AuthorizationService,gcube/service/generate/jonasp
Common,AuthorizationService,gcube/service/generate/jonhelge
Common,AuthorizationService,gcube/service/generate/jopfeiff
Common,AuthorizationService,gcube/service/generate/joseangelgomezlopez
Common,AuthorizationService,gcube/service/generate/josef.weber
Common,AuthorizationService,gcube/service/generate/jsadler2
Common,AuthorizationService,gcube/service/generate/jsg
Common,AuthorizationService,gcube/service/generate/jsteenbeek
Common,AuthorizationService,gcube/service/generate/juan.gil
Common,AuthorizationService,gcube/service/generate/juldebar
Common,AuthorizationService,gcube/service/generate/jules.selles
Common,AuthorizationService,gcube/service/generate/julia.calderwood
Common,AuthorizationService,gcube/service/generate/julia.welter
Common,AuthorizationService,gcube/service/generate/julien.barde
Common,AuthorizationService,gcube/service/generate/k.akchouch
Common,AuthorizationService,gcube/service/generate/k.giannakelos
Common,AuthorizationService,gcube/service/generate/k.seferis
Common,AuthorizationService,gcube/service/generate/k.verbrugge
Common,AuthorizationService,gcube/service/generate/kadji.okou
Common,AuthorizationService,gcube/service/generate/kaja.czajkowska15
Common,AuthorizationService,gcube/service/generate/kandrews
Common,AuthorizationService,gcube/service/generate/karolina.reducha
Common,AuthorizationService,gcube/service/generate/katerina.papadaki
Common,AuthorizationService,gcube/service/generate/katrin.kieling
Common,AuthorizationService,gcube/service/generate/kbbe4life
Common,AuthorizationService,gcube/service/generate/kees.waterman
Common,AuthorizationService,gcube/service/generate/kevin.j.mccarthy
Common,AuthorizationService,gcube/service/generate/khan.bill
Common,AuthorizationService,gcube/service/generate/kiran.viparthi
Common,AuthorizationService,gcube/service/generate/kmihalopoulos
Common,AuthorizationService,gcube/service/generate/kmok93
Common,AuthorizationService,gcube/service/generate/kojo
Common,AuthorizationService,gcube/service/generate/konsolak
Common,AuthorizationService,gcube/service/generate/kostas.kakaletris
Common,AuthorizationService,gcube/service/generate/kostashirikakis
Common,AuthorizationService,gcube/service/generate/kotu
Common,AuthorizationService,gcube/service/generate/koubbi
Common,AuthorizationService,gcube/service/generate/kristiinahommik
Common,AuthorizationService,gcube/service/generate/kstef
Common,AuthorizationService,gcube/service/generate/kulkabarb
Common,AuthorizationService,gcube/service/generate/laepke
Common,AuthorizationService,gcube/service/generate/lailloud
Common,AuthorizationService,gcube/service/generate/lalalarudisha
Common,AuthorizationService,gcube/service/generate/lambrosio66
Common,AuthorizationService,gcube/service/generate/largesi
Common,AuthorizationService,gcube/service/generate/laurafonbo
Common,AuthorizationService,gcube/service/generate/laurent.romary
Common,AuthorizationService,gcube/service/generate/lena.schreiter
Common,AuthorizationService,gcube/service/generate/leneoffersgaard
Common,AuthorizationService,gcube/service/generate/leonardo.candela
Common,AuthorizationService,gcube/service/generate/leonardo.candela.1
Common,AuthorizationService,gcube/service/generate/levi.westerveld
Common,AuthorizationService,gcube/service/generate/leyre.goti
Common,AuthorizationService,gcube/service/generate/libohan
Common,AuthorizationService,gcube/service/generate/lina
Common,AuthorizationService,gcube/service/generate/lise.cronne
Common,AuthorizationService,gcube/service/generate/lishchuk
Common,AuthorizationService,gcube/service/generate/lixiaolimail1
Common,AuthorizationService,gcube/service/generate/liz.brooks
Common,AuthorizationService,gcube/service/generate/loic.lefoll
Common,AuthorizationService,gcube/service/generate/loisg9
Common,AuthorizationService,gcube/service/generate/loredana.versienti
Common,AuthorizationService,gcube/service/generate/lorenzo.gabrielli
Common,AuthorizationService,gcube/service/generate/luca.frosini
Common,AuthorizationService,gcube/service/generate/luca.pilato
Common,AuthorizationService,gcube/service/generate/luca.sarti
Common,AuthorizationService,gcube/service/generate/lucafrosini
Common,AuthorizationService,gcube/service/generate/lucapappalardo1984
Common,AuthorizationService,gcube/service/generate/lucio.lelii
Common,AuthorizationService,gcube/service/generate/lucy.bastin
Common,AuthorizationService,gcube/service/generate/lvlijun1992
Common,AuthorizationService,gcube/service/generate/m.assante
Common,AuthorizationService,gcube/service/generate/m.laurenzi
Common,AuthorizationService,gcube/service/generate/m.pennisi
Common,AuthorizationService,gcube/service/generate/m.scarpellini
Common,AuthorizationService,gcube/service/generate/m.tanzifi
Common,AuthorizationService,gcube/service/generate/maciej.ogrodniczuk
Common,AuthorizationService,gcube/service/generate/magliozzi
Common,AuthorizationService,gcube/service/generate/maiken.bjorkan
Common,AuthorizationService,gcube/service/generate/manu
Common,AuthorizationService,gcube/service/generate/manuela.degiorgi
Common,AuthorizationService,gcube/service/generate/manuele.simi.1
Common,AuthorizationService,gcube/service/generate/manugoacolou
Common,AuthorizationService,gcube/service/generate/marc.kemps.snijders
Common,AuthorizationService,gcube/service/generate/marc.taconet
Common,AuthorizationService,gcube/service/generate/marc.taylor
Common,AuthorizationService,gcube/service/generate/marco.barsacchi
Common,AuthorizationService,gcube/service/generate/marco.brandizi
Common,AuthorizationService,gcube/service/generate/marcocornolti
Common,AuthorizationService,gcube/service/generate/mardones.mauricio
Common,AuthorizationService,gcube/service/generate/margaridahermida
Common,AuthorizationService,gcube/service/generate/margarita.rincon
Common,AuthorizationService,gcube/service/generate/margheritasidoti
Common,AuthorizationService,gcube/service/generate/mariaantonietta.digirolamo
Common,AuthorizationService,gcube/service/generate/mariadigirolamo
Common,AuthorizationService,gcube/service/generate/marie.puren
Common,AuthorizationService,gcube/service/generate/mark.hedges
Common,AuthorizationService,gcube/service/generate/mark.luckins
Common,AuthorizationService,gcube/service/generate/marlon.dumas
Common,AuthorizationService,gcube/service/generate/martacastillejo
Common,AuthorizationService,gcube/service/generate/martacat90
Common,AuthorizationService,gcube/service/generate/martina.bocci.1
Common,AuthorizationService,gcube/service/generate/marycchristman
Common,AuthorizationService,gcube/service/generate/marzia.piron
Common,AuthorizationService,gcube/service/generate/massi.tempadmin
Common,AuthorizationService,gcube/service/generate/massimiliano
Common,AuthorizationService,gcube/service/generate/massimiliano.assante
Common,AuthorizationService,gcube/service/generate/massimo.coppola
Common,AuthorizationService,gcube/service/generate/massimo.luchini
Common,AuthorizationService,gcube/service/generate/masterromaeo
Common,AuthorizationService,gcube/service/generate/mat.amadei
Common,AuthorizationService,gcube/service/generate/matej
Common,AuthorizationService,gcube/service/generate/math
Common,AuthorizationService,gcube/service/generate/matteo.corvi
Common,AuthorizationService,gcube/service/generate/matteo.razzanelli
Common,AuthorizationService,gcube/service/generate/matteolorenzini
Common,AuthorizationService,gcube/service/generate/matthias.obst
Common,AuthorizationService,gcube/service/generate/mattia.campana
Common,AuthorizationService,gcube/service/generate/mauricio.mardones
Common,AuthorizationService,gcube/service/generate/mauricio.marrone
Common,AuthorizationService,gcube/service/generate/maurizio.delmonte
Common,AuthorizationService,gcube/service/generate/maurizio.sanesi
Common,AuthorizationService,gcube/service/generate/maurizio.tesconi
Common,AuthorizationService,gcube/service/generate/max.fried
Common,AuthorizationService,gcube/service/generate/mcgener
Common,AuthorizationService,gcube/service/generate/me
Common,AuthorizationService,gcube/service/generate/mecmiller
Common,AuthorizationService,gcube/service/generate/mettem
Common,AuthorizationService,gcube/service/generate/mggraziano
Common,AuthorizationService,gcube/service/generate/mgoacolou
Common,AuthorizationService,gcube/service/generate/michael.mathioudakis
Common,AuthorizationService,gcube/service/generate/michael.musyl
Common,AuthorizationService,gcube/service/generate/micheljess
Common,AuthorizationService,gcube/service/generate/mike
Common,AuthorizationService,gcube/service/generate/mike.ojo
Common,AuthorizationService,gcube/service/generate/mike.priddy
Common,AuthorizationService,gcube/service/generate/miles
Common,AuthorizationService,gcube/service/generate/mincera
Common,AuthorizationService,gcube/service/generate/mister.blonde
Common,AuthorizationService,gcube/service/generate/mister.blue
Common,AuthorizationService,gcube/service/generate/mister.brown
Common,AuthorizationService,gcube/service/generate/mister.pink
Common,AuthorizationService,gcube/service/generate/mister.white
Common,AuthorizationService,gcube/service/generate/misv
Common,AuthorizationService,gcube/service/generate/mmel
Common,AuthorizationService,gcube/service/generate/mmfernandez
Common,AuthorizationService,gcube/service/generate/mnikolopoulos
Common,AuthorizationService,gcube/service/generate/mocamircea
Common,AuthorizationService,gcube/service/generate/mohamed.khemakhem
Common,AuthorizationService,gcube/service/generate/molly.lutcavage
Common,AuthorizationService,gcube/service/generate/monique.simier
Common,AuthorizationService,gcube/service/generate/montegrossi
Common,AuthorizationService,gcube/service/generate/morten.roed
Common,AuthorizationService,gcube/service/generate/motra
Common,AuthorizationService,gcube/service/generate/mthompson
Common,AuthorizationService,gcube/service/generate/musthafa.m1996
Common,AuthorizationService,gcube/service/generate/mvalternativo
Common,AuthorizationService,gcube/service/generate/nadia
Common,AuthorizationService,gcube/service/generate/nancie.cummings
Common,AuthorizationService,gcube/service/generate/nanni.federico
Common,AuthorizationService,gcube/service/generate/robertoscopigno
Common,AuthorizationService,gcube/service/generate/natalia.andrienko
Common,AuthorizationService,gcube/service/generate/nathan.vaughan1
Common,AuthorizationService,gcube/service/generate/naz
Common,AuthorizationService,gcube/service/generate/nicola.aloia
Common,AuthorizationService,gcube/service/generate/nicola.walker
Common,AuthorizationService,gcube/service/generate/nicolas.bailly
Common,AuthorizationService,gcube/service/generate/nicolas.bez
Common,AuthorizationService,gcube/service/generate/nikolas.laskaris
Common,AuthorizationService,gcube/service/generate/nikos.minadakis
Common,AuthorizationService,gcube/service/generate/nils.oesterling
Common,AuthorizationService,gcube/service/generate/nino.antulov
Common,AuthorizationService,gcube/service/generate/nithya.selvaraju
Common,AuthorizationService,gcube/service/generate/nlarrousse
Common,AuthorizationService,gcube/service/generate/nlongepe
Common,AuthorizationService,gcube/service/generate/nloxou
Common,AuthorizationService,gcube/service/generate/norbert.billet
Common,AuthorizationService,gcube/service/generate/ntran
Common,AuthorizationService,gcube/service/generate/nunzioandreagalante
Common,AuthorizationService,gcube/service/generate/o.renda
Common,AuthorizationService,gcube/service/generate/oceandtm
Common,AuthorizationService,gcube/service/generate/oluyemisi.oloruntuyi
Common,AuthorizationService,gcube/service/generate/ondine.cornubert
Common,AuthorizationService,gcube/service/generate/osidirop
Common,AuthorizationService,gcube/service/generate/oyvind.stamnes
Common,AuthorizationService,gcube/service/generate/ozhyhinas
Common,AuthorizationService,gcube/service/generate/pabloruizfabo
Common,AuthorizationService,gcube/service/generate/panagiota.koltsida
Common,AuthorizationService,gcube/service/generate/pangjingwen0422
Common,AuthorizationService,gcube/service/generate/paolo
Common,AuthorizationService,gcube/service/generate/paolo.cintia
Common,AuthorizationService,gcube/service/generate/paolo.fabriani
Common,AuthorizationService,gcube/service/generate/paolo.manghi
Common,AuthorizationService,gcube/service/generate/paolof
Common,AuthorizationService,gcube/service/generate/parklize
Common,AuthorizationService,gcube/service/generate/parrotola
Common,AuthorizationService,gcube/service/generate/pasquale.pagano
Common,AuthorizationService,gcube/service/generate/patricia.reglero
Common,AuthorizationService,gcube/service/generate/patrick.philipp
Common,AuthorizationService,gcube/service/generate/paul
Common,AuthorizationService,gcube/service/generate/paulahmedley
Common,AuthorizationService,gcube/service/generate/paulalee39
Common,AuthorizationService,gcube/service/generate/paultaconet
Common,AuthorizationService,gcube/service/generate/pekka.jounela
Common,AuthorizationService,gcube/service/generate/pengyang823
Common,AuthorizationService,gcube/service/generate/peruzzo
Common,AuthorizationService,gcube/service/generate/petrad
Common,AuthorizationService,gcube/service/generate/petralinks
Common,AuthorizationService,gcube/service/generate/pfonseca
Common,AuthorizationService,gcube/service/generate/phil
Common,AuthorizationService,gcube/service/generate/philipp.kieninger
Common,AuthorizationService,gcube/service/generate/philippe.bryere
Common,AuthorizationService,gcube/service/generate/pierpaolo.petriccione
Common,AuthorizationService,gcube/service/generate/pierre-francois.baisnee
Common,AuthorizationService,gcube/service/generate/pino.vaccaro
Common,AuthorizationService,gcube/service/generate/pitityy56
Common,AuthorizationService,gcube/service/generate/plino
Common,AuthorizationService,gcube/service/generate/ppbeto94
Common,AuthorizationService,gcube/service/generate/proccaserra
Common,AuthorizationService,gcube/service/generate/pronzino
Common,AuthorizationService,gcube/service/generate/prory
Common,AuthorizationService,gcube/service/generate/psiozos
Common,AuthorizationService,gcube/service/generate/qasem
Common,AuthorizationService,gcube/service/generate/qicongc
Common,AuthorizationService,gcube/service/generate/quanap5
Common,AuthorizationService,gcube/service/generate/r.l.p.mahieu
Common,AuthorizationService,gcube/service/generate/r.pechnig
Common,AuthorizationService,gcube/service/generate/rafik.zarrad
Common,AuthorizationService,gcube/service/generate/rahul.bhambri
Common,AuthorizationService,gcube/service/generate/rahult
Common,AuthorizationService,gcube/service/generate/rocio.suarez-jimenez
Common,AuthorizationService,gcube/service/generate/roeder
Common,AuthorizationService,gcube/service/generate/roojan63
Common,AuthorizationService,gcube/service/generate/rtanzifi
Common,AuthorizationService,gcube/service/generate/rtanzifi.1
Common,AuthorizationService,gcube/service/generate/rtl00
Common,AuthorizationService,gcube/service/generate/rtrasarti
Common,AuthorizationService,gcube/service/generate/ruey-cheng.chen
Common,AuthorizationService,gcube/service/generate/ruggero.bertani
Common,AuthorizationService,gcube/service/generate/ruggieri
Common,AuthorizationService,gcube/service/generate/ruth.fernandez
Common,AuthorizationService,gcube/service/generate/s.hamid.sajjadi
Common,AuthorizationService,gcube/service/generate/sam.ed.leon
Common,AuthorizationService,gcube/service/generate/sandra.scalari
Common,AuthorizationService,gcube/service/generate/sandro.labruzzo
Common,AuthorizationService,gcube/service/generate/sara-jane.moore
Common,AuthorizationService,gcube/service/generate/sara.digiorgio
Common,AuthorizationService,gcube/service/generate/sara.garavelli
Common,AuthorizationService,gcube/service/generate/saran
Common,AuthorizationService,gcube/service/generate/sariah.mghames
Common,AuthorizationService,gcube/service/generate/sbellani
Common,AuthorizationService,gcube/service/generate/scaiella
Common,AuthorizationService,gcube/service/generate/scarponi
Common,AuthorizationService,gcube/service/generate/scipioni.michele
Common,AuthorizationService,gcube/service/generate/sdrude
Common,AuthorizationService,gcube/service/generate/selenia.ghio
Common,AuthorizationService,gcube/service/generate/sergio.oramas
Common,AuthorizationService,gcube/service/generate/sergio.palumbo
Common,AuthorizationService,gcube/service/generate/sfirdaus
Common,AuthorizationService,gcube/service/generate/sganoti
Common,AuthorizationService,gcube/service/generate/shaaf
Common,AuthorizationService,gcube/service/generate/shashikdmn
Common,AuthorizationService,gcube/service/generate/sheenab
Common,AuthorizationService,gcube/service/generate/sigbjorn.kolberg
Common,AuthorizationService,gcube/service/generate/silvia.agnoletti
Common,AuthorizationService,gcube/service/generate/simon
Common,AuthorizationService,gcube/service/generate/simon.fischer
Common,AuthorizationService,gcube/service/generate/simone.bertoli
Common,AuthorizationService,gcube/service/generate/simonetta.ciuffi
Common,AuthorizationService,gcube/service/generate/sing2370
Common,AuthorizationService,gcube/service/generate/sirianapaonessa
Common,AuthorizationService,gcube/service/generate/sjuli
Common,AuthorizationService,gcube/service/generate/sofie.vandemaele
Common,AuthorizationService,gcube/service/generate/somass
Common,AuthorizationService,gcube/service/generate/spiecker
Common,AuthorizationService,gcube/service/generate/spn1
Common,AuthorizationService,gcube/service/generate/spouyllau
Common,AuthorizationService,gcube/service/generate/statistical.manager
Common,AuthorizationService,gcube/service/generate/stefano.aringhieri
Common,AuthorizationService,gcube/service/generate/stefano.cresci
Common,AuthorizationService,gcube/service/generate/stefanosbarbati
Common,AuthorizationService,gcube/service/generate/steve.nelson.48
Common,AuthorizationService,gcube/service/generate/steve.williams
Common,AuthorizationService,gcube/service/generate/stkak
Common,AuthorizationService,gcube/service/generate/sum1kawa.pregc
Common,AuthorizationService,gcube/service/generate/suntan
Common,AuthorizationService,gcube/service/generate/sven.kluge
Common,AuthorizationService,gcube/service/generate/swilliams
Common,AuthorizationService,gcube/service/generate/sylvain.bonhommeau
Common,AuthorizationService,gcube/service/generate/t.miethe
Common,AuthorizationService,gcube/service/generate/tagtuna
Common,AuthorizationService,gcube/service/generate/taha.imzilen
Common,AuthorizationService,gcube/service/generate/tecnico
Common,AuthorizationService,gcube/service/generate/terhi
Common,AuthorizationService,gcube/service/generate/testpop
Common,AuthorizationService,gcube/service/generate/thorsten.may
Common,AuthorizationService,gcube/service/generate/thorwart
Common,AuthorizationService,gcube/service/generate/tibor.kalman
Common,AuthorizationService,gcube/service/generate/tim.jones
Common,AuthorizationService,gcube/service/generate/tiziana.cantarelli
Common,AuthorizationService,gcube/service/generate/tiziana.scarselli
Common,AuthorizationService,gcube/service/generate/tiziano.squartini
Common,AuthorizationService,gcube/service/generate/tom.d4science
Common,AuthorizationService,gcube/service/generate/tom.skarning
Common,AuthorizationService,gcube/service/generate/tomi.jusri
Common,AuthorizationService,gcube/service/generate/tommaso.piccioli
Common,AuthorizationService,gcube/service/generate/tonyt
Common,AuthorizationService,gcube/service/generate/tristan.rouyer
Common,AuthorizationService,gcube/service/generate/ttolin
Common,AuthorizationService,gcube/service/generate/ttrippel
Common,AuthorizationService,gcube/service/generate/ucdxf
Common,AuthorizationService,gcube/service/generate/user.704788525
Common,AuthorizationService,gcube/service/generate/utente1988
Common,AuthorizationService,gcube/service/generate/valentijn.gilissen
Common,AuthorizationService,gcube/service/generate/valentina.marioli
Common,AuthorizationService,gcube/service/generate/valerio.arnaboldi
Common,AuthorizationService,gcube/service/generate/valerio.bartolino
Common,AuthorizationService,gcube/service/generate/valerio.basile
Common,AuthorizationService,gcube/service/generate/veronica.boarotto
Common,AuthorizationService,gcube/service/generate/vfloros
Common,AuthorizationService,gcube/service/generate/vgravez
Common,AuthorizationService,gcube/service/generate/vgrossi
Common,AuthorizationService,gcube/service/generate/vickyg
Common,AuthorizationService,gcube/service/generate/vincenzo.bacarella
Common,AuthorizationService,gcube/service/generate/viola.bachini
Common,AuthorizationService,gcube/service/generate/vishalbhave
Common,AuthorizationService,gcube/service/generate/vishrawa
Common,AuthorizationService,gcube/service/generate/vittorio
Common,AuthorizationService,gcube/service/generate/warda
Common,AuthorizationService,gcube/service/generate/whitefacedhaggardgrin
Common,AuthorizationService,gcube/service/generate/wiebelitz
Common,AuthorizationService,gcube/service/generate/wmcclin
Common,AuthorizationService,gcube/service/generate/wrabbel
Common,AuthorizationService,gcube/service/generate/wuke1993
Common,AuthorizationService,gcube/service/generate/wwices
Common,AuthorizationService,gcube/service/generate/xavier.favory
Common,AuthorizationService,gcube/service/generate/xuqiongkai
Common,AuthorizationService,gcube/service/generate/yann.laurent
Common,AuthorizationService,gcube/service/generate/yannis.marketakis
Common,AuthorizationService,gcube/service/generate/yannis.tzitzikas
Common,AuthorizationService,gcube/service/generate/ydjong
Common,AuthorizationService,gcube/service/generate/yerko.yutronich
Common,AuthorizationService,gcube/service/generate/yin.chen
Common,AuthorizationService,gcube/service/generate/yorgos
Common,AuthorizationService,gcube/service/generate/ysjtcq
Common,AuthorizationService,gcube/service/generate/zarate
Common,AuthorizationService,gcube/service/generate/zeynep.pekcan.hekim
Common,AuthorizationService,gcube/service/generate/zhang.ym
1 Common AuthorizationService gcube/service/generate/aconrad
2 Common AuthorizationService gcube/service/generate/afalierou
3 Common AuthorizationService gcube/service/generate/akarasimos
4 Common AuthorizationService gcube/service/generate/alejandrocallara
5 Common AuthorizationService gcube/service/generate/emsbach
6 Common AuthorizationService gcube/service/generate/enrico.anello
7 Common AuthorizationService gcube/service/generate/eric.foucher
8 Common AuthorizationService gcube/service/generate/fabio.carrara90
9 Common AuthorizationService gcube/service/generate/jacq.fabienne
10 Common AuthorizationService gcube/service/generate/realgcp
11 Common AuthorizationService gcube/service/generate/risse
12 Common AuthorizationService gcube/service/generate/roberthuber
13 Common AuthorizationService gcube/service/generate/roberto.cirillo
14 Common AuthorizationService gcube/service/generate/4.facchini
15 Common AuthorizationService gcube/service/generate/4tikhonov
16 Common AuthorizationService gcube/service/generate/a.benmhamed
17 Common AuthorizationService gcube/service/generate/a.ellenbroek
18 Common AuthorizationService gcube/service/generate/a.muscella
19 Common AuthorizationService gcube/service/generate/abhikjana1
20 Common AuthorizationService gcube/service/generate/abu.shaheen
21 Common AuthorizationService gcube/service/generate/achille
22 Common AuthorizationService gcube/service/generate/acmilanfan
23 Common AuthorizationService gcube/service/generate/acris
24 Common AuthorizationService gcube/service/generate/adele
25 Common AuthorizationService gcube/service/generate/adeline
26 Common AuthorizationService gcube/service/generate/aikimoto
27 Common AuthorizationService gcube/service/generate/alaimos
28 Common AuthorizationService gcube/service/generate/ale.olivieri84
29 Common AuthorizationService gcube/service/generate/ale.pulse
30 Common AuthorizationService gcube/service/generate/cedber
31 Common AuthorizationService gcube/service/generate/cfwelch
32 Common AuthorizationService gcube/service/generate/emmanuel.blondel
33 Common AuthorizationService gcube/service/generate/emostarda
34 Common AuthorizationService gcube/service/generate/enrico.candino
35 Common AuthorizationService gcube/service/generate/enrique
36 Common AuthorizationService gcube/service/generate/eoghan.kelly
37 Common AuthorizationService gcube/service/generate/epournaras
38 Common AuthorizationService gcube/service/generate/eugenio
39 Common AuthorizationService gcube/service/generate/f.ilievski
40 Common AuthorizationService gcube/service/generate/fab.butini
41 Common AuthorizationService gcube/service/generate/fabio.fiorellato
42 Common AuthorizationService gcube/service/generate/fabio.saracco
43 Common AuthorizationService gcube/service/generate/fabio.sinibaldi
44 Common AuthorizationService gcube/service/generate/fabio2111
45 Common AuthorizationService gcube/service/generate/ivano.dini
46 Common AuthorizationService gcube/service/generate/j.duarteg
47 Common AuthorizationService gcube/service/generate/jaanbi.jb
48 Common AuthorizationService gcube/service/generate/jason.cope
49 Common AuthorizationService gcube/service/generate/jdaen
50 Common AuthorizationService gcube/service/generate/jean-noel.druon
51 Common AuthorizationService gcube/service/generate/raularones
52 Common AuthorizationService gcube/service/generate/rebecca.spinelli
53 Common AuthorizationService gcube/service/generate/recon.hungary
54 Common AuthorizationService gcube/service/generate/retos
55 Common AuthorizationService gcube/service/generate/rinzivillo
56 Common AuthorizationService gcube/service/generate/roanne.collins
57 Common AuthorizationService gcube/service/generate/roar.nybo
58 Common AuthorizationService gcube/service/generate/robert.lefebure
59 Common AuthorizationService gcube/service/generate/roberta
60 Common AuthorizationService gcube/service/generate/roberto.aquilano
61 Common AuthorizationService gcube/service/generate/v.maffione
62 Common AuthorizationService gcube/service/generate/alessandrachirivi
63 Common AuthorizationService gcube/service/generate/alessandro.chessa
64 Common AuthorizationService gcube/service/generate/alessandro.ciattaglia
65 Common AuthorizationService gcube/service/generate/alessandro.pieve
66 Common AuthorizationService gcube/service/generate/alessandro.suglia
67 Common AuthorizationService gcube/service/generate/alessandro.tibo
68 Common AuthorizationService gcube/service/generate/alessia.bardi
69 Common AuthorizationService gcube/service/generate/alexander.richter
70 Common AuthorizationService gcube/service/generate/alexandra.schwaab
71 Common AuthorizationService gcube/service/generate/alexandre.morin
72 Common AuthorizationService gcube/service/generate/alfred.sandstrom
73 Common AuthorizationService gcube/service/generate/alina.sirbu
74 Common AuthorizationService gcube/service/generate/am
75 Common AuthorizationService gcube/service/generate/amir.menczel
76 Common AuthorizationService gcube/service/generate/amishra
77 Common AuthorizationService gcube/service/generate/amnocas
78 Common AuthorizationService gcube/service/generate/anais.turpault.1
79 Common AuthorizationService gcube/service/generate/anastasis
80 Common AuthorizationService gcube/service/generate/andras
81 Common AuthorizationService gcube/service/generate/andre.boustany
82 Common AuthorizationService gcube/service/generate/andrea
83 Common AuthorizationService gcube/service/generate/andrea.dellamico
84 Common AuthorizationService gcube/service/generate/andrea.dessi
85 Common AuthorizationService gcube/service/generate/andrea.manieri
86 Common AuthorizationService gcube/service/generate/andrea.mannocci
87 Common AuthorizationService gcube/service/generate/andrea.manzi.1
88 Common AuthorizationService gcube/service/generate/andrea.marchetti
89 Common AuthorizationService gcube/service/generate/andrea.musco
90 Common AuthorizationService gcube/service/generate/andrea.pizzo
91 Common AuthorizationService gcube/service/generate/andrea.rossi
92 Common AuthorizationService gcube/service/generate/andreacimino
93 Common AuthorizationService gcube/service/generate/andreaferracani
94 Common AuthorizationService gcube/service/generate/andreas.bannach
95 Common AuthorizationService gcube/service/generate/andrej.lapanje
96 Common AuthorizationService gcube/service/generate/ankushjain3005
97 Common AuthorizationService gcube/service/generate/anna
98 Common AuthorizationService gcube/service/generate/anna.molino
99 Common AuthorizationService gcube/service/generate/anna.pineau
100 Common AuthorizationService gcube/service/generate/annamolino
101 Common AuthorizationService gcube/service/generate/annarita.liburdi
102 Common AuthorizationService gcube/service/generate/anne-lauscher
103 Common AuthorizationService gcube/service/generate/anne.cooper
104 Common AuthorizationService gcube/service/generate/anni.pauly
105 Common AuthorizationService gcube/service/generate/antgers
106 Common AuthorizationService gcube/service/generate/antoine.rougier
107 Common AuthorizationService gcube/service/generate/anton.ellenbroek
108 Common AuthorizationService gcube/service/generate/antonino.crivello
109 Common AuthorizationService gcube/service/generate/antonio.gioia82
110 Common AuthorizationService gcube/service/generate/antonio.maffia
111 Common AuthorizationService gcube/service/generate/anupama6d
112 Common AuthorizationService gcube/service/generate/arusso
113 Common AuthorizationService gcube/service/generate/attardi
114 Common AuthorizationService gcube/service/generate/attila.kreiter
115 Common AuthorizationService gcube/service/generate/atzori
116 Common AuthorizationService gcube/service/generate/aureliano.gentile
117 Common AuthorizationService gcube/service/generate/aureliano.gentile.1
118 Common AuthorizationService gcube/service/generate/aveti123
119 Common AuthorizationService gcube/service/generate/avnispen
120 Common AuthorizationService gcube/service/generate/aymen.charef
121 Common AuthorizationService gcube/service/generate/b.crotti
122 Common AuthorizationService gcube/service/generate/banski
123 Common AuthorizationService gcube/service/generate/baoxu.shi
124 Common AuthorizationService gcube/service/generate/baptiste.grenier
125 Common AuthorizationService gcube/service/generate/barbara.furletti
126 Common AuthorizationService gcube/service/generate/bartj
127 Common AuthorizationService gcube/service/generate/bassobassista
128 Common AuthorizationService gcube/service/generate/bastienmerigot
129 Common AuthorizationService gcube/service/generate/baudouin.raoult
130 Common AuthorizationService gcube/service/generate/benedetti.filippo
131 Common AuthorizationService gcube/service/generate/benin80
132 Common AuthorizationService gcube/service/generate/benlukepayne
133 Common AuthorizationService gcube/service/generate/bfetahu
134 Common AuthorizationService gcube/service/generate/bichen.shi
135 Common AuthorizationService gcube/service/generate/bramvm
136 Common AuthorizationService gcube/service/generate/brdar.sanja
137 Common AuthorizationService gcube/service/generate/bruna.baldacci
138 Common AuthorizationService gcube/service/generate/camara.arthur
139 Common AuthorizationService gcube/service/generate/cardosolg15
140 Common AuthorizationService gcube/service/generate/carlo.demedio
141 Common AuthorizationService gcube/service/generate/carlo.meghini
142 Common AuthorizationService gcube/service/generate/casper
143 Common AuthorizationService gcube/service/generate/ch.dimitrakopoulos
144 Common AuthorizationService gcube/service/generate/chabchoub.mohamed.ing
145 Common AuthorizationService gcube/service/generate/chanikarn.yongstar
146 Common AuthorizationService gcube/service/generate/chantel.wetzel
147 Common AuthorizationService gcube/service/generate/charlesriondet
148 Common AuthorizationService gcube/service/generate/chengtac
149 Common AuthorizationService gcube/service/generate/chiara.cozzi87
150 Common AuthorizationService gcube/service/generate/ching.villanueva
151 Common AuthorizationService gcube/service/generate/chloe.guillerme18
152 Common AuthorizationService gcube/service/generate/chris.lynam
153 Common AuthorizationService gcube/service/generate/christophe.lett
154 Common AuthorizationService gcube/service/generate/christoschatzimichail
155 Common AuthorizationService gcube/service/generate/ciaran.kelly
156 Common AuthorizationService gcube/service/generate/cinzia.luddi
157 Common AuthorizationService gcube/service/generate/ciro.formisano
158 Common AuthorizationService gcube/service/generate/claire.caralp
159 Common AuthorizationService gcube/service/generate/clara.peron22
160 Common AuthorizationService gcube/service/generate/claudio.atzori
161 Common AuthorizationService gcube/service/generate/claudio.vairo
162 Common AuthorizationService gcube/service/generate/cmspinto
163 Common AuthorizationService gcube/service/generate/colica
164 Common AuthorizationService gcube/service/generate/colin.millar
165 Common AuthorizationService gcube/service/generate/congminh91
166 Common AuthorizationService gcube/service/generate/costantino.perciante
167 Common AuthorizationService gcube/service/generate/costantino8
168 Common AuthorizationService gcube/service/generate/cp
169 Common AuthorizationService gcube/service/generate/creverte
170 Common AuthorizationService gcube/service/generate/cristina.muntean
171 Common AuthorizationService gcube/service/generate/cristina.ribeiro
172 Common AuthorizationService gcube/service/generate/csedayski
173 Common AuthorizationService gcube/service/generate/d.bonciani
174 Common AuthorizationService gcube/service/generate/d.rout
175 Common AuthorizationService gcube/service/generate/dalvarez
176 Common AuthorizationService gcube/service/generate/daniele.conversa
177 Common AuthorizationService gcube/service/generate/daniele.regoli
178 Common AuthorizationService gcube/service/generate/darkohric
179 Common AuthorizationService gcube/service/generate/darpap
180 Common AuthorizationService gcube/service/generate/david.richardson
181 Common AuthorizationService gcube/service/generate/davidcurrie2001
182 Common AuthorizationService gcube/service/generate/davide.gazze
183 Common AuthorizationService gcube/service/generate/davide.madonna
184 Common AuthorizationService gcube/service/generate/davordavidovic
185 Common AuthorizationService gcube/service/generate/dddejean
186 Common AuthorizationService gcube/service/generate/debbi.pedreschi
187 Common AuthorizationService gcube/service/generate/deepqa
188 Common AuthorizationService gcube/service/generate/denispyr
189 Common AuthorizationService gcube/service/generate/diaabakkour
190 Common AuthorizationService gcube/service/generate/diegoref
191 Common AuthorizationService gcube/service/generate/dieuthule
192 Common AuthorizationService gcube/service/generate/dkatris
193 Common AuthorizationService gcube/service/generate/doertedk
194 Common AuthorizationService gcube/service/generate/domvit
195 Common AuthorizationService gcube/service/generate/donatella.castelli
196 Common AuthorizationService gcube/service/generate/dorian.seillier
197 Common AuthorizationService gcube/service/generate/dorothee.rebscher
198 Common AuthorizationService gcube/service/generate/dostojic
199 Common AuthorizationService gcube/service/generate/douwe.zeldenrust
200 Common AuthorizationService gcube/service/generate/dpavia
201 Common AuthorizationService gcube/service/generate/driad
202 Common AuthorizationService gcube/service/generate/driad91
203 Common AuthorizationService gcube/service/generate/driad91tagme1
204 Common AuthorizationService gcube/service/generate/driad91tagme2
205 Common AuthorizationService gcube/service/generate/driad91tagme3
206 Common AuthorizationService gcube/service/generate/driad91tagme4
207 Common AuthorizationService gcube/service/generate/driad91tagme5
208 Common AuthorizationService gcube/service/generate/dzjowk
209 Common AuthorizationService gcube/service/generate/e.f.ramezani
210 Common AuthorizationService gcube/service/generate/e.nrico
211 Common AuthorizationService gcube/service/generate/e.theodorakopoulos
212 Common AuthorizationService gcube/service/generate/ecarrasco
213 Common AuthorizationService gcube/service/generate/edi
214 Common AuthorizationService gcube/service/generate/efer
215 Common AuthorizationService gcube/service/generate/egoddard
216 Common AuthorizationService gcube/service/generate/egouli
217 Common AuthorizationService gcube/service/generate/ehudson
218 Common AuthorizationService gcube/service/generate/elenipetra
219 Common AuthorizationService gcube/service/generate/elibiel
220 Common AuthorizationService gcube/service/generate/elsyjang
221 Common AuthorizationService gcube/service/generate/elzi
222 Common AuthorizationService gcube/service/generate/emghufran
223 Common AuthorizationService gcube/service/generate/emilie
224 Common AuthorizationService gcube/service/generate/emilio
225 Common AuthorizationService gcube/service/generate/fabiocarlomolinari
226 Common AuthorizationService gcube/service/generate/fede.fierli
227 Common AuthorizationService gcube/service/generate/felix.cremer
228 Common AuthorizationService gcube/service/generate/flavio.dimartino
229 Common AuthorizationService gcube/service/generate/franca.debole
230 Common AuthorizationService gcube/service/generate/francesca
231 Common AuthorizationService gcube/service/generate/francesca.beni
232 Common AuthorizationService gcube/service/generate/francesca.morselli
233 Common AuthorizationService gcube/service/generate/francesca.pratesi
234 Common AuthorizationService gcube/service/generate/francesco.cerasuolo
235 Common AuthorizationService gcube/service/generate/francesco.mangiacrapa
236 Common AuthorizationService gcube/service/generate/franco
237 Common AuthorizationService gcube/service/generate/franco.zoppi
238 Common AuthorizationService gcube/service/generate/francois.andre
239 Common AuthorizationService gcube/service/generate/francois.guilhaumon
240 Common AuthorizationService gcube/service/generate/franz.bender
241 Common AuthorizationService gcube/service/generate/frippe12573
242 Common AuthorizationService gcube/service/generate/fuqi.song
243 Common AuthorizationService gcube/service/generate/fz.osheee
244 Common AuthorizationService gcube/service/generate/g.gola
245 Common AuthorizationService gcube/service/generate/g.magro
246 Common AuthorizationService gcube/service/generate/g.serra94
247 Common AuthorizationService gcube/service/generate/gabriele.giammatteo
248 Common AuthorizationService gcube/service/generate/gantzoulatos
249 Common AuthorizationService gcube/service/generate/gareth.burns
250 Common AuthorizationService gcube/service/generate/gc.rodi
251 Common AuthorizationService gcube/service/generate/gearmonkey
252 Common AuthorizationService gcube/service/generate/george.kakaletris
253 Common AuthorizationService gcube/service/generate/georgeb
254 Common AuthorizationService gcube/service/generate/georgia
255 Common AuthorizationService gcube/service/generate/gerhardgossen
256 Common AuthorizationService gcube/service/generate/gerold.diepolder
257 Common AuthorizationService gcube/service/generate/gfarantatos
258 Common AuthorizationService gcube/service/generate/giacomo-chato.osio
259 Common AuthorizationService gcube/service/generate/giammarinodomenico
260 Common AuthorizationService gcube/service/generate/giancarlo.panichi
261 Common AuthorizationService gcube/service/generate/giancarlo.riolo
262 Common AuthorizationService gcube/service/generate/gianluca.diodato
263 Common AuthorizationService gcube/service/generate/gianmarco.santini
264 Common AuthorizationService gcube/service/generate/gianpaolo.coro
265 Common AuthorizationService gcube/service/generate/giovanna.marino
266 Common AuthorizationService gcube/service/generate/giulia.gorelli
267 Common AuthorizationService gcube/service/generate/giulio.masetti
268 Common AuthorizationService gcube/service/generate/giulio.rossetti
269 Common AuthorizationService gcube/service/generate/giuseppe.demaio1982
270 Common AuthorizationService gcube/service/generate/giusyandresini
271 Common AuthorizationService gcube/service/generate/gmacho
272 Common AuthorizationService gcube/service/generate/go
273 Common AuthorizationService gcube/service/generate/gomez
274 Common AuthorizationService gcube/service/generate/gorenikhilm
275 Common AuthorizationService gcube/service/generate/graziella.pastore
276 Common AuthorizationService gcube/service/generate/grenci
277 Common AuthorizationService gcube/service/generate/guest.d4science
278 Common AuthorizationService gcube/service/generate/guidotti
279 Common AuthorizationService gcube/service/generate/guitton
280 Common AuthorizationService gcube/service/generate/guntram.geser
281 Common AuthorizationService gcube/service/generate/haakon.otteraa
282 Common AuthorizationService gcube/service/generate/haenold
283 Common AuthorizationService gcube/service/generate/hansmichael.hohenegger
284 Common AuthorizationService gcube/service/generate/happymcflabs
285 Common AuthorizationService gcube/service/generate/haritha
286 Common AuthorizationService gcube/service/generate/hbuesing
287 Common AuthorizationService gcube/service/generate/heiko.tjalsma
288 Common AuthorizationService gcube/service/generate/hella
289 Common AuthorizationService gcube/service/generate/henrikkn
290 Common AuthorizationService gcube/service/generate/herve.demarcq
291 Common AuthorizationService gcube/service/generate/hkatsiad
292 Common AuthorizationService gcube/service/generate/hosseinfani
293 Common AuthorizationService gcube/service/generate/hube
294 Common AuthorizationService gcube/service/generate/hyaline0317
295 Common AuthorizationService gcube/service/generate/i.galluccio
296 Common AuthorizationService gcube/service/generate/i.roberts
297 Common AuthorizationService gcube/service/generate/ikarkalakos
298 Common AuthorizationService gcube/service/generate/ilaros
299 Common AuthorizationService gcube/service/generate/illmk
300 Common AuthorizationService gcube/service/generate/imoise
301 Common AuthorizationService gcube/service/generate/imzilen.taha
302 Common AuthorizationService gcube/service/generate/ingemar
303 Common AuthorizationService gcube/service/generate/ingibj
304 Common AuthorizationService gcube/service/generate/irlfisheriescontrol
305 Common AuthorizationService gcube/service/generate/iryna.solodovnik
306 Common AuthorizationService gcube/service/generate/ithasitis
307 Common AuthorizationService gcube/service/generate/jeanjacquesmaguire
308 Common AuthorizationService gcube/service/generate/jennifer.koritko
309 Common AuthorizationService gcube/service/generate/jenniferedmond
310 Common AuthorizationService gcube/service/generate/jeroen.cichy
311 Common AuthorizationService gcube/service/generate/jessica.michel
312 Common AuthorizationService gcube/service/generate/jhdez32
313 Common AuthorizationService gcube/service/generate/jie.cao
314 Common AuthorizationService gcube/service/generate/jim.berkson
315 Common AuthorizationService gcube/service/generate/jlebras
316 Common AuthorizationService gcube/service/generate/jniederau
317 Common AuthorizationService gcube/service/generate/jo
318 Common AuthorizationService gcube/service/generate/joao
319 Common AuthorizationService gcube/service/generate/johann.petrak
320 Common AuthorizationService gcube/service/generate/john.f.walter
321 Common AuthorizationService gcube/service/generate/jon.helge.voelstad
322 Common AuthorizationService gcube/service/generate/jonas.eberle
323 Common AuthorizationService gcube/service/generate/jonasp
324 Common AuthorizationService gcube/service/generate/jonhelge
325 Common AuthorizationService gcube/service/generate/jopfeiff
326 Common AuthorizationService gcube/service/generate/joseangelgomezlopez
327 Common AuthorizationService gcube/service/generate/josef.weber
328 Common AuthorizationService gcube/service/generate/jsadler2
329 Common AuthorizationService gcube/service/generate/jsg
330 Common AuthorizationService gcube/service/generate/jsteenbeek
331 Common AuthorizationService gcube/service/generate/juan.gil
332 Common AuthorizationService gcube/service/generate/juldebar
333 Common AuthorizationService gcube/service/generate/jules.selles
334 Common AuthorizationService gcube/service/generate/julia.calderwood
335 Common AuthorizationService gcube/service/generate/julia.welter
336 Common AuthorizationService gcube/service/generate/julien.barde
337 Common AuthorizationService gcube/service/generate/k.akchouch
338 Common AuthorizationService gcube/service/generate/k.giannakelos
339 Common AuthorizationService gcube/service/generate/k.seferis
340 Common AuthorizationService gcube/service/generate/k.verbrugge
341 Common AuthorizationService gcube/service/generate/kadji.okou
342 Common AuthorizationService gcube/service/generate/kaja.czajkowska15
343 Common AuthorizationService gcube/service/generate/kandrews
344 Common AuthorizationService gcube/service/generate/karolina.reducha
345 Common AuthorizationService gcube/service/generate/katerina.papadaki
346 Common AuthorizationService gcube/service/generate/katrin.kieling
347 Common AuthorizationService gcube/service/generate/kbbe4life
348 Common AuthorizationService gcube/service/generate/kees.waterman
349 Common AuthorizationService gcube/service/generate/kevin.j.mccarthy
350 Common AuthorizationService gcube/service/generate/khan.bill
351 Common AuthorizationService gcube/service/generate/kiran.viparthi
352 Common AuthorizationService gcube/service/generate/kmihalopoulos
353 Common AuthorizationService gcube/service/generate/kmok93
354 Common AuthorizationService gcube/service/generate/kojo
355 Common AuthorizationService gcube/service/generate/konsolak
356 Common AuthorizationService gcube/service/generate/kostas.kakaletris
357 Common AuthorizationService gcube/service/generate/kostashirikakis
358 Common AuthorizationService gcube/service/generate/kotu
359 Common AuthorizationService gcube/service/generate/koubbi
360 Common AuthorizationService gcube/service/generate/kristiinahommik
361 Common AuthorizationService gcube/service/generate/kstef
362 Common AuthorizationService gcube/service/generate/kulkabarb
363 Common AuthorizationService gcube/service/generate/laepke
364 Common AuthorizationService gcube/service/generate/lailloud
365 Common AuthorizationService gcube/service/generate/lalalarudisha
366 Common AuthorizationService gcube/service/generate/lambrosio66
367 Common AuthorizationService gcube/service/generate/largesi
368 Common AuthorizationService gcube/service/generate/laurafonbo
369 Common AuthorizationService gcube/service/generate/laurent.romary
370 Common AuthorizationService gcube/service/generate/lena.schreiter
371 Common AuthorizationService gcube/service/generate/leneoffersgaard
372 Common AuthorizationService gcube/service/generate/leonardo.candela
373 Common AuthorizationService gcube/service/generate/leonardo.candela.1
374 Common AuthorizationService gcube/service/generate/levi.westerveld
375 Common AuthorizationService gcube/service/generate/leyre.goti
376 Common AuthorizationService gcube/service/generate/libohan
377 Common AuthorizationService gcube/service/generate/lina
378 Common AuthorizationService gcube/service/generate/lise.cronne
379 Common AuthorizationService gcube/service/generate/lishchuk
380 Common AuthorizationService gcube/service/generate/lixiaolimail1
381 Common AuthorizationService gcube/service/generate/liz.brooks
382 Common AuthorizationService gcube/service/generate/loic.lefoll
383 Common AuthorizationService gcube/service/generate/loisg9
384 Common AuthorizationService gcube/service/generate/loredana.versienti
385 Common AuthorizationService gcube/service/generate/lorenzo.gabrielli
386 Common AuthorizationService gcube/service/generate/luca.frosini
387 Common AuthorizationService gcube/service/generate/luca.pilato
388 Common AuthorizationService gcube/service/generate/luca.sarti
389 Common AuthorizationService gcube/service/generate/lucafrosini
390 Common AuthorizationService gcube/service/generate/lucapappalardo1984
391 Common AuthorizationService gcube/service/generate/lucio.lelii
392 Common AuthorizationService gcube/service/generate/lucy.bastin
393 Common AuthorizationService gcube/service/generate/lvlijun1992
394 Common AuthorizationService gcube/service/generate/m.assante
395 Common AuthorizationService gcube/service/generate/m.laurenzi
396 Common AuthorizationService gcube/service/generate/m.pennisi
397 Common AuthorizationService gcube/service/generate/m.scarpellini
398 Common AuthorizationService gcube/service/generate/m.tanzifi
399 Common AuthorizationService gcube/service/generate/maciej.ogrodniczuk
400 Common AuthorizationService gcube/service/generate/magliozzi
401 Common AuthorizationService gcube/service/generate/maiken.bjorkan
402 Common AuthorizationService gcube/service/generate/manu
403 Common AuthorizationService gcube/service/generate/manuela.degiorgi
404 Common AuthorizationService gcube/service/generate/manuele.simi.1
405 Common AuthorizationService gcube/service/generate/manugoacolou
406 Common AuthorizationService gcube/service/generate/marc.kemps.snijders
407 Common AuthorizationService gcube/service/generate/marc.taconet
408 Common AuthorizationService gcube/service/generate/marc.taylor
409 Common AuthorizationService gcube/service/generate/marco.barsacchi
410 Common AuthorizationService gcube/service/generate/marco.brandizi
411 Common AuthorizationService gcube/service/generate/marcocornolti
412 Common AuthorizationService gcube/service/generate/mardones.mauricio
413 Common AuthorizationService gcube/service/generate/margaridahermida
414 Common AuthorizationService gcube/service/generate/margarita.rincon
415 Common AuthorizationService gcube/service/generate/margheritasidoti
416 Common AuthorizationService gcube/service/generate/mariaantonietta.digirolamo
417 Common AuthorizationService gcube/service/generate/mariadigirolamo
418 Common AuthorizationService gcube/service/generate/marie.puren
419 Common AuthorizationService gcube/service/generate/mark.hedges
420 Common AuthorizationService gcube/service/generate/mark.luckins
421 Common AuthorizationService gcube/service/generate/marlon.dumas
422 Common AuthorizationService gcube/service/generate/martacastillejo
423 Common AuthorizationService gcube/service/generate/martacat90
424 Common AuthorizationService gcube/service/generate/martina.bocci.1
425 Common AuthorizationService gcube/service/generate/marycchristman
426 Common AuthorizationService gcube/service/generate/marzia.piron
427 Common AuthorizationService gcube/service/generate/massi.tempadmin
428 Common AuthorizationService gcube/service/generate/massimiliano
429 Common AuthorizationService gcube/service/generate/massimiliano.assante
430 Common AuthorizationService gcube/service/generate/massimo.coppola
431 Common AuthorizationService gcube/service/generate/massimo.luchini
432 Common AuthorizationService gcube/service/generate/masterromaeo
433 Common AuthorizationService gcube/service/generate/mat.amadei
434 Common AuthorizationService gcube/service/generate/matej
435 Common AuthorizationService gcube/service/generate/math
436 Common AuthorizationService gcube/service/generate/matteo.corvi
437 Common AuthorizationService gcube/service/generate/matteo.razzanelli
438 Common AuthorizationService gcube/service/generate/matteolorenzini
439 Common AuthorizationService gcube/service/generate/matthias.obst
440 Common AuthorizationService gcube/service/generate/mattia.campana
441 Common AuthorizationService gcube/service/generate/mauricio.mardones
442 Common AuthorizationService gcube/service/generate/mauricio.marrone
443 Common AuthorizationService gcube/service/generate/maurizio.delmonte
444 Common AuthorizationService gcube/service/generate/maurizio.sanesi
445 Common AuthorizationService gcube/service/generate/maurizio.tesconi
446 Common AuthorizationService gcube/service/generate/max.fried
447 Common AuthorizationService gcube/service/generate/mcgener
448 Common AuthorizationService gcube/service/generate/me
449 Common AuthorizationService gcube/service/generate/mecmiller
450 Common AuthorizationService gcube/service/generate/mettem
451 Common AuthorizationService gcube/service/generate/mggraziano
452 Common AuthorizationService gcube/service/generate/mgoacolou
453 Common AuthorizationService gcube/service/generate/michael.mathioudakis
454 Common AuthorizationService gcube/service/generate/michael.musyl
455 Common AuthorizationService gcube/service/generate/micheljess
456 Common AuthorizationService gcube/service/generate/mike
457 Common AuthorizationService gcube/service/generate/mike.ojo
458 Common AuthorizationService gcube/service/generate/mike.priddy
459 Common AuthorizationService gcube/service/generate/miles
460 Common AuthorizationService gcube/service/generate/mincera
461 Common AuthorizationService gcube/service/generate/mister.blonde
462 Common AuthorizationService gcube/service/generate/mister.blue
463 Common AuthorizationService gcube/service/generate/mister.brown
464 Common AuthorizationService gcube/service/generate/mister.pink
465 Common AuthorizationService gcube/service/generate/mister.white
466 Common AuthorizationService gcube/service/generate/misv
467 Common AuthorizationService gcube/service/generate/mmel
468 Common AuthorizationService gcube/service/generate/mmfernandez
469 Common AuthorizationService gcube/service/generate/mnikolopoulos
470 Common AuthorizationService gcube/service/generate/mocamircea
471 Common AuthorizationService gcube/service/generate/mohamed.khemakhem
472 Common AuthorizationService gcube/service/generate/molly.lutcavage
473 Common AuthorizationService gcube/service/generate/monique.simier
474 Common AuthorizationService gcube/service/generate/montegrossi
475 Common AuthorizationService gcube/service/generate/morten.roed
476 Common AuthorizationService gcube/service/generate/motra
477 Common AuthorizationService gcube/service/generate/mthompson
478 Common AuthorizationService gcube/service/generate/musthafa.m1996
479 Common AuthorizationService gcube/service/generate/mvalternativo
480 Common AuthorizationService gcube/service/generate/nadia
481 Common AuthorizationService gcube/service/generate/nancie.cummings
482 Common AuthorizationService gcube/service/generate/nanni.federico
483 Common AuthorizationService gcube/service/generate/robertoscopigno
484 Common AuthorizationService gcube/service/generate/natalia.andrienko
485 Common AuthorizationService gcube/service/generate/nathan.vaughan1
486 Common AuthorizationService gcube/service/generate/naz
487 Common AuthorizationService gcube/service/generate/nicola.aloia
488 Common AuthorizationService gcube/service/generate/nicola.walker
489 Common AuthorizationService gcube/service/generate/nicolas.bailly
490 Common AuthorizationService gcube/service/generate/nicolas.bez
491 Common AuthorizationService gcube/service/generate/nikolas.laskaris
492 Common AuthorizationService gcube/service/generate/nikos.minadakis
493 Common AuthorizationService gcube/service/generate/nils.oesterling
494 Common AuthorizationService gcube/service/generate/nino.antulov
495 Common AuthorizationService gcube/service/generate/nithya.selvaraju
496 Common AuthorizationService gcube/service/generate/nlarrousse
497 Common AuthorizationService gcube/service/generate/nlongepe
498 Common AuthorizationService gcube/service/generate/nloxou
499 Common AuthorizationService gcube/service/generate/norbert.billet
500 Common AuthorizationService gcube/service/generate/ntran
501 Common AuthorizationService gcube/service/generate/nunzioandreagalante
502 Common AuthorizationService gcube/service/generate/o.renda
503 Common AuthorizationService gcube/service/generate/oceandtm
504 Common AuthorizationService gcube/service/generate/oluyemisi.oloruntuyi
505 Common AuthorizationService gcube/service/generate/ondine.cornubert
506 Common AuthorizationService gcube/service/generate/osidirop
507 Common AuthorizationService gcube/service/generate/oyvind.stamnes
508 Common AuthorizationService gcube/service/generate/ozhyhinas
509 Common AuthorizationService gcube/service/generate/pabloruizfabo
510 Common AuthorizationService gcube/service/generate/panagiota.koltsida
511 Common AuthorizationService gcube/service/generate/pangjingwen0422
512 Common AuthorizationService gcube/service/generate/paolo
513 Common AuthorizationService gcube/service/generate/paolo.cintia
514 Common AuthorizationService gcube/service/generate/paolo.fabriani
515 Common AuthorizationService gcube/service/generate/paolo.manghi
516 Common AuthorizationService gcube/service/generate/paolof
517 Common AuthorizationService gcube/service/generate/parklize
518 Common AuthorizationService gcube/service/generate/parrotola
519 Common AuthorizationService gcube/service/generate/pasquale.pagano
520 Common AuthorizationService gcube/service/generate/patricia.reglero
521 Common AuthorizationService gcube/service/generate/patrick.philipp
522 Common AuthorizationService gcube/service/generate/paul
523 Common AuthorizationService gcube/service/generate/paulahmedley
524 Common AuthorizationService gcube/service/generate/paulalee39
525 Common AuthorizationService gcube/service/generate/paultaconet
526 Common AuthorizationService gcube/service/generate/pekka.jounela
527 Common AuthorizationService gcube/service/generate/pengyang823
528 Common AuthorizationService gcube/service/generate/peruzzo
529 Common AuthorizationService gcube/service/generate/petrad
530 Common AuthorizationService gcube/service/generate/petralinks
531 Common AuthorizationService gcube/service/generate/pfonseca
532 Common AuthorizationService gcube/service/generate/phil
533 Common AuthorizationService gcube/service/generate/philipp.kieninger
534 Common AuthorizationService gcube/service/generate/philippe.bryere
535 Common AuthorizationService gcube/service/generate/pierpaolo.petriccione
536 Common AuthorizationService gcube/service/generate/pierre-francois.baisnee
537 Common AuthorizationService gcube/service/generate/pino.vaccaro
538 Common AuthorizationService gcube/service/generate/pitityy56
539 Common AuthorizationService gcube/service/generate/plino
540 Common AuthorizationService gcube/service/generate/ppbeto94
541 Common AuthorizationService gcube/service/generate/proccaserra
542 Common AuthorizationService gcube/service/generate/pronzino
543 Common AuthorizationService gcube/service/generate/prory
544 Common AuthorizationService gcube/service/generate/psiozos
545 Common AuthorizationService gcube/service/generate/qasem
546 Common AuthorizationService gcube/service/generate/qicongc
547 Common AuthorizationService gcube/service/generate/quanap5
548 Common AuthorizationService gcube/service/generate/r.l.p.mahieu
549 Common AuthorizationService gcube/service/generate/r.pechnig
550 Common AuthorizationService gcube/service/generate/rafik.zarrad
551 Common AuthorizationService gcube/service/generate/rahul.bhambri
552 Common AuthorizationService gcube/service/generate/rahult
553 Common AuthorizationService gcube/service/generate/rocio.suarez-jimenez
554 Common AuthorizationService gcube/service/generate/roeder
555 Common AuthorizationService gcube/service/generate/roojan63
556 Common AuthorizationService gcube/service/generate/rtanzifi
557 Common AuthorizationService gcube/service/generate/rtanzifi.1
558 Common AuthorizationService gcube/service/generate/rtl00
559 Common AuthorizationService gcube/service/generate/rtrasarti
560 Common AuthorizationService gcube/service/generate/ruey-cheng.chen
561 Common AuthorizationService gcube/service/generate/ruggero.bertani
562 Common AuthorizationService gcube/service/generate/ruggieri
563 Common AuthorizationService gcube/service/generate/ruth.fernandez
564 Common AuthorizationService gcube/service/generate/s.hamid.sajjadi
565 Common AuthorizationService gcube/service/generate/sam.ed.leon
566 Common AuthorizationService gcube/service/generate/sandra.scalari
567 Common AuthorizationService gcube/service/generate/sandro.labruzzo
568 Common AuthorizationService gcube/service/generate/sara-jane.moore
569 Common AuthorizationService gcube/service/generate/sara.digiorgio
570 Common AuthorizationService gcube/service/generate/sara.garavelli
571 Common AuthorizationService gcube/service/generate/saran
572 Common AuthorizationService gcube/service/generate/sariah.mghames
573 Common AuthorizationService gcube/service/generate/sbellani
574 Common AuthorizationService gcube/service/generate/scaiella
575 Common AuthorizationService gcube/service/generate/scarponi
576 Common AuthorizationService gcube/service/generate/scipioni.michele
577 Common AuthorizationService gcube/service/generate/sdrude
578 Common AuthorizationService gcube/service/generate/selenia.ghio
579 Common AuthorizationService gcube/service/generate/sergio.oramas
580 Common AuthorizationService gcube/service/generate/sergio.palumbo
581 Common AuthorizationService gcube/service/generate/sfirdaus
582 Common AuthorizationService gcube/service/generate/sganoti
583 Common AuthorizationService gcube/service/generate/shaaf
584 Common AuthorizationService gcube/service/generate/shashikdmn
585 Common AuthorizationService gcube/service/generate/sheenab
586 Common AuthorizationService gcube/service/generate/sigbjorn.kolberg
587 Common AuthorizationService gcube/service/generate/silvia.agnoletti
588 Common AuthorizationService gcube/service/generate/simon
589 Common AuthorizationService gcube/service/generate/simon.fischer
590 Common AuthorizationService gcube/service/generate/simone.bertoli
591 Common AuthorizationService gcube/service/generate/simonetta.ciuffi
592 Common AuthorizationService gcube/service/generate/sing2370
593 Common AuthorizationService gcube/service/generate/sirianapaonessa
594 Common AuthorizationService gcube/service/generate/sjuli
595 Common AuthorizationService gcube/service/generate/sofie.vandemaele
596 Common AuthorizationService gcube/service/generate/somass
597 Common AuthorizationService gcube/service/generate/spiecker
598 Common AuthorizationService gcube/service/generate/spn1
599 Common AuthorizationService gcube/service/generate/spouyllau
600 Common AuthorizationService gcube/service/generate/statistical.manager
601 Common AuthorizationService gcube/service/generate/stefano.aringhieri
602 Common AuthorizationService gcube/service/generate/stefano.cresci
603 Common AuthorizationService gcube/service/generate/stefanosbarbati
604 Common AuthorizationService gcube/service/generate/steve.nelson.48
605 Common AuthorizationService gcube/service/generate/steve.williams
606 Common AuthorizationService gcube/service/generate/stkak
607 Common AuthorizationService gcube/service/generate/sum1kawa.pregc
608 Common AuthorizationService gcube/service/generate/suntan
609 Common AuthorizationService gcube/service/generate/sven.kluge
610 Common AuthorizationService gcube/service/generate/swilliams
611 Common AuthorizationService gcube/service/generate/sylvain.bonhommeau
612 Common AuthorizationService gcube/service/generate/t.miethe
613 Common AuthorizationService gcube/service/generate/tagtuna
614 Common AuthorizationService gcube/service/generate/taha.imzilen
615 Common AuthorizationService gcube/service/generate/tecnico
616 Common AuthorizationService gcube/service/generate/terhi
617 Common AuthorizationService gcube/service/generate/testpop
618 Common AuthorizationService gcube/service/generate/thorsten.may
619 Common AuthorizationService gcube/service/generate/thorwart
620 Common AuthorizationService gcube/service/generate/tibor.kalman
621 Common AuthorizationService gcube/service/generate/tim.jones
622 Common AuthorizationService gcube/service/generate/tiziana.cantarelli
623 Common AuthorizationService gcube/service/generate/tiziana.scarselli
624 Common AuthorizationService gcube/service/generate/tiziano.squartini
625 Common AuthorizationService gcube/service/generate/tom.d4science
626 Common AuthorizationService gcube/service/generate/tom.skarning
627 Common AuthorizationService gcube/service/generate/tomi.jusri
628 Common AuthorizationService gcube/service/generate/tommaso.piccioli
629 Common AuthorizationService gcube/service/generate/tonyt
630 Common AuthorizationService gcube/service/generate/tristan.rouyer
631 Common AuthorizationService gcube/service/generate/ttolin
632 Common AuthorizationService gcube/service/generate/ttrippel
633 Common AuthorizationService gcube/service/generate/ucdxf
634 Common AuthorizationService gcube/service/generate/user.704788525
635 Common AuthorizationService gcube/service/generate/utente1988
636 Common AuthorizationService gcube/service/generate/valentijn.gilissen
637 Common AuthorizationService gcube/service/generate/valentina.marioli
638 Common AuthorizationService gcube/service/generate/valerio.arnaboldi
639 Common AuthorizationService gcube/service/generate/valerio.bartolino
640 Common AuthorizationService gcube/service/generate/valerio.basile
641 Common AuthorizationService gcube/service/generate/veronica.boarotto
642 Common AuthorizationService gcube/service/generate/vfloros
643 Common AuthorizationService gcube/service/generate/vgravez
644 Common AuthorizationService gcube/service/generate/vgrossi
645 Common AuthorizationService gcube/service/generate/vickyg
646 Common AuthorizationService gcube/service/generate/vincenzo.bacarella
647 Common AuthorizationService gcube/service/generate/viola.bachini
648 Common AuthorizationService gcube/service/generate/vishalbhave
649 Common AuthorizationService gcube/service/generate/vishrawa
650 Common AuthorizationService gcube/service/generate/vittorio
651 Common AuthorizationService gcube/service/generate/warda
652 Common AuthorizationService gcube/service/generate/whitefacedhaggardgrin
653 Common AuthorizationService gcube/service/generate/wiebelitz
654 Common AuthorizationService gcube/service/generate/wmcclin
655 Common AuthorizationService gcube/service/generate/wrabbel
656 Common AuthorizationService gcube/service/generate/wuke1993
657 Common AuthorizationService gcube/service/generate/wwices
658 Common AuthorizationService gcube/service/generate/xavier.favory
659 Common AuthorizationService gcube/service/generate/xuqiongkai
660 Common AuthorizationService gcube/service/generate/yann.laurent
661 Common AuthorizationService gcube/service/generate/yannis.marketakis
662 Common AuthorizationService gcube/service/generate/yannis.tzitzikas
663 Common AuthorizationService gcube/service/generate/ydjong
664 Common AuthorizationService gcube/service/generate/yerko.yutronich
665 Common AuthorizationService gcube/service/generate/yin.chen
666 Common AuthorizationService gcube/service/generate/yorgos
667 Common AuthorizationService gcube/service/generate/ysjtcq
668 Common AuthorizationService gcube/service/generate/zarate
669 Common AuthorizationService gcube/service/generate/zeynep.pekcan.hekim
670 Common AuthorizationService gcube/service/generate/zhang.ym

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "Common",
"serviceNameRegex": "AuthorizationService",
"calledMethodRegex": "^/{0,1}gcube/service/generate.*"
},
"replace": {
"serviceClass": "Common",
"serviceName": "AuthorizationService",
"calledMethod": "generate"
}
}

View File

@ -0,0 +1,64 @@
Common,AuthorizationService,gcube/service/retrieve/introd8
Common,AuthorizationService,gcube/service/retrieve/jennifer8marzo
Common,AuthorizationService,gcube/service/retrieve/lipari2013
Common,AuthorizationService,gcube/service/retrieve/masterbigdata
Common,AuthorizationService,gcube/service/retrieve/master2015
Common,AuthorizationService,gcube/service/retrieve/
Common,AuthorizationService,gcube/service/retrieve/!Simba2Nala
Common,AuthorizationService,gcube/service/retrieve/'{UUID_TO_REPLACE}'
Common,AuthorizationService,gcube/service/retrieve/123QWA7dc8377b
Common,AuthorizationService,gcube/service/retrieve/129511051
Common,AuthorizationService,gcube/service/retrieve/147bbd8a-9831-4544-8017-7dc60ad9
Common,AuthorizationService,gcube/service/retrieve/20xSz16AABBzwQsa
Common,AuthorizationService,gcube/service/retrieve/3119yasu
Common,AuthorizationService,gcube/service/retrieve/401110377bbbaaa
Common,AuthorizationService,gcube/service/retrieve/4218481
Common,AuthorizationService,gcube/service/retrieve/454388ab362a716acb8201077dc8377b
Common,AuthorizationService,gcube/service/retrieve/8020b57e2d41b6041c4fd06937acbec7
Common,AuthorizationService,gcube/service/retrieve/81aca
Common,AuthorizationService,gcube/service/retrieve/8e1e4b21e4fa3bd636a43c14dcfd6b19
Common,AuthorizationService,gcube/service/retrieve/<masterbigdata>
Common,AuthorizationService,gcube/service/retrieve/<tua
Common,AuthorizationService,gcube/service/retrieve/<{UUID_TO_REPLACE}>
Common,AuthorizationService,gcube/service/retrieve/={UUID_TO_REPLACE}
Common,AuthorizationService,gcube/service/retrieve/CEhmqGuilS
Common,AuthorizationService,gcube/service/retrieve/Florenzi
Common,AuthorizationService,gcube/service/retrieve/Js1106004817
Common,AuthorizationService,gcube/service/retrieve/MDibub1549
Common,AuthorizationService,gcube/service/retrieve/MY_TAGME_KEY
Common,AuthorizationService,gcube/service/retrieve/QA91EMslzwQsa
Common,AuthorizationService,gcube/service/retrieve/Snadiaf27
Common,AuthorizationService,gcube/service/retrieve/XXXX
Common,AuthorizationService,gcube/service/retrieve/XXXXXXXXXXXXXXX
Common,AuthorizationService,gcube/service/retrieve/XXXYZ231064LoabQPABTEX
Common,AuthorizationService,gcube/service/retrieve/\\\\\\\\125d6a78fa1b4a0c89e5cc488487d134\\\\\\\\
Common,AuthorizationService,gcube/service/retrieve/\\\\\\\\{UUID_TO_REPLACE}\\\\\\\\
Common,AuthorizationService,gcube/service/retrieve/\\{UUID_TO_REPLACE}
Common,AuthorizationService,gcube/service/retrieve/abc9000
Common,AuthorizationService,gcube/service/retrieve/admin
Common,AuthorizationService,gcube/service/retrieve/airtel123
Common,AuthorizationService,gcube/service/retrieve/anupama@6
Common,AuthorizationService,gcube/service/retrieve/azerty135
Common,AuthorizationService,gcube/service/retrieve/bc70153a603d9de7e79c244c41270913
Common,AuthorizationService,gcube/service/retrieve/birdyus1111
Common,AuthorizationService,gcube/service/retrieve/cd91e3247d9efaf47fdbc505e44a2f8c
Common,AuthorizationService,gcube/service/retrieve/d252540aaf6a9ee8457db5212e543189
Common,AuthorizationService,gcube/service/retrieve/eth2016a334GqA
Common,AuthorizationService,gcube/service/retrieve/f46d74ae-25b2-4146-b4eb-457bec37d0c
Common,AuthorizationService,gcube/service/retrieve/fdas
Common,AuthorizationService,gcube/service/retrieve/http://dataminer.d4science.org/wps/WebProcessingService
Common,AuthorizationService,gcube/service/retrieve/https://tagme.d4science.org/tagme/tag
Common,AuthorizationService,gcube/service/retrieve/mozilla2016btWaqKPD96VQ
Common,AuthorizationService,gcube/service/retrieve/phd2016boh
Common,AuthorizationService,gcube/service/retrieve/prcakoski0
Common,AuthorizationService,gcube/service/retrieve/puellaladra
Common,AuthorizationService,gcube/service/retrieve/rufus222
Common,AuthorizationService,gcube/service/retrieve/season800trim
Common,AuthorizationService,gcube/service/retrieve/set(['{UUID_TO_REPLACE}'])
Common,AuthorizationService,gcube/service/retrieve/tindog95
Common,AuthorizationService,gcube/service/retrieve/tyro8712
Common,AuthorizationService,gcube/service/retrieve/xXXXXXX-XXXXXX-XXXXX-XXXXX
Common,AuthorizationService,gcube/service/retrieve/{UUID_TO_REPLACE}
Common,AuthorizationService,gcube/service/retrieve/{UUID_TO_REPLACE}-843339462
Common,AuthorizationService,gcube/service/retrieve/{UUID_TO_REPLACE}-98187548
Common,AuthorizationService,gcube/service/retrieve/{UUID_TO_REPLACE}=org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.OBIS_MOST_OBSERVED_SPECIES
1 Common AuthorizationService gcube/service/retrieve/introd8
2 Common AuthorizationService gcube/service/retrieve/jennifer8marzo
3 Common AuthorizationService gcube/service/retrieve/lipari2013
4 Common AuthorizationService gcube/service/retrieve/masterbigdata
5 Common AuthorizationService gcube/service/retrieve/master2015
6 Common AuthorizationService gcube/service/retrieve/
7 Common AuthorizationService gcube/service/retrieve/!Simba2Nala
8 Common AuthorizationService gcube/service/retrieve/'{UUID_TO_REPLACE}'
9 Common AuthorizationService gcube/service/retrieve/123QWA7dc8377b
10 Common AuthorizationService gcube/service/retrieve/129511051
11 Common AuthorizationService gcube/service/retrieve/147bbd8a-9831-4544-8017-7dc60ad9
12 Common AuthorizationService gcube/service/retrieve/20xSz16AABBzwQsa
13 Common AuthorizationService gcube/service/retrieve/3119yasu
14 Common AuthorizationService gcube/service/retrieve/401110377bbbaaa
15 Common AuthorizationService gcube/service/retrieve/4218481
16 Common AuthorizationService gcube/service/retrieve/454388ab362a716acb8201077dc8377b
17 Common AuthorizationService gcube/service/retrieve/8020b57e2d41b6041c4fd06937acbec7
18 Common AuthorizationService gcube/service/retrieve/81aca
19 Common AuthorizationService gcube/service/retrieve/8e1e4b21e4fa3bd636a43c14dcfd6b19
20 Common AuthorizationService gcube/service/retrieve/<masterbigdata>
21 Common AuthorizationService gcube/service/retrieve/<tua
22 Common AuthorizationService gcube/service/retrieve/<{UUID_TO_REPLACE}>
23 Common AuthorizationService gcube/service/retrieve/={UUID_TO_REPLACE}
24 Common AuthorizationService gcube/service/retrieve/CEhmqGuilS
25 Common AuthorizationService gcube/service/retrieve/Florenzi
26 Common AuthorizationService gcube/service/retrieve/Js1106004817
27 Common AuthorizationService gcube/service/retrieve/MDibub1549
28 Common AuthorizationService gcube/service/retrieve/MY_TAGME_KEY
29 Common AuthorizationService gcube/service/retrieve/QA91EMslzwQsa
30 Common AuthorizationService gcube/service/retrieve/Snadiaf27
31 Common AuthorizationService gcube/service/retrieve/XXXX
32 Common AuthorizationService gcube/service/retrieve/XXXXXXXXXXXXXXX
33 Common AuthorizationService gcube/service/retrieve/XXXYZ231064LoabQPABTEX
34 Common AuthorizationService gcube/service/retrieve/\\\\\\\\125d6a78fa1b4a0c89e5cc488487d134\\\\\\\\
35 Common AuthorizationService gcube/service/retrieve/\\\\\\\\{UUID_TO_REPLACE}\\\\\\\\
36 Common AuthorizationService gcube/service/retrieve/\\{UUID_TO_REPLACE}
37 Common AuthorizationService gcube/service/retrieve/abc9000
38 Common AuthorizationService gcube/service/retrieve/admin
39 Common AuthorizationService gcube/service/retrieve/airtel123
40 Common AuthorizationService gcube/service/retrieve/anupama@6
41 Common AuthorizationService gcube/service/retrieve/azerty135
42 Common AuthorizationService gcube/service/retrieve/bc70153a603d9de7e79c244c41270913
43 Common AuthorizationService gcube/service/retrieve/birdyus1111
44 Common AuthorizationService gcube/service/retrieve/cd91e3247d9efaf47fdbc505e44a2f8c
45 Common AuthorizationService gcube/service/retrieve/d252540aaf6a9ee8457db5212e543189
46 Common AuthorizationService gcube/service/retrieve/eth2016a334GqA
47 Common AuthorizationService gcube/service/retrieve/f46d74ae-25b2-4146-b4eb-457bec37d0c
48 Common AuthorizationService gcube/service/retrieve/fdas
49 Common AuthorizationService gcube/service/retrieve/http://dataminer.d4science.org/wps/WebProcessingService
50 Common AuthorizationService gcube/service/retrieve/https://tagme.d4science.org/tagme/tag
51 Common AuthorizationService gcube/service/retrieve/mozilla2016btWaqKPD96VQ
52 Common AuthorizationService gcube/service/retrieve/phd2016boh
53 Common AuthorizationService gcube/service/retrieve/prcakoski0
54 Common AuthorizationService gcube/service/retrieve/puellaladra
55 Common AuthorizationService gcube/service/retrieve/rufus222
56 Common AuthorizationService gcube/service/retrieve/season800trim
57 Common AuthorizationService gcube/service/retrieve/set(['{UUID_TO_REPLACE}'])
58 Common AuthorizationService gcube/service/retrieve/tindog95
59 Common AuthorizationService gcube/service/retrieve/tyro8712
60 Common AuthorizationService gcube/service/retrieve/xXXXXXX-XXXXXX-XXXXX-XXXXX
61 Common AuthorizationService gcube/service/retrieve/{UUID_TO_REPLACE}
62 Common AuthorizationService gcube/service/retrieve/{UUID_TO_REPLACE}-843339462
63 Common AuthorizationService gcube/service/retrieve/{UUID_TO_REPLACE}-98187548
64 Common AuthorizationService gcube/service/retrieve/{UUID_TO_REPLACE}=org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.OBIS_MOST_OBSERVED_SPECIES

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "Common",
"serviceNameRegex": "AuthorizationService",
"calledMethodRegex": "^/{0,1}gcube/service/retrieve.*"
},
"replace": {
"serviceClass": "Common",
"serviceName": "AuthorizationService",
"calledMethod": "retrieve"
}
}

View File

@ -0,0 +1 @@
Common,AuthorizationService,e/gcube/resource/scopes
1 Common AuthorizationService e/gcube/resource/scopes

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "Common",
"serviceNameRegex": "AuthorizationService",
"calledMethodRegex": "^((e\/)|\/){0,1}gcube\/resource\/scopes"
},
"replace": {
"serviceClass": "Common",
"serviceName": "AuthorizationService",
"calledMethod": "scopes"
}
}

View File

@ -0,0 +1,3 @@
Data-Catalogue,Catalogue-WS,/rest
Data-Catalogue,Catalogue-WS,UNKNOWN
Data-Catalogue,Catalogue-WS,OTHER
1 Data-Catalogue Catalogue-WS /rest
2 Data-Catalogue Catalogue-WS UNKNOWN
3 Data-Catalogue Catalogue-WS OTHER

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(Data-Catalogue)|(DataPublishing)",
"serviceNameRegex": "Catalogue-WS",
"calledMethodRegex": "^\/rest$|^UNKNOWN$|^OTHER$"
},
"replace": {
"serviceClass": "DataPublishing",
"serviceName": "Catalogue-WS",
"calledMethod": "OTHER"
}
}

View File

@ -0,0 +1,10 @@
Data-Catalogue,Catalogue-WS,/rest/api/groups/create
Data-Catalogue,Catalogue-WS,/rest/api/groups/show
Data-Catalogue,Catalogue-WS,/rest/api/items/create
Data-Catalogue,Catalogue-WS,/rest/api/items/delete
Data-Catalogue,Catalogue-WS,/rest/api/items/purge
Data-Catalogue,Catalogue-WS,/rest/api/items/show
Data-Catalogue,Catalogue-WS,/rest/api/resources/create
Data-Catalogue,Catalogue-WS,/rest/api/resources/delete
Data-Catalogue,Catalogue-WS,/rest/api/resources/show
Data-Catalogue,Catalogue-WS,/rest/api/namespaces/show
1 Data-Catalogue Catalogue-WS /rest/api/groups/create
2 Data-Catalogue Catalogue-WS /rest/api/groups/show
3 Data-Catalogue Catalogue-WS /rest/api/items/create
4 Data-Catalogue Catalogue-WS /rest/api/items/delete
5 Data-Catalogue Catalogue-WS /rest/api/items/purge
6 Data-Catalogue Catalogue-WS /rest/api/items/show
7 Data-Catalogue Catalogue-WS /rest/api/resources/create
8 Data-Catalogue Catalogue-WS /rest/api/resources/delete
9 Data-Catalogue Catalogue-WS /rest/api/resources/show
10 Data-Catalogue Catalogue-WS /rest/api/namespaces/show

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(Data-Catalogue)|(DataPublishing)",
"serviceNameRegex": "Catalogue-WS",
"calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})(?<Collection>(group|item|resource|namespace))(s){0,1}\/(?<Action>(create|show|purge|delete))(\/{0,1})"
},
"replace": {
"serviceClass": "DataPublishing",
"serviceName": "Catalogue-WS",
"calledMethod": "${Action} ${Collection}"
}
}

View File

@ -0,0 +1,3 @@
Data-Catalogue,Catalogue-WS,/rest/api/groups/list
Data-Catalogue,Catalogue-WS,/rest/api/items/list
Data-Catalogue,Catalogue-WS,/rest/api/resources/list
1 Data-Catalogue Catalogue-WS /rest/api/groups/list
2 Data-Catalogue Catalogue-WS /rest/api/items/list
3 Data-Catalogue Catalogue-WS /rest/api/resources/list

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(Data-Catalogue)|(DataPublishing)",
"serviceNameRegex": "Catalogue-WS",
"calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})(?<Collection>(groups|items|resources))\/(?<Action>list)(\/{0,1})"
},
"replace": {
"serviceClass": "DataPublishing",
"serviceName": "Catalogue-WS",
"calledMethod": "${Action} ${Collection}"
}
}

View File

@ -0,0 +1 @@
Data-Catalogue,Catalogue-WS,/rest/api/licenses/show
1 Data-Catalogue Catalogue-WS /rest/api/licenses/show

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(Data-Catalogue)|(DataPublishing)",
"serviceNameRegex": "Catalogue-WS",
"calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})licen(c|s)es\/(?<Action>(create|show|purge|delete))(\/{0,1})"
},
"replace": {
"serviceClass": "DataPublishing",
"serviceName": "Catalogue-WS",
"calledMethod": "${Action} license"
}
}

View File

@ -0,0 +1,6 @@
Data-Catalogue,Catalogue-WS,/rest/licenses/list
Data-Catalogue,Catalogue-WS,/rest/api/licenses/list
Data-Catalogue,Catalogue-WS,/rest/api/licences/list
Data-Catalogue,Catalogue-WS,/rest/api/licenses/list/
Data-Catalogue,Catalogue-WS,/rest/api/licences/list
Data-Catalogue,Catalogue-WS,/rest/api/licenses/list/
1 Data-Catalogue Catalogue-WS /rest/licenses/list
2 Data-Catalogue Catalogue-WS /rest/api/licenses/list
3 Data-Catalogue Catalogue-WS /rest/api/licences/list
4 Data-Catalogue Catalogue-WS /rest/api/licenses/list/
5 Data-Catalogue Catalogue-WS /rest/api/licences/list
6 Data-Catalogue Catalogue-WS /rest/api/licenses/list/

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(Data-Catalogue)|(DataPublishing)",
"serviceNameRegex": "Catalogue-WS",
"calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})licen(c|s)es\/(?<Action>list)(\/{0,1})"
},
"replace": {
"serviceClass": "DataPublishing",
"serviceName": "Catalogue-WS",
"calledMethod": "${Action} licenses"
}
}

View File

@ -0,0 +1 @@
Data-Catalogue,Catalogue-WS,/rest/api/profiles/namespaces
1 Data-Catalogue Catalogue-WS /rest/api/profiles/namespaces

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(Data-Catalogue)|(DataPublishing)",
"serviceNameRegex": "Catalogue-WS",
"calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})profiles\/namespaces(s){0,1}.*"
},
"replace": {
"serviceClass": "DataPublishing",
"serviceName": "Catalogue-WS",
"calledMethod": "list namespaces"
}
}

View File

@ -0,0 +1 @@
Data-Catalogue,Catalogue-WS,/rest/api/organizations/create
1 Data-Catalogue Catalogue-WS /rest/api/organizations/create

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(Data-Catalogue)|(DataPublishing)",
"serviceNameRegex": "Catalogue-WS",
"calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})organi(s|z)ation(s){0,1}\/(?<Action>(create|show|purge|delete))(\/{0,1})"
},
"replace": {
"serviceClass": "DataPublishing",
"serviceName": "Catalogue-WS",
"calledMethod": "${Action} organization"
}
}

View File

@ -0,0 +1,17 @@
Data-Catalogue,Catalogue-WS,/rest/api/organisations/list
Data-Catalogue,Catalogue-WS,/rest/api/organizations/list
Data-Catalogue,Catalogue-WS,/rest/api/organisation/list
Data-Catalogue,Catalogue-WS,/rest/api/organization/list
Data-Catalogue,Catalogue-WS,/rest/api/organisations/list/
Data-Catalogue,Catalogue-WS,/rest/api/organizations/list%3fall_fields
Data-Catalogue,Catalogue-WS,/rest/api/organizations/list%3fall_fields=true
Data-Catalogue,Catalogue-WS,/rest/api/organizations/list%3finclude_dataset_count
Data-Catalogue,Catalogue-WS,/rest/api/organizations/list%3finclude_dataset_count=true
Data-Catalogue,Catalogue-WS,/rest/api/organizations/list%3flimit=2
Data-Catalogue,Catalogue-WS,/rest/api/organizations/list%3foffset=2
Data-Catalogue,Catalogue-WS,/rest/api/organizations/list%3forder_by=name
Data-Catalogue,Catalogue-WS,/rest/api/organizations/list/%3finclude_dataset_count=true
Data-Catalogue,Catalogue-WS,listOrganizations
Data-Catalogue,Catalogue-WS,listOrganization
Data-Catalogue,Catalogue-WS,listOrganisations
Data-Catalogue,Catalogue-WS,listOrganisation
1 Data-Catalogue Catalogue-WS /rest/api/organisations/list
2 Data-Catalogue Catalogue-WS /rest/api/organizations/list
3 Data-Catalogue Catalogue-WS /rest/api/organisation/list
4 Data-Catalogue Catalogue-WS /rest/api/organization/list
5 Data-Catalogue Catalogue-WS /rest/api/organisations/list/
6 Data-Catalogue Catalogue-WS /rest/api/organizations/list%3fall_fields
7 Data-Catalogue Catalogue-WS /rest/api/organizations/list%3fall_fields=true
8 Data-Catalogue Catalogue-WS /rest/api/organizations/list%3finclude_dataset_count
9 Data-Catalogue Catalogue-WS /rest/api/organizations/list%3finclude_dataset_count=true
10 Data-Catalogue Catalogue-WS /rest/api/organizations/list%3flimit=2
11 Data-Catalogue Catalogue-WS /rest/api/organizations/list%3foffset=2
12 Data-Catalogue Catalogue-WS /rest/api/organizations/list%3forder_by=name
13 Data-Catalogue Catalogue-WS /rest/api/organizations/list/%3finclude_dataset_count=true
14 Data-Catalogue Catalogue-WS listOrganizations
15 Data-Catalogue Catalogue-WS listOrganization
16 Data-Catalogue Catalogue-WS listOrganisations
17 Data-Catalogue Catalogue-WS listOrganisation

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(Data-Catalogue)|(DataPublishing)",
"serviceNameRegex": "Catalogue-WS",
"calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})organi(s|z)ation(s){0,1}\/(?<Action>list)(\/){0,1}.*|(listOrgani(s|z)ation(s{0,1}))"
},
"replace": {
"serviceClass": "DataPublishing",
"serviceName": "Catalogue-WS",
"calledMethod": "list organizations"
}
}

View File

@ -0,0 +1,2 @@
Data-Catalogue,Catalogue-WS,/rest/api/profiles/profile
Data-Catalogue,Catalogue-WS,rest/api/profiles/profile
1 Data-Catalogue Catalogue-WS /rest/api/profiles/profile
2 Data-Catalogue Catalogue-WS rest/api/profiles/profile

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(Data-Catalogue)|(DataPublishing)",
"serviceNameRegex": "Catalogue-WS",
"calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})profile(s){0,1}\/(?<Action>(show|profile))(\/){0,1}"
},
"replace": {
"serviceClass": "DataPublishing",
"serviceName": "Catalogue-WS",
"calledMethod": "show profile"
}
}

View File

@ -0,0 +1,5 @@
Data-Catalogue,Catalogue-WS,/rest/api/profiles/profile_names
Data-Catalogue,Catalogue-WS,/rest/api/profiles/profile_names/
Data-Catalogue,Catalogue-WS,/rest/api/profile/list
Data-Catalogue,Catalogue-WS,/rest/api/profiles/list
Data-Catalogue,Catalogue-WS,/rest/api/profiles/profile_names
1 Data-Catalogue Catalogue-WS /rest/api/profiles/profile_names
2 Data-Catalogue Catalogue-WS /rest/api/profiles/profile_names/
3 Data-Catalogue Catalogue-WS /rest/api/profile/list
4 Data-Catalogue Catalogue-WS /rest/api/profiles/list
5 Data-Catalogue Catalogue-WS /rest/api/profiles/profile_names

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(Data-Catalogue)|(DataPublishing)",
"serviceNameRegex": "Catalogue-WS",
"calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})profile(s){0,1}\/(?<Action>(list|profile_names))(\/{0,1})"
},
"replace": {
"serviceClass": "DataPublishing",
"serviceName": "Catalogue-WS",
"calledMethod": "list profile"
}
}

View File

@ -0,0 +1,208 @@
DataAccess,CkanConnector,/gcube/service/connect/group
DataAccess,CkanConnector,/gcube/service/connect/organization/biodiversity-lab
DataAccess,CkanConnector,/gcube/service/connect/dataset/cophir
DataAccess,CkanConnector,/gcube/service/connect/organization
DataAccess,CkanConnector,/gcube/service/connect/dataset/aquafarm-cages-in-greece
DataAccess,CkanConnector,gcube/service/connect/dataset
DataAccess,CkanConnector,/gcube/service/connect
DataAccess,CkanConnector,/gcube/service/connect/%20dataset/aalto-foursquare
DataAccess,CkanConnector,/gcube/service/connect/dashboard/dataset
DataAccess,CkanConnector,/gcube/service/connect/dashboard/datasets
DataAccess,CkanConnector,/gcube/service/connect/dataset
DataAccess,CkanConnector,/gcube/service/connect/dataset/aalto-foursquare
DataAccess,CkanConnector,/gcube/service/connect/dataset/aalto-twitter
DataAccess,CkanConnector,/gcube/service/connect/dataset/acrocephalus-paludicola
DataAccess,CkanConnector,/gcube/service/connect/dataset/alieia-virtual-research-environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/all_aquamaps_occurrences_records
DataAccess,CkanConnector,/gcube/service/connect/dataset/analytics_lab_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/title2
DataAccess,CkanConnector,/gcube/service/connect/dataset/articles_and_comments_of_major_estonian_newspapers
DataAccess,CkanConnector,/gcube/service/connect/dataset/base_bielefeld_academic_search_engine
DataAccess,CkanConnector,/gcube/service/connect/dataset/best_practices_and_guidelines_towards_interoperability
DataAccess,CkanConnector,/gcube/service/connect/dataset/blue_datathon_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/bluebridge_psc_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/bluebridge_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/borders
DataAccess,CkanConnector,/gcube/service/connect/dataset/call_data_record_pisa_livorno_firenze_lucca_2014
DataAccess,CkanConnector,/gcube/service/connect/dataset/carpooling
DataAccess,CkanConnector,/gcube/service/connect/dataset/carpooling_never_drive_alone
DataAccess,CkanConnector,/gcube/service/connect/dataset/cdr_data_-_rome
DataAccess,CkanConnector,/gcube/service/connect/dataset/cdr_data_-_tuscany
DataAccess,CkanConnector,/gcube/service/connect/dataset/coastal_water_surfaces
DataAccess,CkanConnector,/gcube/service/connect/dataset/com-livejournal
DataAccess,CkanConnector,/gcube/service/connect/dataset/d10_11_data_processing_workflow_specification_language
DataAccess,CkanConnector,/gcube/service/connect/dataset/d10_12_vre_specification_and_software_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/d10_2_sobigdata_e-_infrastructure_release_plan_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/d10_5_sobigdata_e-infrastructure_software_release_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/d10_8_resource_adaptation_to_register_to_the_e-infrastructure_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/d1_1_all_relevant_boards_established
DataAccess,CkanConnector,/gcube/service/connect/dataset/d2_1_ethics_board_establishment
DataAccess,CkanConnector,/gcube/service/connect/dataset/d2_2_legal_and_ethical_framework_for_sobigdata
DataAccess,CkanConnector,/gcube/service/connect/stats
DataAccess,CkanConnector,/gcube/service/connect/dataset/d2_5_value-sensitive_design_and_privacy-by-design_technologies_for_big_data_analytics_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/d2_6_ip_principles_and_business_models_2
DataAccess,CkanConnector,/gcube/service/connect/dataset/d3_1_project_web_site_project_presentation_and_social_media_presence
DataAccess,CkanConnector,/gcube/service/connect/dataset/d3_2_fact_sheets_aimed_at_different_stakeholders
DataAccess,CkanConnector,/gcube/service/connect/dataset/d3_3_initial_dissemination_and_impact_plan
DataAccess,CkanConnector,/gcube/service/connect/dataset/d3_4_periodic_dissemination_and_impact_report_and_plan_for_following_year_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/d4_1_periodic_training_planning_report_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/d4_4_data_scientists_training_materials_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/d4_7_training_programme_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/d4science_dataminer
DataAccess,CkanConnector,/gcube/service/connect/dataset/d5_1_preliminary_innovation_and_action_plan
DataAccess,CkanConnector,/gcube/service/connect/dataset/d6_1_periodic_reports_on_ta_activities_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/d7_1_va_e-infrastructure_service_provision_and_operation_report_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/d8_1_data_management_report
DataAccess,CkanConnector,/gcube/service/connect/dataset/d8_2_crowd_sensing_platform
DataAccess,CkanConnector,/gcube/service/connect/dataset/d8_4_integrating_open_data_through_innovation_accelerator_platforms
DataAccess,CkanConnector,/gcube/service/connect/dataset/d9_1_social_mining_method_and_service_integration_1
DataAccess,CkanConnector,/gcube/service/connect/dataset/datacite
DataAccess,CkanConnector,/gcube/service/connect/dataset/datahub
DataAccess,CkanConnector,/gcube/service/connect/dataset/de_webarchive
DataAccess,CkanConnector,/gcube/service/connect/dataset/debtrank_systemic_risk_estimation_method
DataAccess,CkanConnector,/gcube/service/connect/dataset/demon
DataAccess,CkanConnector,/gcube/service/connect/dataset/dictionary_creator
DataAccess,CkanConnector,/gcube/service/connect/dataset/digital_dna_fingerprinting
DataAccess,CkanConnector,/gcube/service/connect/dataset/disease_twitter_dataset
DataAccess,CkanConnector,/gcube/service/connect/dataset/distribution_of_the_giant_squid_architeuthis
DataAccess,CkanConnector,/gcube/service/connect/dataset/e-mid_interbank_transactions
DataAccess,CkanConnector,/gcube/service/connect/dataset/economic_integration_model
DataAccess,CkanConnector,/gcube/service/connect/dataset/emid_dataset
DataAccess,CkanConnector,/gcube/service/connect/dataset/epidemic_sentiment_analysis
DataAccess,CkanConnector,/gcube/service/connect/dataset/european_banks_asset_class_exposures
DataAccess,CkanConnector,/gcube/service/connect/dataset/exploration_of_time_use_by_citizens_based_on_their_movement_tracks
DataAccess,CkanConnector,/gcube/service/connect/dataset/soccer_team_performance
DataAccess,CkanConnector,/gcube/service/connect/dataset/facebook_dataset_-_new_orleans_regional_network
DataAccess,CkanConnector,/gcube/service/connect/dataset/facebook_eurosys_2009
DataAccess,CkanConnector,/gcube/service/connect/dataset/fao-aquatic-species-distribution-map-of-bathyraja-spinicauda
DataAccess,CkanConnector,/gcube/service/connect/dataset/fao-aquatic-species-distribution-map-of-bathyteuthis-abyssicola
DataAccess,CkanConnector,/gcube/service/connect/dataset/fao-aquatic-species-distribution-map-of-chamelea-gallina
DataAccess,CkanConnector,/gcube/service/connect/dataset/fao_tunaatlas_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/flickr_and_wikipedia_turism_trajectories
DataAccess,CkanConnector,/gcube/service/connect/dataset/gate_cloud
DataAccess,CkanConnector,/gcube/service/connect/dataset/geolife_-_gps_trajectories_dataset
DataAccess,CkanConnector,/gcube/service/connect/dataset/geotopics_-_a_method_and_system_to_explore_urban_activity
DataAccess,CkanConnector,/gcube/service/connect/dataset/german_academic_web
DataAccess,CkanConnector,/gcube/service/connect/dataset/global-environmental-parameters-with-half-degree-resolution
DataAccess,CkanConnector,/gcube/service/connect/dataset/goniastrea-australensis-aquamaps-native-raster
DataAccess,CkanConnector,/gcube/service/connect/dataset/gps_2011_05
DataAccess,CkanConnector,/gcube/service/connect/dataset/gps_origin_destination_matrix_in_tuscany
DataAccess,CkanConnector,/gcube/service/connect/dataset/gps_track_calabria
DataAccess,CkanConnector,/gcube/service/connect/dataset/gps_track_mestre_-_italy
DataAccess,CkanConnector,/gcube/service/connect/dataset/gps_track_milan_italy
DataAccess,CkanConnector,/gcube/service/connect/dataset/gps_track_pisa_-_italy
DataAccess,CkanConnector,/gcube/service/connect/dataset/gps_track_tuscany_by_volunteers
DataAccess,CkanConnector,/gcube/service/connect/dataset/grsf_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/half-degree_cells_authority_file_-_hcaf
DataAccess,CkanConnector,/gcube/service/connect/dataset/half-degree_cells_authority_file_-_hcaf_in_2050
DataAccess,CkanConnector,/gcube/service/connect/dataset/half-degree_cells_authority_file_-_hcaf_in_2050.ttl
DataAccess,CkanConnector,/gcube/service/connect/dataset/hpc_twitter_dumps
DataAccess,CkanConnector,/gcube/service/connect/dataset/ices_abundanceestimationfromacoustic_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/ices_introduction_to_stock_assessment_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/ices_introduction_to_the_r_environment_2017_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/igd_visualisation_edito
DataAccess,CkanConnector,/gcube/service/connect/dataset/igd_visualisation_editor
DataAccess,CkanConnector,/gcube/service/connect/dataset/igd_visualization_editor
DataAccess,CkanConnector,/gcube/service/connect/dataset/istat_census_zone_tuscany
DataAccess,CkanConnector,/gcube/service/connect/dataset/kddmultigraph
DataAccess,CkanConnector,/gcube/service/connect/dataset/latimeria-chalumnae-occurrences-layer19
DataAccess,CkanConnector,/gcube/service/connect/dataset/latimeria_chalumnae_points
DataAccess,CkanConnector,/gcube/service/connect/dataset/leader_detect
DataAccess,CkanConnector,/gcube/service/connect/dataset/marine_lifewatch
DataAccess,CkanConnector,/gcube/service/connect/dataset/matlas_-_optics_algorithm
DataAccess,CkanConnector,/gcube/service/connect/dataset/maxandsam_network_recontruction_method
DataAccess,CkanConnector,/gcube/service/connect/dataset/maximum_entropy_network_reconstruction
DataAccess,CkanConnector,/gcube/service/connect/dataset/mobility_profile
DataAccess,CkanConnector,/gcube/service/connect/dataset/modelling_scientific_migration
DataAccess,CkanConnector,/gcube/service/connect/dataset/msn_search_query_log
DataAccess,CkanConnector,/gcube/service/connect/dataset/my_aggregator_of_data_repositories
DataAccess,CkanConnector,/gcube/service/connect/dataset/myway_-_trajectory_prediction
DataAccess,CkanConnector,/gcube/service/connect/dataset/nasa-earth-exchange-annual-average-suface-air-temperature-projection-from-1950-to-2100-in-a-hig
DataAccess,CkanConnector,/gcube/service/connect/dataset/ndlib-rest
DataAccess,CkanConnector,/gcube/service/connect/dataset/nowcasting_migration_stocks_and_flows
DataAccess,CkanConnector,/gcube/service/connect/dataset/number-of-observations-from-01-16-01-01-00-to-12-16-01-01-00-3d-world-ocean-atlas-09-nitrate-mo
DataAccess,CkanConnector,/gcube/service/connect/dataset/official_administrative_information_of_tuscany
DataAccess,CkanConnector,/gcube/service/connect/dataset/privacy_risk_on_sociometer
DataAccess,CkanConnector,/gcube/service/connect/dataset/privacy_risk_on_trajectories
DataAccess,CkanConnector,/gcube/service/connect/dataset/prova
DataAccess,CkanConnector,/gcube/service/connect/dataset/prova1
DataAccess,CkanConnector,/gcube/service/connect/dataset/prova2
DataAccess,CkanConnector,/gcube/service/connect/dataset/publication_test
DataAccess,CkanConnector,/gcube/service/connect/dataset/quickrank
DataAccess,CkanConnector,/gcube/service/connect/dataset/retail_market_dataset
DataAccess,CkanConnector,/gcube/service/connect/dataset/rprototypinglab_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/scalable_data_mining_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/scienceresearch
DataAccess,CkanConnector,/gcube/service/connect/dataset/scientific_publications_dataset
DataAccess,CkanConnector,/gcube/service/connect/dataset/scube
DataAccess,CkanConnector,/gcube/service/connect/dataset/smaph_system_for_query_entity_linking
DataAccess,CkanConnector,/gcube/service/connect/dataset/sociometer
DataAccess,CkanConnector,/gcube/service/connect/dataset/statistical_validation
DataAccess,CkanConnector,/gcube/service/connect/dataset/stocksandfisherieskb_virtual_research_environment
DataAccess,CkanConnector,/gcube/service/connect/dataset/superdiversity_and_sentiment
DataAccess,CkanConnector,/gcube/service/connect/dataset/tagme
DataAccess,CkanConnector,/gcube/service/connect/dataset/tail_granger_causality_network_construction
DataAccess,CkanConnector,/gcube/service/connect/dataset/title
DataAccess,CkanConnector,/gcube/service/connect/dataset/trajectory_builder
DataAccess,CkanConnector,/gcube/service/connect/dataset/tripbuilder
DataAccess,CkanConnector,/gcube/service/connect/dataset/twitter_dataset_2013-2014
DataAccess,CkanConnector,/gcube/service/connect/dataset/twitter_monitor
DataAccess,CkanConnector,/gcube/service/connect/dataset/urban_mobility_atlas
DataAccess,CkanConnector,/gcube/service/connect/dataset/web_archive_re-crawler
DataAccess,CkanConnector,/gcube/service/connect/dataset/wikidata_geo_mapper
DataAccess,CkanConnector,/gcube/service/connect/dataset/word_sense_evolution_testset
DataAccess,CkanConnector,/gcube/service/connect/group/city-of-citizens-group
DataAccess,CkanConnector,/gcube/service/connect/group/sobigdata-eu-dataset
DataAccess,CkanConnector,/gcube/service/connect/group/societal-debates-group
DataAccess,CkanConnector,/gcube/service/connect/organization/biodiversitylab
DataAccess,CkanConnector,/gcube/service/connect/organization/biodivesitylab
DataAccess,CkanConnector,/gcube/service/connect/organization/bluebridgeproject
DataAccess,CkanConnector,/gcube/service/connect/organization/diodiversitylab
DataAccess,CkanConnector,/gcube/service/connect/organization/emodnet
DataAccess,CkanConnector,/gcube/service/connect/organization/fao
DataAccess,CkanConnector,/gcube/service/connect/organization/fao_tunaatlas
DataAccess,CkanConnector,/gcube/service/connect/organization/gcube
DataAccess,CkanConnector,/gcube/service/connect/organization/grsf
DataAccess,CkanConnector,/gcube/service/connect/organization/resourcecatalogue
DataAccess,CkanConnector,/gcube/service/connect/organization/siaspa
DataAccess,CkanConnector,/gcube/service/connect/organization/tabulardatalab
DataAccess,CkanConnector,/gcube/service/connect/organization_vre/fao_tunaatlas
DataAccess,CkanConnector,/gcube/service/connect/type
DataAccess,CkanConnector,gcube/service/connect
DataAccess,CkanConnector,gcube/service/connect/dashboard/datasets
DataAccess,CkanConnector,gcube/service/connect/dashboard/groups
DataAccess,CkanConnector,gcube/service/connect/dataset/abramis_brama_absence_generation_from_obis_id71eb69a754ab48cebefb52a448433
DataAccess,CkanConnector,gcube/service/connect/dataset/abramis_brama_absence_generation_from_obis_id71eb69a754ab48cebefb52a448433fa0
DataAccess,CkanConnector,gcube/service/connect/dataset/best_practices_and_guidelines_towards_interoperability
DataAccess,CkanConnector,gcube/service/connect/dataset/cirrhilabrus-scottorum3
DataAccess,CkanConnector,gcube/service/connect/dataset/de_webarchive
DataAccess,CkanConnector,gcube/service/connect/dataset/first_publication_from_biodiversity_lab
DataAccess,CkanConnector,gcube/service/connect/dataset/first_publication_in_bluebridgeproject
DataAccess,CkanConnector,gcube/service/connect/dataset/first_publication_in_d4science_production
DataAccess,CkanConnector,gcube/service/connect/dataset/from_root_to_blue_bridge_projec
DataAccess,CkanConnector,gcube/service/connect/dataset/geotopics_-_a_method_and_system_to_explore_urban_activity
DataAccess,CkanConnector,gcube/service/connect/dataset/my_deliverable
DataAccess,CkanConnector,gcube/service/connect/dataset/new_features_ckan
DataAccess,CkanConnector,gcube/service/connect/dataset/official_administrative_information_of_tuscany
DataAccess,CkanConnector,gcube/service/connect/dataset/origin_destination_matrix
DataAccess,CkanConnector,gcube/service/connect/dataset/presentation
DataAccess,CkanConnector,gcube/service/connect/dataset/tagme
DataAccess,CkanConnector,gcube/service/connect/dataset/{UUID_TO_REPLACE}
DataAccess,CkanConnector,gcube/service/connect/dataset/{UUID_TO_REPLACE}.rdf
DataAccess,CkanConnector,gcube/service/connect/dataset/{UUID_TO_REPLACE}.ttl
DataAccess,CkanConnector,gcube/service/connect/group
DataAccess,CkanConnector,gcube/service/connect/group/firms
DataAccess,CkanConnector,gcube/service/connect/organization
DataAccess,CkanConnector,gcube/service/connect/organization/biodiversitylab
DataAccess,CkanConnector,gcube/service/connect/organization/bluebridgeproject
DataAccess,CkanConnector,gcube/service/connect/organization/d4science
DataAccess,CkanConnector,gcube/service/connect/organization/fao_tunaatlas
DataAccess,CkanConnector,gcube/service/connect/organization/gcube
DataAccess,CkanConnector,gcube/service/connect/organization/grsf
DataAccess,CkanConnector,gcube/service/connect/organization/grsf_admin
DataAccess,CkanConnector,gcube/service/connect/organization/resourcecatalogue
DataAccess,CkanConnector,gcube/service/connect/organization/sobigdata
DataAccess,CkanConnector,gcube/service/connect/organization/stockassessment
DataAccess,CkanConnector,gcube/service/connect/organization/tabulardatalab
DataAccess,CkanConnector,gcube/service/connect/statitstics
DataAccess,CkanConnector,gcube/service/connect/stats
1 DataAccess CkanConnector /gcube/service/connect/group
2 DataAccess CkanConnector /gcube/service/connect/organization/biodiversity-lab
3 DataAccess CkanConnector /gcube/service/connect/dataset/cophir
4 DataAccess CkanConnector /gcube/service/connect/organization
5 DataAccess CkanConnector /gcube/service/connect/dataset/aquafarm-cages-in-greece
6 DataAccess CkanConnector gcube/service/connect/dataset
7 DataAccess CkanConnector /gcube/service/connect
8 DataAccess CkanConnector /gcube/service/connect/%20dataset/aalto-foursquare
9 DataAccess CkanConnector /gcube/service/connect/dashboard/dataset
10 DataAccess CkanConnector /gcube/service/connect/dashboard/datasets
11 DataAccess CkanConnector /gcube/service/connect/dataset
12 DataAccess CkanConnector /gcube/service/connect/dataset/aalto-foursquare
13 DataAccess CkanConnector /gcube/service/connect/dataset/aalto-twitter
14 DataAccess CkanConnector /gcube/service/connect/dataset/acrocephalus-paludicola
15 DataAccess CkanConnector /gcube/service/connect/dataset/alieia-virtual-research-environment
16 DataAccess CkanConnector /gcube/service/connect/dataset/all_aquamaps_occurrences_records
17 DataAccess CkanConnector /gcube/service/connect/dataset/analytics_lab_virtual_research_environment
18 DataAccess CkanConnector /gcube/service/connect/dataset/title2
19 DataAccess CkanConnector /gcube/service/connect/dataset/articles_and_comments_of_major_estonian_newspapers
20 DataAccess CkanConnector /gcube/service/connect/dataset/base_bielefeld_academic_search_engine
21 DataAccess CkanConnector /gcube/service/connect/dataset/best_practices_and_guidelines_towards_interoperability
22 DataAccess CkanConnector /gcube/service/connect/dataset/blue_datathon_virtual_research_environment
23 DataAccess CkanConnector /gcube/service/connect/dataset/bluebridge_psc_virtual_research_environment
24 DataAccess CkanConnector /gcube/service/connect/dataset/bluebridge_virtual_research_environment
25 DataAccess CkanConnector /gcube/service/connect/dataset/borders
26 DataAccess CkanConnector /gcube/service/connect/dataset/call_data_record_pisa_livorno_firenze_lucca_2014
27 DataAccess CkanConnector /gcube/service/connect/dataset/carpooling
28 DataAccess CkanConnector /gcube/service/connect/dataset/carpooling_never_drive_alone
29 DataAccess CkanConnector /gcube/service/connect/dataset/cdr_data_-_rome
30 DataAccess CkanConnector /gcube/service/connect/dataset/cdr_data_-_tuscany
31 DataAccess CkanConnector /gcube/service/connect/dataset/coastal_water_surfaces
32 DataAccess CkanConnector /gcube/service/connect/dataset/com-livejournal
33 DataAccess CkanConnector /gcube/service/connect/dataset/d10_11_data_processing_workflow_specification_language
34 DataAccess CkanConnector /gcube/service/connect/dataset/d10_12_vre_specification_and_software_1
35 DataAccess CkanConnector /gcube/service/connect/dataset/d10_2_sobigdata_e-_infrastructure_release_plan_1
36 DataAccess CkanConnector /gcube/service/connect/dataset/d10_5_sobigdata_e-infrastructure_software_release_1
37 DataAccess CkanConnector /gcube/service/connect/dataset/d10_8_resource_adaptation_to_register_to_the_e-infrastructure_1
38 DataAccess CkanConnector /gcube/service/connect/dataset/d1_1_all_relevant_boards_established
39 DataAccess CkanConnector /gcube/service/connect/dataset/d2_1_ethics_board_establishment
40 DataAccess CkanConnector /gcube/service/connect/dataset/d2_2_legal_and_ethical_framework_for_sobigdata
41 DataAccess CkanConnector /gcube/service/connect/stats
42 DataAccess CkanConnector /gcube/service/connect/dataset/d2_5_value-sensitive_design_and_privacy-by-design_technologies_for_big_data_analytics_1
43 DataAccess CkanConnector /gcube/service/connect/dataset/d2_6_ip_principles_and_business_models_2
44 DataAccess CkanConnector /gcube/service/connect/dataset/d3_1_project_web_site_project_presentation_and_social_media_presence
45 DataAccess CkanConnector /gcube/service/connect/dataset/d3_2_fact_sheets_aimed_at_different_stakeholders
46 DataAccess CkanConnector /gcube/service/connect/dataset/d3_3_initial_dissemination_and_impact_plan
47 DataAccess CkanConnector /gcube/service/connect/dataset/d3_4_periodic_dissemination_and_impact_report_and_plan_for_following_year_1
48 DataAccess CkanConnector /gcube/service/connect/dataset/d4_1_periodic_training_planning_report_1
49 DataAccess CkanConnector /gcube/service/connect/dataset/d4_4_data_scientists_training_materials_1
50 DataAccess CkanConnector /gcube/service/connect/dataset/d4_7_training_programme_1
51 DataAccess CkanConnector /gcube/service/connect/dataset/d4science_dataminer
52 DataAccess CkanConnector /gcube/service/connect/dataset/d5_1_preliminary_innovation_and_action_plan
53 DataAccess CkanConnector /gcube/service/connect/dataset/d6_1_periodic_reports_on_ta_activities_1
54 DataAccess CkanConnector /gcube/service/connect/dataset/d7_1_va_e-infrastructure_service_provision_and_operation_report_1
55 DataAccess CkanConnector /gcube/service/connect/dataset/d8_1_data_management_report
56 DataAccess CkanConnector /gcube/service/connect/dataset/d8_2_crowd_sensing_platform
57 DataAccess CkanConnector /gcube/service/connect/dataset/d8_4_integrating_open_data_through_innovation_accelerator_platforms
58 DataAccess CkanConnector /gcube/service/connect/dataset/d9_1_social_mining_method_and_service_integration_1
59 DataAccess CkanConnector /gcube/service/connect/dataset/datacite
60 DataAccess CkanConnector /gcube/service/connect/dataset/datahub
61 DataAccess CkanConnector /gcube/service/connect/dataset/de_webarchive
62 DataAccess CkanConnector /gcube/service/connect/dataset/debtrank_systemic_risk_estimation_method
63 DataAccess CkanConnector /gcube/service/connect/dataset/demon
64 DataAccess CkanConnector /gcube/service/connect/dataset/dictionary_creator
65 DataAccess CkanConnector /gcube/service/connect/dataset/digital_dna_fingerprinting
66 DataAccess CkanConnector /gcube/service/connect/dataset/disease_twitter_dataset
67 DataAccess CkanConnector /gcube/service/connect/dataset/distribution_of_the_giant_squid_architeuthis
68 DataAccess CkanConnector /gcube/service/connect/dataset/e-mid_interbank_transactions
69 DataAccess CkanConnector /gcube/service/connect/dataset/economic_integration_model
70 DataAccess CkanConnector /gcube/service/connect/dataset/emid_dataset
71 DataAccess CkanConnector /gcube/service/connect/dataset/epidemic_sentiment_analysis
72 DataAccess CkanConnector /gcube/service/connect/dataset/european_banks_asset_class_exposures
73 DataAccess CkanConnector /gcube/service/connect/dataset/exploration_of_time_use_by_citizens_based_on_their_movement_tracks
74 DataAccess CkanConnector /gcube/service/connect/dataset/soccer_team_performance
75 DataAccess CkanConnector /gcube/service/connect/dataset/facebook_dataset_-_new_orleans_regional_network
76 DataAccess CkanConnector /gcube/service/connect/dataset/facebook_eurosys_2009
77 DataAccess CkanConnector /gcube/service/connect/dataset/fao-aquatic-species-distribution-map-of-bathyraja-spinicauda
78 DataAccess CkanConnector /gcube/service/connect/dataset/fao-aquatic-species-distribution-map-of-bathyteuthis-abyssicola
79 DataAccess CkanConnector /gcube/service/connect/dataset/fao-aquatic-species-distribution-map-of-chamelea-gallina
80 DataAccess CkanConnector /gcube/service/connect/dataset/fao_tunaatlas_virtual_research_environment
81 DataAccess CkanConnector /gcube/service/connect/dataset/flickr_and_wikipedia_turism_trajectories
82 DataAccess CkanConnector /gcube/service/connect/dataset/gate_cloud
83 DataAccess CkanConnector /gcube/service/connect/dataset/geolife_-_gps_trajectories_dataset
84 DataAccess CkanConnector /gcube/service/connect/dataset/geotopics_-_a_method_and_system_to_explore_urban_activity
85 DataAccess CkanConnector /gcube/service/connect/dataset/german_academic_web
86 DataAccess CkanConnector /gcube/service/connect/dataset/global-environmental-parameters-with-half-degree-resolution
87 DataAccess CkanConnector /gcube/service/connect/dataset/goniastrea-australensis-aquamaps-native-raster
88 DataAccess CkanConnector /gcube/service/connect/dataset/gps_2011_05
89 DataAccess CkanConnector /gcube/service/connect/dataset/gps_origin_destination_matrix_in_tuscany
90 DataAccess CkanConnector /gcube/service/connect/dataset/gps_track_calabria
91 DataAccess CkanConnector /gcube/service/connect/dataset/gps_track_mestre_-_italy
92 DataAccess CkanConnector /gcube/service/connect/dataset/gps_track_milan_italy
93 DataAccess CkanConnector /gcube/service/connect/dataset/gps_track_pisa_-_italy
94 DataAccess CkanConnector /gcube/service/connect/dataset/gps_track_tuscany_by_volunteers
95 DataAccess CkanConnector /gcube/service/connect/dataset/grsf_virtual_research_environment
96 DataAccess CkanConnector /gcube/service/connect/dataset/half-degree_cells_authority_file_-_hcaf
97 DataAccess CkanConnector /gcube/service/connect/dataset/half-degree_cells_authority_file_-_hcaf_in_2050
98 DataAccess CkanConnector /gcube/service/connect/dataset/half-degree_cells_authority_file_-_hcaf_in_2050.ttl
99 DataAccess CkanConnector /gcube/service/connect/dataset/hpc_twitter_dumps
100 DataAccess CkanConnector /gcube/service/connect/dataset/ices_abundanceestimationfromacoustic_virtual_research_environment
101 DataAccess CkanConnector /gcube/service/connect/dataset/ices_introduction_to_stock_assessment_virtual_research_environment
102 DataAccess CkanConnector /gcube/service/connect/dataset/ices_introduction_to_the_r_environment_2017_virtual_research_environment
103 DataAccess CkanConnector /gcube/service/connect/dataset/igd_visualisation_edito
104 DataAccess CkanConnector /gcube/service/connect/dataset/igd_visualisation_editor
105 DataAccess CkanConnector /gcube/service/connect/dataset/igd_visualization_editor
106 DataAccess CkanConnector /gcube/service/connect/dataset/istat_census_zone_tuscany
107 DataAccess CkanConnector /gcube/service/connect/dataset/kddmultigraph
108 DataAccess CkanConnector /gcube/service/connect/dataset/latimeria-chalumnae-occurrences-layer19
109 DataAccess CkanConnector /gcube/service/connect/dataset/latimeria_chalumnae_points
110 DataAccess CkanConnector /gcube/service/connect/dataset/leader_detect
111 DataAccess CkanConnector /gcube/service/connect/dataset/marine_lifewatch
112 DataAccess CkanConnector /gcube/service/connect/dataset/matlas_-_optics_algorithm
113 DataAccess CkanConnector /gcube/service/connect/dataset/maxandsam_network_recontruction_method
114 DataAccess CkanConnector /gcube/service/connect/dataset/maximum_entropy_network_reconstruction
115 DataAccess CkanConnector /gcube/service/connect/dataset/mobility_profile
116 DataAccess CkanConnector /gcube/service/connect/dataset/modelling_scientific_migration
117 DataAccess CkanConnector /gcube/service/connect/dataset/msn_search_query_log
118 DataAccess CkanConnector /gcube/service/connect/dataset/my_aggregator_of_data_repositories
119 DataAccess CkanConnector /gcube/service/connect/dataset/myway_-_trajectory_prediction
120 DataAccess CkanConnector /gcube/service/connect/dataset/nasa-earth-exchange-annual-average-suface-air-temperature-projection-from-1950-to-2100-in-a-hig
121 DataAccess CkanConnector /gcube/service/connect/dataset/ndlib-rest
122 DataAccess CkanConnector /gcube/service/connect/dataset/nowcasting_migration_stocks_and_flows
123 DataAccess CkanConnector /gcube/service/connect/dataset/number-of-observations-from-01-16-01-01-00-to-12-16-01-01-00-3d-world-ocean-atlas-09-nitrate-mo
124 DataAccess CkanConnector /gcube/service/connect/dataset/official_administrative_information_of_tuscany
125 DataAccess CkanConnector /gcube/service/connect/dataset/privacy_risk_on_sociometer
126 DataAccess CkanConnector /gcube/service/connect/dataset/privacy_risk_on_trajectories
127 DataAccess CkanConnector /gcube/service/connect/dataset/prova
128 DataAccess CkanConnector /gcube/service/connect/dataset/prova1
129 DataAccess CkanConnector /gcube/service/connect/dataset/prova2
130 DataAccess CkanConnector /gcube/service/connect/dataset/publication_test
131 DataAccess CkanConnector /gcube/service/connect/dataset/quickrank
132 DataAccess CkanConnector /gcube/service/connect/dataset/retail_market_dataset
133 DataAccess CkanConnector /gcube/service/connect/dataset/rprototypinglab_virtual_research_environment
134 DataAccess CkanConnector /gcube/service/connect/dataset/scalable_data_mining_virtual_research_environment
135 DataAccess CkanConnector /gcube/service/connect/dataset/scienceresearch
136 DataAccess CkanConnector /gcube/service/connect/dataset/scientific_publications_dataset
137 DataAccess CkanConnector /gcube/service/connect/dataset/scube
138 DataAccess CkanConnector /gcube/service/connect/dataset/smaph_system_for_query_entity_linking
139 DataAccess CkanConnector /gcube/service/connect/dataset/sociometer
140 DataAccess CkanConnector /gcube/service/connect/dataset/statistical_validation
141 DataAccess CkanConnector /gcube/service/connect/dataset/stocksandfisherieskb_virtual_research_environment
142 DataAccess CkanConnector /gcube/service/connect/dataset/superdiversity_and_sentiment
143 DataAccess CkanConnector /gcube/service/connect/dataset/tagme
144 DataAccess CkanConnector /gcube/service/connect/dataset/tail_granger_causality_network_construction
145 DataAccess CkanConnector /gcube/service/connect/dataset/title
146 DataAccess CkanConnector /gcube/service/connect/dataset/trajectory_builder
147 DataAccess CkanConnector /gcube/service/connect/dataset/tripbuilder
148 DataAccess CkanConnector /gcube/service/connect/dataset/twitter_dataset_2013-2014
149 DataAccess CkanConnector /gcube/service/connect/dataset/twitter_monitor
150 DataAccess CkanConnector /gcube/service/connect/dataset/urban_mobility_atlas
151 DataAccess CkanConnector /gcube/service/connect/dataset/web_archive_re-crawler
152 DataAccess CkanConnector /gcube/service/connect/dataset/wikidata_geo_mapper
153 DataAccess CkanConnector /gcube/service/connect/dataset/word_sense_evolution_testset
154 DataAccess CkanConnector /gcube/service/connect/group/city-of-citizens-group
155 DataAccess CkanConnector /gcube/service/connect/group/sobigdata-eu-dataset
156 DataAccess CkanConnector /gcube/service/connect/group/societal-debates-group
157 DataAccess CkanConnector /gcube/service/connect/organization/biodiversitylab
158 DataAccess CkanConnector /gcube/service/connect/organization/biodivesitylab
159 DataAccess CkanConnector /gcube/service/connect/organization/bluebridgeproject
160 DataAccess CkanConnector /gcube/service/connect/organization/diodiversitylab
161 DataAccess CkanConnector /gcube/service/connect/organization/emodnet
162 DataAccess CkanConnector /gcube/service/connect/organization/fao
163 DataAccess CkanConnector /gcube/service/connect/organization/fao_tunaatlas
164 DataAccess CkanConnector /gcube/service/connect/organization/gcube
165 DataAccess CkanConnector /gcube/service/connect/organization/grsf
166 DataAccess CkanConnector /gcube/service/connect/organization/resourcecatalogue
167 DataAccess CkanConnector /gcube/service/connect/organization/siaspa
168 DataAccess CkanConnector /gcube/service/connect/organization/tabulardatalab
169 DataAccess CkanConnector /gcube/service/connect/organization_vre/fao_tunaatlas
170 DataAccess CkanConnector /gcube/service/connect/type
171 DataAccess CkanConnector gcube/service/connect
172 DataAccess CkanConnector gcube/service/connect/dashboard/datasets
173 DataAccess CkanConnector gcube/service/connect/dashboard/groups
174 DataAccess CkanConnector gcube/service/connect/dataset/abramis_brama_absence_generation_from_obis_id71eb69a754ab48cebefb52a448433
175 DataAccess CkanConnector gcube/service/connect/dataset/abramis_brama_absence_generation_from_obis_id71eb69a754ab48cebefb52a448433fa0
176 DataAccess CkanConnector gcube/service/connect/dataset/best_practices_and_guidelines_towards_interoperability
177 DataAccess CkanConnector gcube/service/connect/dataset/cirrhilabrus-scottorum3
178 DataAccess CkanConnector gcube/service/connect/dataset/de_webarchive
179 DataAccess CkanConnector gcube/service/connect/dataset/first_publication_from_biodiversity_lab
180 DataAccess CkanConnector gcube/service/connect/dataset/first_publication_in_bluebridgeproject
181 DataAccess CkanConnector gcube/service/connect/dataset/first_publication_in_d4science_production
182 DataAccess CkanConnector gcube/service/connect/dataset/from_root_to_blue_bridge_projec
183 DataAccess CkanConnector gcube/service/connect/dataset/geotopics_-_a_method_and_system_to_explore_urban_activity
184 DataAccess CkanConnector gcube/service/connect/dataset/my_deliverable
185 DataAccess CkanConnector gcube/service/connect/dataset/new_features_ckan
186 DataAccess CkanConnector gcube/service/connect/dataset/official_administrative_information_of_tuscany
187 DataAccess CkanConnector gcube/service/connect/dataset/origin_destination_matrix
188 DataAccess CkanConnector gcube/service/connect/dataset/presentation
189 DataAccess CkanConnector gcube/service/connect/dataset/tagme
190 DataAccess CkanConnector gcube/service/connect/dataset/{UUID_TO_REPLACE}
191 DataAccess CkanConnector gcube/service/connect/dataset/{UUID_TO_REPLACE}.rdf
192 DataAccess CkanConnector gcube/service/connect/dataset/{UUID_TO_REPLACE}.ttl
193 DataAccess CkanConnector gcube/service/connect/group
194 DataAccess CkanConnector gcube/service/connect/group/firms
195 DataAccess CkanConnector gcube/service/connect/organization
196 DataAccess CkanConnector gcube/service/connect/organization/biodiversitylab
197 DataAccess CkanConnector gcube/service/connect/organization/bluebridgeproject
198 DataAccess CkanConnector gcube/service/connect/organization/d4science
199 DataAccess CkanConnector gcube/service/connect/organization/fao_tunaatlas
200 DataAccess CkanConnector gcube/service/connect/organization/gcube
201 DataAccess CkanConnector gcube/service/connect/organization/grsf
202 DataAccess CkanConnector gcube/service/connect/organization/grsf_admin
203 DataAccess CkanConnector gcube/service/connect/organization/resourcecatalogue
204 DataAccess CkanConnector gcube/service/connect/organization/sobigdata
205 DataAccess CkanConnector gcube/service/connect/organization/stockassessment
206 DataAccess CkanConnector gcube/service/connect/organization/tabulardatalab
207 DataAccess CkanConnector gcube/service/connect/statitstics
208 DataAccess CkanConnector gcube/service/connect/stats

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "DataAccess",
"serviceNameRegex": "CkanConnector",
"calledMethodRegex": "^\/{0,1}gcube\/service\/connect.*"
},
"replace": {
"serviceClass": "DataAccess",
"serviceName": "CkanConnector",
"calledMethod": "connect"
}
}

View File

@ -0,0 +1,2 @@
DataAccess,CkanConnector,gcube/service/disconnect
DataAccess,CkanConnector,/gcube/service/disconnect
1 DataAccess CkanConnector gcube/service/disconnect
2 DataAccess CkanConnector /gcube/service/disconnect

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "DataAccess",
"serviceNameRegex": "CkanConnector",
"calledMethodRegex": "^\/{0,1}gcube\/service\/disconnect.*"
},
"replace": {
"serviceClass": "DataAccess",
"serviceName": "CkanConnector",
"calledMethod": "disconnect"
}
}

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(WPS)|(DataAnalysis)",
"serviceNameRegex": "DataMiner",
"calledMethodRegex": "(?<CalledMethod>.*)"
},
"replace": {
"serviceClass": "DataAnalysis",
"serviceName": "DataMiner",
"calledMethod": "${CalledMethod}"
}
}

View File

@ -0,0 +1,3 @@
WPS,DataMiner,UNKNOWN
WPS,DataMiner,OTHER
WPS,DataMiner,gcube/resource/scopes
1 WPS DataMiner UNKNOWN
2 WPS DataMiner OTHER
3 WPS DataMiner gcube/resource/scopes

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(WPS)|(DataAnalysis)",
"serviceNameRegex": "DataMiner",
"calledMethodRegex": "^\/{0,1}(UNKNOWN|OTHER|(gcube\/resource\/scopes)).*"
},
"replace": {
"serviceClass": "DataAnalysis",
"serviceName": "DataMiner",
"calledMethod": "OTHER"
}
}

View File

@ -0,0 +1,81 @@
WPS,DataMiner,GetCapabilities
WPS,DataMiner,/GetCapabilities
WPS,DataMiner,RetrieveResultServlet
WPS,DataMiner,/RetrieveResultServlet
WPS,DataMiner,DescribeProcess
WPS,DataMiner,/DescribeProcess
WPS,DataMiner,WebProcessingService
WPS,DataMiner,/WebProcessingService
WPS,DataMiner,CancelComputationServlet
WPS,DataMiner,/CancelComputationServlet
WPS,DataMiner,Execute
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.clusterers.DBSCAN
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.clusterers.KMEANS
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.clusterers.LOF
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.clusterers.XMEANS
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.evaluators.DISCREPANCY_ANALYSIS
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.evaluators.HRS
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.evaluators.MAPS_COMPARISON
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.evaluators.QUALITY_ANALYSIS
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.generators.AQUAMAPS_SUITABLE
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.generators.BIONYM
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.generators.FEED_FORWARD_A_N_N_DISTRIBUTION
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.generators.OCCURRENCES_MERGER
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.modellers.FEED_FORWARD_ANN
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.AAPS_PUBLIC_PUBLISHER
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ABSENCE_CELLS_FROM_AQUAMAPS
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ABSENCE_GENERATION_FROM_OBIS
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.BIOCLIMATE_HCAF
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.BIOCLIMATE_HSPEN
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.BIONYM_LOCAL
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.CMSY_2
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.CSQUARES_TO_COORDINATES
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.CSQUARE_COLUMN_CREATOR
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.CSV_TO_NETCDF_CONVERTER_XY
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ECOPATH_WITH_ECOSIM
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ESRI_GRID_EXTRACTION
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ESTIMATE_FISHING_ACTIVITY
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ESTIMATE_MONTHLY_FISHING_EFFORT
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.FAO_OCEAN_AREA_COLUMN_CREATOR
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.FAO_OCEAN_AREA_COLUMN_CREATOR_FROM_QUADRANT
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.GENERIC_CHARTS
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.GEO_CHART
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.GERMAN_NAMED_ENTITY_RECOGNIZER
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.GRID_CWP_TO_COORDINATES
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.HCAF_FILTER
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ITALIAN_NER
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.LISTDBINFO
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.LISTDBNAMES
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.LISTDBSCHEMA
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.LISTTABLES
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.MAX_ENT_NICHE_MODELLING
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.MOST_OBSERVED_SPECIES
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.MOST_OBSERVED_TAXA
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.MPA_INTERSECT_V3
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.MPA_INTERSECT_V3_2
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.OCCURRENCES_DUPLICATES_DELETER
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.POINTS_TO_MAP
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.PRESENCE_CELLS_GENERATION
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.RASTER_DATA_PUBLISHER
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SAMPLEONTABLE
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SEADATANET_INTERPOLATOR
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SGVM_INTERPOLATION
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SHAPEFILE_PUBLISHER
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SIMULFISHKPIS
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SMARTSAMPLEONTABLE
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SPECIES_OBSERVATIONS_PER_AREA
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SPECIES_OBSERVATIONS_TREND_PER_YEAR
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SPECIES_OBSERVATION_LME_AREA_PER_YEAR
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SPECIES_OBSERVATION_MEOW_AREA_PER_YEAR
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SUBMITQUERY
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TAXONOMY_OBSERVATIONS_TREND_PER_YEAR
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TIMEEXTRACTION
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TIMEEXTRACTION_TABLE
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TIME_GEO_CHART
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TIME_SERIES_ANALYSIS
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TIME_SERIES_CHARTS
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.WEB_APP_PUBLISHER
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.XYEXTRACTOR
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.XYEXTRACTOR_TABLE
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ZEXTRACTION
WPS,DataMiner,Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ZEXTRACTION_TABLE
1 WPS DataMiner GetCapabilities
2 WPS DataMiner /GetCapabilities
3 WPS DataMiner RetrieveResultServlet
4 WPS DataMiner /RetrieveResultServlet
5 WPS DataMiner DescribeProcess
6 WPS DataMiner /DescribeProcess
7 WPS DataMiner WebProcessingService
8 WPS DataMiner /WebProcessingService
9 WPS DataMiner CancelComputationServlet
10 WPS DataMiner /CancelComputationServlet
11 WPS DataMiner Execute
12 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.clusterers.DBSCAN
13 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.clusterers.KMEANS
14 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.clusterers.LOF
15 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.clusterers.XMEANS
16 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.evaluators.DISCREPANCY_ANALYSIS
17 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.evaluators.HRS
18 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.evaluators.MAPS_COMPARISON
19 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.evaluators.QUALITY_ANALYSIS
20 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.generators.AQUAMAPS_SUITABLE
21 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.generators.BIONYM
22 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.generators.FEED_FORWARD_A_N_N_DISTRIBUTION
23 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.generators.OCCURRENCES_MERGER
24 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.modellers.FEED_FORWARD_ANN
25 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.AAPS_PUBLIC_PUBLISHER
26 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ABSENCE_CELLS_FROM_AQUAMAPS
27 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ABSENCE_GENERATION_FROM_OBIS
28 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.BIOCLIMATE_HCAF
29 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.BIOCLIMATE_HSPEN
30 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.BIONYM_LOCAL
31 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.CMSY_2
32 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.CSQUARES_TO_COORDINATES
33 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.CSQUARE_COLUMN_CREATOR
34 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.CSV_TO_NETCDF_CONVERTER_XY
35 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ECOPATH_WITH_ECOSIM
36 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ESRI_GRID_EXTRACTION
37 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ESTIMATE_FISHING_ACTIVITY
38 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ESTIMATE_MONTHLY_FISHING_EFFORT
39 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.FAO_OCEAN_AREA_COLUMN_CREATOR
40 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.FAO_OCEAN_AREA_COLUMN_CREATOR_FROM_QUADRANT
41 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.GENERIC_CHARTS
42 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.GEO_CHART
43 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.GERMAN_NAMED_ENTITY_RECOGNIZER
44 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.GRID_CWP_TO_COORDINATES
45 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.HCAF_FILTER
46 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ITALIAN_NER
47 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.LISTDBINFO
48 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.LISTDBNAMES
49 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.LISTDBSCHEMA
50 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.LISTTABLES
51 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.MAX_ENT_NICHE_MODELLING
52 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.MOST_OBSERVED_SPECIES
53 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.MOST_OBSERVED_TAXA
54 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.MPA_INTERSECT_V3
55 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.MPA_INTERSECT_V3_2
56 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.OCCURRENCES_DUPLICATES_DELETER
57 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.POINTS_TO_MAP
58 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.PRESENCE_CELLS_GENERATION
59 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.RASTER_DATA_PUBLISHER
60 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SAMPLEONTABLE
61 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SEADATANET_INTERPOLATOR
62 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SGVM_INTERPOLATION
63 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SHAPEFILE_PUBLISHER
64 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SIMULFISHKPIS
65 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SMARTSAMPLEONTABLE
66 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SPECIES_OBSERVATIONS_PER_AREA
67 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SPECIES_OBSERVATIONS_TREND_PER_YEAR
68 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SPECIES_OBSERVATION_LME_AREA_PER_YEAR
69 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SPECIES_OBSERVATION_MEOW_AREA_PER_YEAR
70 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.SUBMITQUERY
71 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TAXONOMY_OBSERVATIONS_TREND_PER_YEAR
72 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TIMEEXTRACTION
73 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TIMEEXTRACTION_TABLE
74 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TIME_GEO_CHART
75 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TIME_SERIES_ANALYSIS
76 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.TIME_SERIES_CHARTS
77 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.WEB_APP_PUBLISHER
78 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.XYEXTRACTOR
79 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.XYEXTRACTOR_TABLE
80 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ZEXTRACTION
81 WPS DataMiner Execute - org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.ZEXTRACTION_TABLE

View File

@ -0,0 +1,12 @@
{
"match": {
"serviceClassRegex": "(WPS)|(DataAnalysis)",
"serviceNameRegex": "DataMiner",
"calledMethodRegex": "^\/{0,1}(?<Method>(?!(UNKNOWN|OTHER|(gcube\/resource\/scopes))).*)"
},
"replace": {
"serviceClass": "DataAnalysis",
"serviceName": "DataMiner",
"calledMethod": "${Method}"
}
}

Some files were not shown because too many files have changed in this diff Show More