Commit Graph

528 Commits

Author SHA1 Message Date
Lu Liu
2a86927b2c
update references of "afkbrb/wikibase-manifest" to "OpenRefine/wikibase-manifests" (#3126) 2020-08-25 13:44:39 +02:00
Isao Matsunami
53a795d820 Translated using Weblate (Japanese)
Currently translated at 100.0% (223 of 223 strings)

Translation: OpenRefine/wikidata
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/ja/
2020-08-23 21:14:38 +02:00
Lu Liu
7d4e182c75
Extend Wikidata extension to support arbitrary Wikibase instances (#2810)
Closes #1640. All Wikibase-dependent parameters, which were previously hard-coded for Wikidata, are now described in a JSON manifest. The manifest is currently constructed by hand, but, in the future, will hopefully be published by each Wikibase instance at a standard location.

* setup the manifest framework

* add dependency mechanism to scrutinizers & update tests

* add json creators to constraint entities

* adapt the backend (units tests are to be updated)

* remove the call to prepareDependencies() in the constructor

* update code according to review feedback

* update scrutinizers tests

* fix typo & update ConstraintsV1

* log if a scrutinizer is skipped

* update versioning handling in the backend

* correct the order of "actual" and "expected" for assertEquals method

* use regex to check manifest versions

* 1. add wikibase-manager.js, wikibase-dialog.js, etc.
2. move dialog/schema-alignment-dialog.js -> schema-alignment.js
3. remove unused schema-alignment-dialog.html
4. change most mentions of "Wikidata" to "Wikibase"

* support saving cookies for different Wikibases & fix LoginCommandTest

* fix schema related tests

* removed unused WikibaseCredentials

* include MediaWiki API endpoint in the schema

* fetch language codes for different Wikibases

* fix lgtm-bot alerts

* keep a connection map (MediaWiki API endpoint => Connection) in ConnectionManager

* simplify the constraint configurations of the manifest and remove lots of unnecessary code.

* add slash to the end of mediawiki.root

* add manifest schema and use ajv to validate the manifest

* remove JSONP support (Wikibase manifest host should support CORS)

* save manifests on manifest update

* add unit tests for Manifest

* include the exception in logger.error() method to make it easier to debug

* include the message of ManifestException when calling respondError

* test multiple connections

* test no manifest & test invalid manifest

* adapt manage-account-dialog.js to support multiple Wikibase connections

* update instance/subclass of related translations

* beautify import-schema-dialog.html

* use "${lang}" variable in the reconciliation service endpoint of the manifest

* adapt schema-alignment.js after introducing "${lang}" variable in the reconciliation service endpoint

* use WikibaseManager.getSelectedWikibaseApi() in SchemaAlignment._getPropertyType

* replace more mentions of "Wikidata" to "Wikibase"

* use WikibaseManager.getSelectedWikibaseApi() in previewrenderer.js

* support fetching language codes of different Wikibases in the frontend

* skip EditInspector if missing 'property_constraint_pid' in the manifest

* improve unit tests for fetching lang codes

* skip scrutinizers depending on fetcher if 'property_constraint_pid' is missing in the manifest

* make sure the schema alignment panel is set up before rendering

* fix preview bug

* add getters of "instance of" and "subclass of" to the Manifest interface and use them in NewItemScrutinizer

* fix hardcode for Wikidata in WbItemVariable

* rename 'entity_prefix' to 'site_iri' and move it from 'manifest.wikibase.properties' to 'manifest.wikibase'

* include oauth configurations in the manifest & support logging in with owner-only consumer for Wikibases with the OAuth extension

* correct schema fallback logic

* select default wikibase according to the saved schema

* include maxlag in the manifest

* [backend] move maxlag setting from preferences to request parameter

* support setting maxlag when uploading edits

* rename "Manage Wikibase" to "Select Wikibase instance" and localize it

* fix manifest updating bug

* include EditGroups in the manifest

* add the reconciliation service from the manifest to standard services if it's not present yet when adding a new manifest

* update according to review feedback

1. use inherited color variable
2. rename 'gridwroks' to 'openrefine'
3. remove unnecessary 'async: true'
4. add 'format: url' validation to urls to the schema

* rename 'wikibasePrefix' to 'siteIri'
2020-08-22 11:58:56 -04:00
Antonin Delpeuch
68404abe2a
Fix race condition in service manifest fetching (#2872)
* Fix race condition in service manifest fetching. Fixes #2803

* Set own recon endpoint for Wikidata extension
2020-08-21 07:15:02 +02:00
Allan Nordhøy
e6197b8224
Translated using Weblate (Norwegian Bokmål)
Currently translated at 82.4% (169 of 205 strings)

Translation: OpenRefine/wikidata
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/nb_NO/
2020-08-15 00:32:54 +02:00
Ekta Mishra
f50efb3699
Changed List return type to ImmutableList in Wikidata schema package classes (#3070)
* replaced ImmutableList to unmodifiableList

* added test cases to check unmodifiable Lists

* improved test cases
2020-08-13 09:59:54 +02:00
dependabot-preview[bot]
937bb94a0e
Bump maven-resources-plugin from 3.1.0 to 3.2.0
Bumps [maven-resources-plugin](https://github.com/apache/maven-resources-plugin) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/apache/maven-resources-plugin/releases)
- [Commits](https://github.com/apache/maven-resources-plugin/compare/maven-resources-plugin-3.1.0...maven-resources-plugin-3.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-12 08:15:08 +00:00
Isao Matsunami
f8f25f39cd
Translated using Weblate (Japanese)
Currently translated at 100.0% (205 of 205 strings)

Translation: OpenRefine/wikidata
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/ja/
2020-08-08 12:47:42 +02:00
Tom Morris
6095c44cb7
Update to jQuery 1.12.4 and jQuery Migrate 1.4.1 - fixes 2932 (#2933)
* Refactor module wiring to reduce redundancy

* Update to jQuery 1.12.4 & jQuery Migrate 1.4.1 - fixes #2932

This updates to the latest jQuery 1.x and jQuery Migrate 1.x,
the first step in upgrading to a modern jQuery.

* Add a couple of bug fixes from Google Code SVN

This is an unrelease version from the Google Code freebase-site
repo which only has a few changes from the v4.3 release, but
one of them is removing the `browser.msie` reference that
jQuery Migrate is complaining about.

* Use prop() for 'checked' and 'disabled'

* Update jQuery 'value' property setting code to use val()

* Use prop() instead of attr() to set 'selected'

* Patch for jQuery >1.9
2020-08-06 13:47:31 +02:00
Tom Morris
52194e1685 Add https for all TestNG DTDs 2020-08-03 12:27:58 -04:00
dependabot-preview[bot]
e081961c1f
Bump testng from 7.1.0 to 7.3.0
Bumps [testng](https://github.com/cbeust/testng) from 7.1.0 to 7.3.0.
- [Release notes](https://github.com/cbeust/testng/releases)
- [Changelog](https://github.com/cbeust/testng/blob/master/CHANGES.txt)
- [Commits](https://github.com/cbeust/testng/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-03 09:01:36 +00:00
Ekta Mishra
fb6c309da8
Update EntityCache class (#2991)
* updated EntityCache class

* added overridden methods in CacheLoader and updated test file
2020-07-28 21:03:22 +02:00
Tom Morris
83ed9ffdaf
Refactor importer APIs - Fixes #2963 (#2978)
* Make sure data directory is directory, not a file

* Add a test for zip archive import

Also tests the saving of the archive file name and source filename

* Add TODOs - no functional changes

* Cosmetic cleanups

* Revert importer API changes for archive file name parameter

Fixes #2963
- restore binary compatibility to the API
- hoist the handling of both fileSource and archiveFileName from
TabularImportingParserBase and TreeImportingParserBase to
ImportingParserBase so that there's only one copy. These 3 classes are
all part of the internal implementation, so there should be no
compatibility issue.

* Revert weird flow of control for import options metadata

This reverts the very convoluted control flow that was introduced
when adding the input options to the project metadata. Instead
the metadata is all handled in the importer framework rather than
having to change APIs are have individual importers worry about
it.

The feature never had test coverage, so that is still to be added.

* Add test for import options in project metadata & fix bug

Fixes bug where same options object was being reused and overwritten,
so all copies in the list ended up the same.
2020-07-23 18:36:14 +02:00
Ekta Mishra
a4e5e49aaf
Add Citation needed scrutinizer (#2925)
Implemented Citation needed Cconstraint as part of #2354

Test class added with appropriate testc cases

Updated severity level to critical as well as the messages

merged unsourced and citation-needed scrutinizer

updated severity levels and warning messages
2020-07-21 08:09:37 +02:00
Ekta Mishra
6ab6bacd13
fixed some minor typos and refactoring in scrutinizer test files (#2958) 2020-07-20 20:58:15 +02:00
Tom Morris
8cfdd5747a
Merge pull request #2952 from OpenRefine/dependabot/maven/org.mockito-mockito-core-3.4.2
Bump mockito-core from 3.3.3 to 3.4.2
2020-07-17 13:07:42 -04:00
Tom Morris
5336eca63e Remove redundant mockito dependencies 2020-07-17 12:48:06 -04:00
Hosted Weblate
032fd83048
Merge branch 'origin/master' into Weblate. 2020-07-17 12:41:56 +02:00
Allan Nordhøy
e0edbca1da
Translated using Weblate (Norwegian Bokmål)
Currently translated at 81.2% (165 of 203 strings)

Translation: OpenRefine/wikidata
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/nb_NO/
2020-07-17 12:41:52 +02:00
Isao Matsunami
fa8b9010e2
Translated using Weblate (Japanese)
Currently translated at 99.5% (202 of 203 strings)

Translation: OpenRefine/wikidata
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/ja/
2020-07-17 12:41:51 +02:00
Allan Nordhøy
44f6e5ba64
Translated using Weblate (English)
Currently translated at 100.0% (203 of 203 strings)

Translation: OpenRefine/wikidata
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/en/
2020-07-17 12:41:51 +02:00
dependabot-preview[bot]
edf8595977
Bump mockito-core from 3.3.3 to 3.4.2
Bumps [mockito-core](https://github.com/mockito/mockito) from 3.3.3 to 3.4.2.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.3.3...v3.4.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 08:17:43 +00:00
Ekta Mishra
dd17d7a2b6
Add test-cases for methods defined in WikidataConstraintFetcher (#2943)
* Add test-cases for methods defined in WikidataConstraintFetcher

tests for getConstraintsByTpe & getConstraintStatements methods.

* Tests updated
2020-07-16 18:34:26 +02:00
Hosted Weblate
0bfa8b7fd6
Merge branch 'origin/master' into Weblate. 2020-07-16 03:41:54 +02:00
Isao Matsunami
c78ff3be44
Translated using Weblate (Japanese)
Currently translated at 100.0% (201 of 201 strings)

Translation: OpenRefine/wikidata
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/ja/
2020-07-16 03:41:50 +02:00
Ekta Mishra
2bf493a498
Add One-of qualifier value property constraint (#2907)
* Add One-of qualifier value property constraint

Implemented one-of qualifier value property constraint as part of #2354

* Test class added

* Test cases updated and working fine

* resolved merge conflicts
2020-07-15 14:13:49 +02:00
Ekta Mishra
fe275ae634
Move findValues method to EditScrtuinzer (#2941)
* Move findValues method to EditScrtuinzer

As findValues method is not concerned with fetching, therefore moving it to EditScrtuinizer

* updated test classes accordingly

* updated test classes accordingly

* test files updated after shifting the findValues method
2020-07-15 11:46:06 +02:00
Hosted Weblate
f9d6c2b93b
Merge branch 'origin/master' into Weblate. 2020-07-14 22:41:55 +02:00
Susanna Ånäs
f01ca800bf
Translated using Weblate (Finnish)
Currently translated at 49.2% (95 of 193 strings)

Translation: OpenRefine/wikidata
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/fi/
2020-07-14 22:41:51 +02:00
Ekta Mishra
c7a8dfb329
Reuse Constraint IDs and Property IDs (#2937)
* Revert "Revert "Reused Constraint IDs and Parameter PIDs (#2893)""

This reverts commit 4c739be843.

* Reuse Constraint IDs and Parameter PIDs

After the cleanup of MockConstraintFetcher, using constraint IDs and property IDs defined in the corresponding scrtinizer for the test files.
2020-07-14 20:51:18 +02:00
Antonin Delpeuch
4c739be843 Revert "Reused Constraint IDs and Parameter PIDs (#2893)"
This introduces a build failure since other refactorings took place.

This reverts commit f41ce3a752.
2020-07-14 20:15:59 +02:00
Ekta Mishra
f41ce3a752
Reused Constraint IDs and Parameter PIDs (#2893)
Reused the hardcodedd constraint & paramter IDs from the scrutinizer classes into the test classes repectively.
2020-07-14 20:12:46 +02:00
Ekta Mishra
c5e6ac9f90
Remove unused scrutinizer specific methods (#2935)
After adding the code for fetching parameters for different scrutinizers in their corresponding classes, we should remove the redundant code from the ConstraintFetcher
2020-07-14 17:51:06 +02:00
Ekta Mishra
bf3d7234b9
Add ItemRequires Constraint (#2901)
* Add ItemRequires Constraint

Implemented Item requires constraint as part of #2354

* done with implementation of ItemRequiresScrutinizer Class

* Test class added with suitable test cases
2020-07-14 16:11:25 +02:00
Susanna Ånäs
fbd28f960c
Translated using Weblate (Finnish)
Currently translated at 23.3% (45 of 193 strings)

Translation: OpenRefine/wikidata
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/fi/
2020-07-12 13:41:51 +02:00
Hosted Weblate
6c69525545
Merge branch 'origin/master' into Weblate. 2020-07-11 12:55:18 +02:00
Susanna Ånäs
16695e54b5
Added translation using Weblate (Finnish) 2020-07-11 12:55:13 +02:00
Ekta Mishra
29f6885ccc
MockConstraintFetcher cleanup part-I (#2882)
* MockConstraintFetcher cleanup part-I

Removed its use from different test files

* Removed MockConstraintFetcher's use from various test files
2020-07-06 18:27:16 +02:00
Antonin Delpeuch
ce0126b717
Merge pull request #2884 from weblate/weblate-openrefine-translations
Translations update from Weblate
2020-07-06 07:04:55 +02:00
Ekta Mishra
731692df67
Update MultivalueScrutinizer class (#2885)
Removed inner class as for constraint status and exceptions we now have Constraint class.
2020-07-06 07:03:39 +02:00
Hosted Weblate
f421cfd76f
Merge branch 'origin/master' into Weblate. 2020-07-06 03:42:12 +02:00
Isao Matsunami
798818400f
Translated using Weblate (Japanese)
Currently translated at 100.0% (193 of 193 strings)

Translation: OpenRefine/wikidata
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/ja/
2020-07-06 03:42:07 +02:00
Ekta Mishra
d871a2e151
Implemented RestrictedPosition Scrutinizer tests using mocks (#2868)
* Implemented RestrictedPosition Scrutinizer tests using mocks

Added RestrictedPositionConstraint class and updated test cases using mocks

* Tests updated & working fine
2020-07-04 14:25:00 +02:00
Ekta Mishra
a0a164bb8b
Implemented ResctrictedValue Scrutinizer tests using mocks (#2877)
* Implemented RestrictedValueScrutinizer tests using mocks

Added AllowedValueConstraint & DisallowedValueConstraint classes & updated the test cases too.

* Tests updated
2020-07-04 14:23:52 +02:00
Antonin Delpeuch
952447461f
Fix wikidata logout when credentials have expired. Fixes #2873 (#2878) 2020-07-04 08:38:17 +02:00
Ekta Mishra
c68047a614
Implemented QuantityScrutinizer tests using Mocks (#2862)
* Implemented QunatityScrutinizer tests using Mockito

Updated test cases and added AllowedUnitsConstraint class

* Test cases updated
2020-07-03 14:14:32 +02:00
Ekta Mishra
9edb1e514d
Implemented Difference-within-range Scrutinizer tests using mocks (#2864)
Updated all test cases and added DifferenceWithinRangeConstraint class.
2020-07-03 14:13:31 +02:00
Ekta Mishra
cd0ed11dad
Implemented Format Scrutinizer tests using Mockito (#2849)
* Implemented Format Scrutinizer tests using Mockito

Updated implementation of the scrutinzer & tests

* Testcases updated in FormatScrutinizerTest
2020-07-02 16:28:56 +02:00
Ekta Mishra
9dfb9114c4
Implemented QualifierComaptibilty Scrutinizer tests using Mockito (#2860)
Updated test cases & added AlLowedQualifierConstraint and MandatoryQualifierConstraint classes.
2020-07-02 14:22:50 +02:00
Ekta Mishra
67bc8581ce
Implemented InverseScrutinizer tests using Mocks (#2855)
* Implemented InverseScrutinizer tests using Mocks

updated testcases and added InverseConstraint Class

* Test cases updated & working fine
2020-07-01 20:49:15 +02:00