Add support for names and descriptions
This commit is contained in:
parent
07e2a8d982
commit
9f955c40ae
@ -220,41 +220,110 @@ SchemaAlignmentDialog._createDialog = function() {
|
|||||||
SchemaAlignmentDialog._addItem = function(json) {
|
SchemaAlignmentDialog._addItem = function(json) {
|
||||||
var subject = null;
|
var subject = null;
|
||||||
var statementGroups = null;
|
var statementGroups = null;
|
||||||
|
var nameDescs = null;
|
||||||
if (json) {
|
if (json) {
|
||||||
subject = json.subject;
|
subject = json.subject;
|
||||||
statementGroups = json.statementGroups;
|
statementGroups = json.statementGroups;
|
||||||
|
nameDescs = json.nameDescs;
|
||||||
}
|
}
|
||||||
|
|
||||||
var item = $('<div></div>').addClass('wbs-item');
|
var item = $('<div></div>').addClass('wbs-item');
|
||||||
|
$('#schema-alignment-statements-container').append(item);
|
||||||
var inputContainer = $('<div></div>').addClass('wbs-item-input').appendTo(item);
|
var inputContainer = $('<div></div>').addClass('wbs-item-input').appendTo(item);
|
||||||
SchemaAlignmentDialog._initField(inputContainer, "wikibase-item", subject);
|
SchemaAlignmentDialog._initField(inputContainer, "wikibase-item", subject);
|
||||||
var right = $('<div></div>').addClass('wbs-right').appendTo(item);
|
var right = $('<div></div>').addClass('wbs-right').appendTo(item);
|
||||||
|
$('<div></div>').addClass('wbs-namedesc-container').appendTo(right);
|
||||||
|
var toolbar = $('<div></div>').addClass('wbs-toolbar').appendTo(right);
|
||||||
|
$('<a></a>').addClass('wbs-add-namedesc').text('add name/description').click(function() {
|
||||||
|
SchemaAlignmentDialog._addNameDesc(item, null);
|
||||||
|
}).appendTo(toolbar);
|
||||||
$('<div></div>').addClass('wbs-statement-group-container').appendTo(right);
|
$('<div></div>').addClass('wbs-statement-group-container').appendTo(right);
|
||||||
var toolbar = $('<div></div>').addClass('wbs-toolbar').appendTo(right);
|
var toolbar = $('<div></div>').addClass('wbs-toolbar').appendTo(right);
|
||||||
$('<a></a>').addClass('wbs-add-statement-group').text('add statement').click(function() {
|
$('<a></a>').addClass('wbs-add-statement-group').text('add statement').click(function() {
|
||||||
SchemaAlignmentDialog._addStatementGroup(item, null);
|
SchemaAlignmentDialog._addStatementGroup(item, null);
|
||||||
}).appendTo(toolbar);
|
}).appendTo(toolbar);
|
||||||
|
|
||||||
if (statementGroups) {
|
if (statementGroups) {
|
||||||
for(var i = 0; i != statementGroups.length; i++) {
|
for(var i = 0; i != statementGroups.length; i++) {
|
||||||
SchemaAlignmentDialog._addStatementGroup(item, statementGroups[i]);
|
SchemaAlignmentDialog._addStatementGroup(item, statementGroups[i]);
|
||||||
}
|
}
|
||||||
} else {
|
} else if (!nameDescs) {
|
||||||
SchemaAlignmentDialog._addStatementGroup(item);
|
SchemaAlignmentDialog._addStatementGroup(item);
|
||||||
}
|
}
|
||||||
$('#schema-alignment-statements-container').append(item);
|
|
||||||
|
if (nameDescs) {
|
||||||
|
for(var i = 0; i != nameDescs.length; i++) {
|
||||||
|
SchemaAlignmentDialog._addNameDesc(item, nameDescs[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SchemaAlignmentDialog._itemToJSON = function (item) {
|
SchemaAlignmentDialog._itemToJSON = function (item) {
|
||||||
var lst = new Array();
|
var statementGroupLst = new Array();
|
||||||
item.find('.wbs-statement-group').each(function () {
|
item.find('.wbs-statement-group').each(function () {
|
||||||
lst.push(SchemaAlignmentDialog._statementGroupToJSON($(this)));
|
statementGroupLst.push(SchemaAlignmentDialog._statementGroupToJSON($(this)));
|
||||||
|
});
|
||||||
|
var nameDescLst = new Array();
|
||||||
|
item.find('.wbs-namedesc').each(function () {
|
||||||
|
nameDescLst.push(SchemaAlignmentDialog._nameDescToJSON($(this)));
|
||||||
});
|
});
|
||||||
var inputContainer = item.find(".wbs-item-input").first();
|
var inputContainer = item.find(".wbs-item-input").first();
|
||||||
return {subject: SchemaAlignmentDialog._inputContainerToJSON(inputContainer),
|
return {subject: SchemaAlignmentDialog._inputContainerToJSON(inputContainer),
|
||||||
statementGroups: lst};
|
statementGroups: statementGroupLst,
|
||||||
|
nameDescs: nameDescLst};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**************************
|
||||||
|
* NAMES AND DESCRIPTIONS *
|
||||||
|
**************************/
|
||||||
|
|
||||||
|
SchemaAlignmentDialog._addNameDesc = function(item, json) {
|
||||||
|
var type = 'ALIAS';
|
||||||
|
var value = null;
|
||||||
|
if (json) {
|
||||||
|
type = json.name_type;
|
||||||
|
value = json.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
var container = item.find('.wbs-namedesc-container').first();
|
||||||
|
var namedesc = $('<div></div>').addClass('wbs-namedesc').appendTo(container);
|
||||||
|
var type_container = $('<div></div>').addClass('wbs-namedesc-type').appendTo(namedesc);
|
||||||
|
var type_input = $('<select></select>').appendTo(type_container);
|
||||||
|
$('<option></option>')
|
||||||
|
.attr('value', 'LABEL')
|
||||||
|
.text('Label')
|
||||||
|
.appendTo(type_input);
|
||||||
|
$('<option></option>')
|
||||||
|
.attr('value', 'DESCRIPTION')
|
||||||
|
.text('Description')
|
||||||
|
.appendTo(type_input);
|
||||||
|
$('<option></option>')
|
||||||
|
.attr('value', 'ALIAS')
|
||||||
|
.text('Alias')
|
||||||
|
.appendTo(type_input);
|
||||||
|
|
||||||
|
var toolbar = $('<div></div>').addClass('wbs-toolbar').appendTo(namedesc);
|
||||||
|
$('<img src="images/close.png" />').attr('alt', 'remove name/description').click(function() {
|
||||||
|
namedesc.remove();
|
||||||
|
}).appendTo(toolbar);
|
||||||
|
|
||||||
|
var right = $('<div></div>').addClass('wbs-right').appendTo(namedesc);
|
||||||
|
var value_container = $('<div></div>').addClass('wbs-namedesc-value').appendTo(namedesc);
|
||||||
|
SchemaAlignmentDialog._initField(value_container, "monolingualtext", value);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
SchemaAlignmentDialog._nameDescToJSON = function (namedesc) {
|
||||||
|
var type = namedesc.find('select').first().val();
|
||||||
|
var value = namedesc.find('.wbs-namedesc-value').first().data("jsonValue");
|
||||||
|
return {
|
||||||
|
type: "wbnamedescexpr",
|
||||||
|
name_type: type,
|
||||||
|
value: value,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/********************
|
/********************
|
||||||
* STATEMENT GROUPS *
|
* STATEMENT GROUPS *
|
||||||
********************/
|
********************/
|
||||||
@ -588,6 +657,7 @@ SchemaAlignmentDialog._initField = function(inputContainer, mode, initialValue,
|
|||||||
var expanded_width = "90px";
|
var expanded_width = "90px";
|
||||||
var animation_duration = 50;
|
var animation_duration = 50;
|
||||||
input.attr("placeholder", "lang");
|
input.attr("placeholder", "lang");
|
||||||
|
input.addClass("wbs-language-input");
|
||||||
inputContainer.width(initial_language_width);
|
inputContainer.width(initial_language_width);
|
||||||
input.langsuggest().bind("fb-select", function(evt, data) {
|
input.langsuggest().bind("fb-select", function(evt, data) {
|
||||||
inputContainer.data("jsonValue", {
|
inputContainer.data("jsonValue", {
|
||||||
@ -618,6 +688,7 @@ SchemaAlignmentDialog._initField = function(inputContainer, mode, initialValue,
|
|||||||
}
|
}
|
||||||
|
|
||||||
var propagateValue = function() {
|
var propagateValue = function() {
|
||||||
|
console.log('propagateValue in monolingualtext')
|
||||||
inputContainer.data("jsonValue", {
|
inputContainer.data("jsonValue", {
|
||||||
type: "wbmonolingualexpr",
|
type: "wbmonolingualexpr",
|
||||||
language: inputContainerLanguage.data("jsonValue"),
|
language: inputContainerLanguage.data("jsonValue"),
|
||||||
|
@ -102,7 +102,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
padding: 2px;
|
padding: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wbs-add-item, .wbs-add-statement-group, .wbs-add-statement, .wbs-add-qualifier, .wbs-add-reference {
|
.wbs-add-item, .wbs-add-statement-group, .wbs-add-statement,
|
||||||
|
.wbs-add-qualifier, .wbs-add-reference, .wbs-add-namedesc {
|
||||||
color: #0645ad !important;
|
color: #0645ad !important;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
@ -193,6 +194,24 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
background-color: #eaf3ff;
|
background-color: #eaf3ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.wbs-namedesc {
|
||||||
|
background-color: #eaecf0;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wbs-namedesc-type, .wbs-namedesc-value {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wbs-namedesc-value {
|
||||||
|
padding-left: 71px;
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wbs-language-input {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.schema-alignment-columns-header {
|
.schema-alignment-columns-header {
|
||||||
margin-bottom: 0.3em;
|
margin-bottom: 0.3em;
|
||||||
}
|
}
|
||||||
|
@ -60,24 +60,39 @@ public class QuickStatementsExporter implements WriterExporter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void translateItem(ItemUpdate item, Writer writer) throws IOException {
|
protected void translateNameDescr(String qid, List<MonolingualTextValue> values, String prefix, ItemIdValue id, Writer writer) throws IOException {
|
||||||
if (item.getItemId().equals(ItemIdValue.NULL)) {
|
for (MonolingualTextValue value : values) {
|
||||||
writer.write("CREATE\n");
|
writer.write(qid+"\t");
|
||||||
}
|
writer.write(prefix);
|
||||||
for (Statement s : item.getAddedStatements()) {
|
writer.write(value.getLanguageCode());
|
||||||
translateStatement(s, s.getClaim().getMainSnak().getPropertyId().getId(), true, writer);
|
writer.write("\t\"");
|
||||||
}
|
writer.write(value.getText());
|
||||||
for (Statement s : item.getDeletedStatements()) {
|
writer.write("\"\n");
|
||||||
translateStatement(s, s.getClaim().getMainSnak().getPropertyId().getId(), false, writer);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void translateStatement(Statement statement, String pid, boolean add, Writer writer) throws IOException {
|
protected void translateItem(ItemUpdate item, Writer writer) throws IOException {
|
||||||
Claim claim = statement.getClaim();
|
String qid = item.getItemId().getId();
|
||||||
String qid = claim.getSubject().getId();
|
if (item.getItemId().equals(ItemIdValue.NULL)) {
|
||||||
if (claim.getSubject().equals(ItemIdValue.NULL)) {
|
writer.write("CREATE\n");
|
||||||
qid = "LAST";
|
qid = "LAST";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
translateNameDescr(qid, item.getLabels(), "L", item.getItemId(), writer);
|
||||||
|
translateNameDescr(qid, item.getDescriptions(), "D", item.getItemId(), writer);
|
||||||
|
translateNameDescr(qid, item.getAliases(), "A", item.getItemId(), writer);
|
||||||
|
|
||||||
|
for (Statement s : item.getAddedStatements()) {
|
||||||
|
translateStatement(qid, s, s.getClaim().getMainSnak().getPropertyId().getId(), true, writer);
|
||||||
|
}
|
||||||
|
for (Statement s : item.getDeletedStatements()) {
|
||||||
|
translateStatement(qid, s, s.getClaim().getMainSnak().getPropertyId().getId(), false, writer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void translateStatement(String qid, Statement statement, String pid, boolean add, Writer writer) throws IOException {
|
||||||
|
Claim claim = statement.getClaim();
|
||||||
|
|
||||||
Value val = claim.getValue();
|
Value val = claim.getValue();
|
||||||
ValueVisitor<String> vv = new ValuePrinter();
|
ValueVisitor<String> vv = new ValuePrinter();
|
||||||
String targetValue = val.accept(vv);
|
String targetValue = val.accept(vv);
|
||||||
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.wikidata.wdtk.datamodel.interfaces.ItemIdValue;
|
import org.wikidata.wdtk.datamodel.interfaces.ItemIdValue;
|
||||||
|
import org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue;
|
||||||
import org.wikidata.wdtk.datamodel.interfaces.Statement;
|
import org.wikidata.wdtk.datamodel.interfaces.Statement;
|
||||||
|
|
||||||
|
|
||||||
@ -18,11 +19,17 @@ public class ItemUpdate {
|
|||||||
private ItemIdValue qid;
|
private ItemIdValue qid;
|
||||||
private List<Statement> addedStatements;
|
private List<Statement> addedStatements;
|
||||||
private List<Statement> deletedStatements;
|
private List<Statement> deletedStatements;
|
||||||
|
private List<MonolingualTextValue> labels;
|
||||||
|
private List<MonolingualTextValue> descriptions;
|
||||||
|
private List<MonolingualTextValue> aliases;
|
||||||
|
|
||||||
public ItemUpdate(ItemIdValue qid) {
|
public ItemUpdate(ItemIdValue qid) {
|
||||||
this.qid = qid;
|
this.qid = qid;
|
||||||
this.addedStatements = new ArrayList<Statement>();
|
this.addedStatements = new ArrayList<Statement>();
|
||||||
this.deletedStatements = new ArrayList<Statement>();
|
this.deletedStatements = new ArrayList<Statement>();
|
||||||
|
this.labels = new ArrayList<MonolingualTextValue>();
|
||||||
|
this.descriptions = new ArrayList<MonolingualTextValue>();
|
||||||
|
this.aliases = new ArrayList<MonolingualTextValue>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addStatement(Statement s) {
|
public void addStatement(Statement s) {
|
||||||
@ -60,9 +67,40 @@ public class ItemUpdate {
|
|||||||
public void merge(ItemUpdate other) {
|
public void merge(ItemUpdate other) {
|
||||||
addStatements(other.getAddedStatements());
|
addStatements(other.getAddedStatements());
|
||||||
deleteStatements(other.getDeletedStatements());
|
deleteStatements(other.getDeletedStatements());
|
||||||
|
labels.addAll(other.getLabels());
|
||||||
|
descriptions.addAll(other.getDescriptions());
|
||||||
|
aliases.addAll(other.getAliases());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isNull() {
|
public boolean isNull() {
|
||||||
return addedStatements.isEmpty() && deletedStatements.isEmpty();
|
return (addedStatements.isEmpty()
|
||||||
|
&& deletedStatements.isEmpty()
|
||||||
|
&& labels.isEmpty()
|
||||||
|
&& descriptions.isEmpty()
|
||||||
|
&& aliases.isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addLabel(MonolingualTextValue val) {
|
||||||
|
labels.add(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addDescription(MonolingualTextValue val) {
|
||||||
|
descriptions.add(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addAlias(MonolingualTextValue val) {
|
||||||
|
aliases.add(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MonolingualTextValue> getLabels() {
|
||||||
|
return labels;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MonolingualTextValue> getDescriptions() {
|
||||||
|
return descriptions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MonolingualTextValue> getAliases() {
|
||||||
|
return aliases;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,10 +20,14 @@ public class WbItemDocumentExpr extends BiJsonizable {
|
|||||||
public static final String jsonType = "wbitemdocument";
|
public static final String jsonType = "wbitemdocument";
|
||||||
|
|
||||||
private WbItemExpr subjectExpr;
|
private WbItemExpr subjectExpr;
|
||||||
|
private List<WbNameDescExpr> nameDescExprs;
|
||||||
private List<WbStatementGroupExpr> statementGroupExprs;
|
private List<WbStatementGroupExpr> statementGroupExprs;
|
||||||
|
|
||||||
public WbItemDocumentExpr(WbItemExpr subjectExpr, List<WbStatementGroupExpr> statementGroupExprs) {
|
public WbItemDocumentExpr(WbItemExpr subjectExpr,
|
||||||
|
List<WbNameDescExpr> nameDescExprs,
|
||||||
|
List<WbStatementGroupExpr> statementGroupExprs) {
|
||||||
this.subjectExpr = subjectExpr;
|
this.subjectExpr = subjectExpr;
|
||||||
|
this.nameDescExprs = nameDescExprs;
|
||||||
this.statementGroupExprs = statementGroupExprs;
|
this.statementGroupExprs = statementGroupExprs;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -32,6 +36,12 @@ public class WbItemDocumentExpr extends BiJsonizable {
|
|||||||
throws JSONException {
|
throws JSONException {
|
||||||
writer.key("subject");
|
writer.key("subject");
|
||||||
subjectExpr.write(writer, options);
|
subjectExpr.write(writer, options);
|
||||||
|
writer.key("nameDescs");
|
||||||
|
writer.array();
|
||||||
|
for(WbNameDescExpr expr : nameDescExprs) {
|
||||||
|
expr.write(writer, options);
|
||||||
|
}
|
||||||
|
writer.endArray();
|
||||||
writer.key("statementGroups");
|
writer.key("statementGroups");
|
||||||
writer.array();
|
writer.array();
|
||||||
for(WbStatementGroupExpr expr : statementGroupExprs) {
|
for(WbStatementGroupExpr expr : statementGroupExprs) {
|
||||||
@ -47,8 +57,16 @@ public class WbItemDocumentExpr extends BiJsonizable {
|
|||||||
for (int i = 0; i != statementsArr.length(); i++) {
|
for (int i = 0; i != statementsArr.length(); i++) {
|
||||||
statementExprs.add(WbStatementGroupExpr.fromJSON(statementsArr.getJSONObject(i)));
|
statementExprs.add(WbStatementGroupExpr.fromJSON(statementsArr.getJSONObject(i)));
|
||||||
}
|
}
|
||||||
|
List<WbNameDescExpr> nameDescExprs = new ArrayList<WbNameDescExpr>();
|
||||||
|
if (obj.has("nameDescs")) { // for compatibility with earlier versions
|
||||||
|
JSONArray nameDescArr = obj.getJSONArray("nameDescs");
|
||||||
|
for (int i = 0; i != nameDescArr.length(); i++) {
|
||||||
|
nameDescExprs.add(WbNameDescExpr.fromJSON(nameDescArr.getJSONObject(i)));
|
||||||
|
}
|
||||||
|
}
|
||||||
return new WbItemDocumentExpr(
|
return new WbItemDocumentExpr(
|
||||||
WbItemExpr.fromJSON(subjectObj),
|
WbItemExpr.fromJSON(subjectObj),
|
||||||
|
nameDescExprs,
|
||||||
statementExprs);
|
statementExprs);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,6 +78,9 @@ public class WbItemDocumentExpr extends BiJsonizable {
|
|||||||
update.addStatement(s);
|
update.addStatement(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for(WbNameDescExpr expr : nameDescExprs) {
|
||||||
|
expr.contributeTo(update, ctxt);
|
||||||
|
}
|
||||||
return update;
|
return update;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ import org.json.JSONObject;
|
|||||||
import org.json.JSONWriter;
|
import org.json.JSONWriter;
|
||||||
import org.wikidata.wdtk.datamodel.helpers.Datamodel;
|
import org.wikidata.wdtk.datamodel.helpers.Datamodel;
|
||||||
import org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue;
|
import org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue;
|
||||||
import org.wikidata.wdtk.datamodel.interfaces.Value;
|
|
||||||
|
|
||||||
|
|
||||||
public class WbMonolingualExpr extends WbValueExpr {
|
public class WbMonolingualExpr extends WbValueExpr {
|
||||||
|
@ -0,0 +1,63 @@
|
|||||||
|
package org.openrefine.wikidata.schema;
|
||||||
|
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.json.JSONWriter;
|
||||||
|
import org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue;
|
||||||
|
|
||||||
|
|
||||||
|
public class WbNameDescExpr extends BiJsonizable {
|
||||||
|
|
||||||
|
public final String jsonType = "wbnamedescexpr";
|
||||||
|
|
||||||
|
enum NameDescrType {
|
||||||
|
LABEL,
|
||||||
|
DESCRIPTION,
|
||||||
|
ALIAS,
|
||||||
|
}
|
||||||
|
|
||||||
|
private NameDescrType _type;
|
||||||
|
private WbMonolingualExpr _value;
|
||||||
|
|
||||||
|
public WbNameDescExpr(NameDescrType type, WbMonolingualExpr value) {
|
||||||
|
_type = type;
|
||||||
|
_value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeFields(JSONWriter writer, Properties options)
|
||||||
|
throws JSONException {
|
||||||
|
writer.key("name_type");
|
||||||
|
writer.value(_type.name());
|
||||||
|
writer.value("value");
|
||||||
|
_value.write(writer, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void contributeTo(ItemUpdate item, ExpressionContext ctxt) throws SkipStatementException {
|
||||||
|
MonolingualTextValue val = _value.evaluate(ctxt);
|
||||||
|
switch (_type) {
|
||||||
|
case LABEL:
|
||||||
|
item.addLabel(val);
|
||||||
|
break;
|
||||||
|
case DESCRIPTION:
|
||||||
|
item.addDescription(val);
|
||||||
|
break;
|
||||||
|
case ALIAS:
|
||||||
|
item.addAlias(val);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getJsonType() {
|
||||||
|
return jsonType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static WbNameDescExpr fromJSON(JSONObject obj) throws JSONException {
|
||||||
|
return new WbNameDescExpr(NameDescrType.valueOf((String) obj.get("name_type")),
|
||||||
|
WbMonolingualExpr.fromJSON(obj.getJSONObject("value")));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user