Temporary deserialization bug fix for extension operations

This commit is contained in:
Antonin Delpeuch 2018-12-01 23:38:08 +00:00
parent 1939af343d
commit 7ff4a453d3
2 changed files with 40 additions and 2 deletions

View File

@ -76,6 +76,28 @@ public class PerformWikibaseEditsOperation extends EngineDependentOperation {
this.summary = summary; this.summary = summary;
} }
/* The constructor above should be enough for deserialization,
* but for some unknown reason it can fail in certain cases
* (might be due to caching deserializers across threads?)
*
* So we sadly add a default constructor and a setter below.
*
* TODO delete the default constructor and setter, make summary final
*/
public PerformWikibaseEditsOperation() {
super(null);
}
@JsonProperty("engineConfig")
public void setEngineConfig(EngineConfig config) {
this._engineConfig = config;
}
@JsonProperty("summary")
public void setSummary(String summary) {
this.summary = summary;
}
@Override @Override
protected String getBriefDescription(Project project) { protected String getBriefDescription(Project project) {
return "Perform Wikibase edits"; return "Perform Wikibase edits";

View File

@ -46,14 +46,30 @@ public class SaveWikibaseSchemaOperation extends AbstractOperation {
@JsonIgnore @JsonIgnore
final public static String operationDescription = "Save Wikibase schema"; final public static String operationDescription = "Save Wikibase schema";
@JsonProperty("schema") @JsonProperty("schema")
final protected WikibaseSchema _schema; protected WikibaseSchema _schema;
@JsonCreator @JsonCreator
public SaveWikibaseSchemaOperation( public SaveWikibaseSchemaOperation(
@JsonProperty("schema") @JsonProperty("schema")
WikibaseSchema schema) { WikibaseSchema schema) {
this._schema = schema; this._schema = schema;
}
/* The constructor above should be enough for deserialization,
* but for some unknown reason it can fail in certain cases
* (might be due to caching deserializers across threads?)
*
* So we sadly add a default constructor and a setter below.
*
* TODO delete the default constructor and setter, make schema final
*/
public SaveWikibaseSchemaOperation() {
}
@JsonProperty("schema")
public void setSchema(WikibaseSchema schema) {
this._schema = schema;
} }
@Override @Override