Compare commits

...

1 Commits

Author SHA1 Message Date
hwei
0720ca53be APPINT-33503 '@' not generated with tRESTResponse after migration.
- Add migration task to set default value
2021-09-15 18:38:25 +08:00
2 changed files with 63 additions and 0 deletions

View File

@@ -3550,6 +3550,15 @@
name="UncheckUseExtraParameterMigrationTask"
version="7.3.1">
</projecttask>
<projecttask
beforeLogon="false"
breaks="7.3.0"
class="org.talend.repository.model.migration.SetDefaultValueForAttributesToElements"
description="Check Attributes to Elements Parameter in tRESTRequest"
id="org.talend.repository.model.migration.SetDefaultValueForAttributesToElements"
name="SetDefaultValueForAttributesToElements"
version="7.3.1">
</projecttask>
<projecttask
beforeLogon="false"
breaks="7.3.0"

View File

@@ -0,0 +1,54 @@
package org.talend.repository.model.migration;
import java.util.Arrays;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.exception.PersistenceException;
import org.talend.core.language.ECodeLanguage;
import org.talend.core.model.components.ComponentUtilities;
import org.talend.core.model.components.ModifyComponentsAction;
import org.talend.core.model.components.conversions.IComponentConversion;
import org.talend.core.model.components.filters.IComponentFilter;
import org.talend.core.model.components.filters.NameComponentFilter;
import org.talend.core.model.migration.AbstractJobMigrationTask;
import org.talend.core.model.properties.Item;
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
public class SetDefaultValueForAttributesToElements extends AbstractJobMigrationTask {
@Override
public Date getOrder() {
return new GregorianCalendar(2021, 9, 15, 16, 0, 0).getTime();
}
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
IComponentFilter filter = new NameComponentFilter("tRESTRequest");
try {
ModifyComponentsAction.searchAndModify(item, processType, filter,
Arrays.<IComponentConversion> asList(new IComponentConversion() {
@Override
public void transform(NodeType node) {
if (ComponentUtilities.getNodeProperty(node, "ATTRIBUTES_TO_ELEMENTS") == null) {
ComponentUtilities.addNodeProperty(node, "ATTRIBUTES_TO_ELEMENTS", "CHECK");
}
ComponentUtilities.getNodeProperty(node, "ATTRIBUTES_TO_ELEMENTS").setValue("true");
}
}));
} catch (PersistenceException e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
return ExecutionResult.SUCCESS_NO_ALERT;
}
}