diff --git a/app/src/main/java/fr/free/nrw/commons/explore/depictions/DepictsClient.kt b/app/src/main/java/fr/free/nrw/commons/explore/depictions/DepictsClient.kt index db05d661f..acf0f9351 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/depictions/DepictsClient.kt +++ b/app/src/main/java/fr/free/nrw/commons/explore/depictions/DepictsClient.kt @@ -10,7 +10,7 @@ import fr.free.nrw.commons.wikidata.WikidataProperties import fr.free.nrw.commons.wikidata.model.DataValue import fr.free.nrw.commons.wikidata.model.DepictSearchItem import fr.free.nrw.commons.wikidata.model.Entities -import fr.free.nrw.commons.wikidata.model.Statement_partial +import fr.free.nrw.commons.wikidata.model.StatementPartial import io.reactivex.Single import java.util.Locale import javax.inject.Inject @@ -111,7 +111,7 @@ class DepictsClient /** * returns list of id ex. "Q2323" from Statement_partial */ - private fun List?.toIds(): List = + private fun List?.toIds(): List = this ?.map { it.mainSnak.dataValue } ?.filterIsInstance() diff --git a/app/src/main/java/fr/free/nrw/commons/upload/depicts/Claims.kt b/app/src/main/java/fr/free/nrw/commons/upload/depicts/Claims.kt index bab702bab..6aac02d04 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/depicts/Claims.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/depicts/Claims.kt @@ -1,9 +1,9 @@ package fr.free.nrw.commons.upload.depicts import com.google.gson.annotations.SerializedName -import fr.free.nrw.commons.wikidata.model.Statement_partial +import fr.free.nrw.commons.wikidata.model.StatementPartial data class Claims( @SerializedName(value = "claims") - val claims: Map> = emptyMap(), + val claims: Map> = emptyMap(), ) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/structure/depictions/DepictedItem.kt b/app/src/main/java/fr/free/nrw/commons/upload/structure/depictions/DepictedItem.kt index 2be9fc114..0e4ed482d 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/structure/depictions/DepictedItem.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/structure/depictions/DepictedItem.kt @@ -12,7 +12,7 @@ import fr.free.nrw.commons.wikidata.WikidataProperties.IMAGE import fr.free.nrw.commons.wikidata.WikidataProperties.INSTANCE_OF import fr.free.nrw.commons.wikidata.model.DataValue import fr.free.nrw.commons.wikidata.model.Entities -import fr.free.nrw.commons.wikidata.model.Statement_partial +import fr.free.nrw.commons.wikidata.model.StatementPartial import kotlinx.parcelize.Parcelize import java.math.BigInteger import java.security.MessageDigest @@ -78,14 +78,14 @@ data class DepictedItem constructor( override fun hashCode(): Int = name.hashCode() } -private fun List?.toIds(): List = +private fun List?.toIds(): List = this ?.map { it.mainSnak.dataValue } ?.filterIsInstance() ?.map { it.value.id } ?: emptyList() -private val List?.primaryImageValue: DataValue.ValueString? +private val List?.primaryImageValue: DataValue.ValueString? get() = this?.firstOrNull()?.mainSnak?.dataValue as? DataValue.ValueString operator fun Entities.Entity.get(property: WikidataProperties) = statements?.get(property.propertyName) diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/WikidataClient.kt b/app/src/main/java/fr/free/nrw/commons/wikidata/WikidataClient.kt index 49d3e3d34..3b3ea3401 100644 --- a/app/src/main/java/fr/free/nrw/commons/wikidata/WikidataClient.kt +++ b/app/src/main/java/fr/free/nrw/commons/wikidata/WikidataClient.kt @@ -1,7 +1,7 @@ package fr.free.nrw.commons.wikidata import com.google.gson.Gson -import fr.free.nrw.commons.wikidata.model.Statement_partial +import fr.free.nrw.commons.wikidata.model.StatementPartial import fr.free.nrw.commons.wikidata.model.WbCreateClaimResponse import io.reactivex.Observable import javax.inject.Inject @@ -20,7 +20,7 @@ class WikidataClient * @return revisionID of the edit */ fun setClaim( - claim: Statement_partial?, + claim: StatementPartial?, tags: String?, ): Observable = csrfToken() diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/WikidataEditService.java b/app/src/main/java/fr/free/nrw/commons/wikidata/WikidataEditService.java index 8e298cc9a..21567f5e4 100644 --- a/app/src/main/java/fr/free/nrw/commons/wikidata/WikidataEditService.java +++ b/app/src/main/java/fr/free/nrw/commons/wikidata/WikidataEditService.java @@ -19,8 +19,8 @@ import fr.free.nrw.commons.wikidata.model.DataValue; import fr.free.nrw.commons.wikidata.model.DataValue.ValueString; import fr.free.nrw.commons.wikidata.model.EditClaim; import fr.free.nrw.commons.wikidata.model.RemoveClaim; -import fr.free.nrw.commons.wikidata.model.Snak_partial; -import fr.free.nrw.commons.wikidata.model.Statement_partial; +import fr.free.nrw.commons.wikidata.model.SnakPartial; +import fr.free.nrw.commons.wikidata.model.StatementPartial; import fr.free.nrw.commons.wikidata.model.WikiBaseMonolingualTextValue; import fr.free.nrw.commons.wikidata.mwapi.MwPostResponse; import io.reactivex.Observable; @@ -198,19 +198,19 @@ public class WikidataEditService { public Long addImageAndMediaLegends(final WikidataItem wikidataItem, final String fileName, final Map captions) { - final Snak_partial p18 = new Snak_partial("value", + final SnakPartial p18 = new SnakPartial("value", WikidataProperties.IMAGE.getPropertyName(), new ValueString(fileName.replace("File:", ""))); - final List snaks = new ArrayList<>(); + final List snaks = new ArrayList<>(); for (final Map.Entry entry : captions.entrySet()) { - snaks.add(new Snak_partial("value", + snaks.add(new SnakPartial("value", WikidataProperties.MEDIA_LEGENDS.getPropertyName(), new DataValue.MonoLingualText( new WikiBaseMonolingualTextValue(entry.getValue(), entry.getKey())))); } final String id = wikidataItem.getId() + "$" + UUID.randomUUID().toString(); - final Statement_partial claim = new Statement_partial(p18, "statement", "normal", id, + final StatementPartial claim = new StatementPartial(p18, "statement", "normal", id, Collections.singletonMap(WikidataProperties.MEDIA_LEGENDS.getPropertyName(), snaks), Arrays.asList(WikidataProperties.MEDIA_LEGENDS.getPropertyName())); diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/model/DataValue.kt b/app/src/main/java/fr/free/nrw/commons/wikidata/model/DataValue.kt index bc0029014..88453a4ac 100644 --- a/app/src/main/java/fr/free/nrw/commons/wikidata/model/DataValue.kt +++ b/app/src/main/java/fr/free/nrw/commons/wikidata/model/DataValue.kt @@ -12,9 +12,9 @@ sealed class DataValue( .of(DataValue::class.java, DataValue::type.name) .registerSubtype(EntityId::class.java, EntityId.TYPE) .registerSubtype(ValueString::class.java, ValueString.TYPE) - .registerSubtype(GlobeCoordinate_partial::class.java, GlobeCoordinate_partial.TYPE) - .registerSubtype(Time_partial::class.java, Time_partial.TYPE) - .registerSubtype(Quantity_partial::class.java, Quantity_partial.TYPE) + .registerSubtype(GlobeCoordinatePartial::class.java, GlobeCoordinatePartial.TYPE) + .registerSubtype(TimePartial::class.java, TimePartial.TYPE) + .registerSubtype(QuantityPartial::class.java, QuantityPartial.TYPE) .registerSubtype(MonoLingualText::class.java, MonoLingualText.TYPE) } @@ -54,7 +54,7 @@ sealed class DataValue( // }, // "type": "globecoordinate" // } - class GlobeCoordinate_partial : DataValue(TYPE) { + class GlobeCoordinatePartial : DataValue(TYPE) { companion object { const val TYPE = "globecoordinate" } @@ -70,7 +70,7 @@ sealed class DataValue( // }, // "type": "time" // } - class Time_partial : DataValue(TYPE) { + class TimePartial : DataValue(TYPE) { companion object { const val TYPE = "time" } @@ -82,7 +82,7 @@ sealed class DataValue( // "unit": "http://www.wikidata.org/entity/Q828224" // } // } - class Quantity_partial : DataValue(TYPE) { + class QuantityPartial : DataValue(TYPE) { companion object { const val TYPE = "quantity" } diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/model/EditClaim.kt b/app/src/main/java/fr/free/nrw/commons/wikidata/model/EditClaim.kt index f54c696b0..5919fff10 100644 --- a/app/src/main/java/fr/free/nrw/commons/wikidata/model/EditClaim.kt +++ b/app/src/main/java/fr/free/nrw/commons/wikidata/model/EditClaim.kt @@ -1,7 +1,7 @@ package fr.free.nrw.commons.wikidata.model data class EditClaim( - val claims: List, + val claims: List, ) { companion object { @JvmStatic @@ -9,12 +9,12 @@ data class EditClaim( entityIds: List, propertyName: String, ): EditClaim { - val list = mutableListOf() + val list = mutableListOf() entityIds.forEach { list.add( - Statement_partial( + StatementPartial( mainSnak = - Snak_partial( + SnakPartial( snakType = "value", property = propertyName, dataValue = diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/model/Entities.java b/app/src/main/java/fr/free/nrw/commons/wikidata/model/Entities.java index ea9ec6c2a..9dab836cf 100644 --- a/app/src/main/java/fr/free/nrw/commons/wikidata/model/Entities.java +++ b/app/src/main/java/fr/free/nrw/commons/wikidata/model/Entities.java @@ -44,7 +44,7 @@ public class Entities extends MwResponse { @Nullable private Map labels; @Nullable private Map descriptions; @Nullable private Map sitelinks; - @Nullable @SerializedName(value = "statements", alternate = "claims") private Map> statements; + @Nullable @SerializedName(value = "statements", alternate = "claims") private Map> statements; @Nullable private String missing; @NonNull public String id() { @@ -64,7 +64,7 @@ public class Entities extends MwResponse { } @Nullable - public Map> getStatements() { + public Map> getStatements() { return statements; } diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/model/Snak_partial.kt b/app/src/main/java/fr/free/nrw/commons/wikidata/model/SnakPartial.kt similarity index 95% rename from app/src/main/java/fr/free/nrw/commons/wikidata/model/Snak_partial.kt rename to app/src/main/java/fr/free/nrw/commons/wikidata/model/SnakPartial.kt index 4bc4ab10e..576fb2fa9 100644 --- a/app/src/main/java/fr/free/nrw/commons/wikidata/model/Snak_partial.kt +++ b/app/src/main/java/fr/free/nrw/commons/wikidata/model/SnakPartial.kt @@ -15,7 +15,7 @@ import com.google.gson.annotations.SerializedName }, "datatype": "wikibase-item", }*/ -data class Snak_partial( +data class SnakPartial( @SerializedName("snaktype") val snakType: String, val property: String, @SerializedName("datavalue") val dataValue: DataValue, diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/model/Statement_partial.kt b/app/src/main/java/fr/free/nrw/commons/wikidata/model/StatementPartial.kt similarity index 78% rename from app/src/main/java/fr/free/nrw/commons/wikidata/model/Statement_partial.kt rename to app/src/main/java/fr/free/nrw/commons/wikidata/model/StatementPartial.kt index e728b1688..4d357f85c 100644 --- a/app/src/main/java/fr/free/nrw/commons/wikidata/model/Statement_partial.kt +++ b/app/src/main/java/fr/free/nrw/commons/wikidata/model/StatementPartial.kt @@ -18,11 +18,11 @@ import com.google.gson.annotations.SerializedName } ] }*/ -data class Statement_partial( - @SerializedName("mainsnak") val mainSnak: Snak_partial, +data class StatementPartial( + @SerializedName("mainsnak") val mainSnak: SnakPartial, val type: String, val rank: String, val id: String? = null, - val qualifiers: Map> = mapOf(), + val qualifiers: Map> = mapOf(), @SerializedName("qualifiers-order") val qualifiersOrder: List = listOf(), ) diff --git a/app/src/test/kotlin/fr/free/nrw/commons/ModelFunctions.kt b/app/src/test/kotlin/fr/free/nrw/commons/ModelFunctions.kt index a0ef5b2e1..76f9c21d0 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/ModelFunctions.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/ModelFunctions.kt @@ -10,8 +10,8 @@ import fr.free.nrw.commons.upload.structure.depictions.DepictedItem import fr.free.nrw.commons.wikidata.model.DataValue import fr.free.nrw.commons.wikidata.model.DepictSearchItem import fr.free.nrw.commons.wikidata.model.Entities -import fr.free.nrw.commons.wikidata.model.Snak_partial -import fr.free.nrw.commons.wikidata.model.Statement_partial +import fr.free.nrw.commons.wikidata.model.SnakPartial +import fr.free.nrw.commons.wikidata.model.StatementPartial import fr.free.nrw.commons.wikidata.model.WikiBaseEntityValue import java.util.Date @@ -104,23 +104,23 @@ fun wikiBaseEntityValue( ) = WikiBaseEntityValue(entityType, id, numericId) fun statement( - mainSnak: Snak_partial = snak(), + mainSnak: SnakPartial = snak(), rank: String = "rank", type: String = "type", -) = Statement_partial(mainSnak, type, rank) +) = StatementPartial(mainSnak, type, rank) fun snak( snakType: String = "type", property: String = "property", dataValue: DataValue = valueString(""), -) = Snak_partial(snakType, property, dataValue) +) = SnakPartial(snakType, property, dataValue) fun valueString(value: String) = DataValue.ValueString(value) fun entity( labels: Map = emptyMap(), descriptions: Map = emptyMap(), - statements: Map>? = emptyMap(), + statements: Map>? = emptyMap(), id: String = "id", ) = mock().apply { val mockedLabels = labels.mockLabels() diff --git a/app/src/test/kotlin/fr/free/nrw/commons/explore/depictions/DepictsClientTest.kt b/app/src/test/kotlin/fr/free/nrw/commons/explore/depictions/DepictsClientTest.kt index abc1c532c..3c1d7ade4 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/explore/depictions/DepictsClientTest.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/explore/depictions/DepictsClientTest.kt @@ -12,8 +12,8 @@ import fr.free.nrw.commons.upload.structure.depictions.DepictedItem import fr.free.nrw.commons.wikidata.model.DataValue import fr.free.nrw.commons.wikidata.model.DepictSearchResponse import fr.free.nrw.commons.wikidata.model.Entities -import fr.free.nrw.commons.wikidata.model.Snak_partial -import fr.free.nrw.commons.wikidata.model.Statement_partial +import fr.free.nrw.commons.wikidata.model.SnakPartial +import fr.free.nrw.commons.wikidata.model.StatementPartial import fr.free.nrw.commons.wikidata.model.WikiBaseEntityValue import io.reactivex.Single import org.junit.Before @@ -67,12 +67,12 @@ class DepictsClientTest { whenever(binding2.id).thenReturn("2") val entities = mock() val entity = mock() - val statementPartial = mock() + val statementPartial = mock() whenever(depictsInterface.getEntities("1|2")).thenReturn(Single.just(entities)) whenever(entities.entities()).thenReturn(mapOf("en" to entity)) whenever(entity.statements).thenReturn(mapOf("P31" to listOf(statementPartial))) whenever(statementPartial.mainSnak).thenReturn( - Snak_partial( + SnakPartial( "test", "P31", DataValue.EntityId( @@ -165,10 +165,10 @@ class DepictsClientTest { fun `Test mapToDepictItem when description is empty and P31 exists`() { val entities = mock() val entity = mock() - val statementPartial = mock() + val statementPartial = mock() whenever(entity.statements).thenReturn(mapOf("P31" to listOf(statementPartial))) whenever(statementPartial.mainSnak).thenReturn( - Snak_partial( + SnakPartial( "test", "P31", DataValue.EntityId( diff --git a/app/src/test/kotlin/fr/free/nrw/commons/wikidata/WikidataClientTest.kt b/app/src/test/kotlin/fr/free/nrw/commons/wikidata/WikidataClientTest.kt index 79652f5a4..322301144 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/wikidata/WikidataClientTest.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/wikidata/WikidataClientTest.kt @@ -3,7 +3,7 @@ package fr.free.nrw.commons.wikidata import com.google.gson.Gson import com.nhaarman.mockitokotlin2.whenever import fr.free.nrw.commons.wikidata.model.PageInfo -import fr.free.nrw.commons.wikidata.model.Statement_partial +import fr.free.nrw.commons.wikidata.model.StatementPartial import fr.free.nrw.commons.wikidata.model.WbCreateClaimResponse import fr.free.nrw.commons.wikidata.mwapi.MwQueryResponse import fr.free.nrw.commons.wikidata.mwapi.MwQueryResult @@ -48,8 +48,8 @@ class WikidataClientTest { whenever(response.pageinfo).thenReturn(pageInfo) `when`(wikidataInterface!!.postSetClaim(anyString(), anyString(), anyString())) .thenReturn(Observable.just(response)) - whenever(gson!!.toJson(any(Statement_partial::class.java))).thenReturn("claim") - val request = mock(Statement_partial::class.java) + whenever(gson!!.toJson(any(StatementPartial::class.java))).thenReturn("claim") + val request = mock(StatementPartial::class.java) val claim = wikidataClient!!