Migrate ColumnRenameOperation to Jackson

This commit is contained in:
Antonin Delpeuch 2018-11-20 17:56:10 +00:00
parent 7ea346d08e
commit d6ca879558
2 changed files with 9 additions and 8 deletions

View File

@ -33,6 +33,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package com.google.refine.operations.column; package com.google.refine.operations.column;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.refine.history.Change; import com.google.refine.history.Change;
import com.google.refine.history.HistoryEntry; import com.google.refine.history.HistoryEntry;
@ -44,8 +45,11 @@ public class ColumnRenameOperation extends AbstractOperation {
final protected String _oldColumnName; final protected String _oldColumnName;
final protected String _newColumnName; final protected String _newColumnName;
@JsonCreator
public ColumnRenameOperation( public ColumnRenameOperation(
@JsonProperty("oldColumnName")
String oldColumnName, String oldColumnName,
@JsonProperty("newColumnName")
String newColumnName String newColumnName
) { ) {
_oldColumnName = oldColumnName; _oldColumnName = oldColumnName;

View File

@ -1,14 +1,14 @@
package com.google.refine.tests.operations.column; package com.google.refine.tests.operations.column;
import org.json.JSONException;
import org.json.JSONObject;
import org.testng.annotations.BeforeSuite; import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test; import org.testng.annotations.Test;
import com.google.refine.model.AbstractOperation;
import com.google.refine.operations.OperationRegistry; import com.google.refine.operations.OperationRegistry;
import com.google.refine.operations.column.ColumnRenameOperation; import com.google.refine.operations.column.ColumnRenameOperation;
import com.google.refine.tests.RefineTest; import com.google.refine.tests.RefineTest;
import com.google.refine.tests.util.TestUtils; import com.google.refine.tests.util.TestUtils;
import com.google.refine.util.ParsingUtilities;
public class ColumnRenameOperationTests extends RefineTest { public class ColumnRenameOperationTests extends RefineTest {
@ -19,15 +19,12 @@ public class ColumnRenameOperationTests extends RefineTest {
} }
@Test @Test
public void serializeColumnRenameOperation() throws JSONException, Exception { public void serializeColumnRenameOperation() throws Exception {
String json = "{\"op\":\"core/column-rename\"," String json = "{\"op\":\"core/column-rename\","
+ "\"description\":\"Rename column old name to new name\"," + "\"description\":\"Rename column old name to new name\","
+ "\"oldColumnName\":\"old name\"," + "\"oldColumnName\":\"old name\","
+ "\"newColumnName\":\"new name\"}"; + "\"newColumnName\":\"new name\"}";
JSONObject obj = new JSONObject(json); AbstractOperation op = ParsingUtilities.mapper.readValue(json, AbstractOperation.class);
TestUtils.isSerializedTo(new ColumnRenameOperation( TestUtils.isSerializedTo(op, json);
obj.getString("oldColumnName"),
obj.getString("newColumnName")
), json);
} }
} }