if (siblingOperations != null && siblingOperations.length > 0) {
for (OperationId siblingOperation : siblingOperations) {
String[] row = new String[2];
row[0] = operationId;
row[1] = siblingOperation.toString();
m_commonSourceOperations.add(new InterchangeDataRow(row));
}
}
// Add "operation pipeline".
final DeployPipelineActivityVisitor pipelinePartVisitor = new DeployPipelineActivityVisitor();
for (PipelineActivity activity : operation.getPipeline().getActivities()) {
pipelinePartVisitor.visit(activity);
String activityId = pipelinePartVisitor.getGuid();
if (activityId == null)
continue; // The activity is empty or we don't need to include it in deploy (see
// DeployPipelinePartVisitor).
int activityTypeId = activity.getType().getActivityTypeId();
String[] row = new String[3];
row[0] = operationId;
row[1] = Integer.toString(activityTypeId);
row[2] = activityId;
m_operationPipelines.add(new InterchangeDataRow(row));
}
// Add operation graph layout.
final EntityResources rc = m_deployData.getEntityResources();
final String layoutData = rc.getFileResource(operation, "GraphLayout.xml").read();
if (layoutData != null) {
try {
String[] row = new String[2];
row[0] = operationId;
row[1] = ZipUtils.deflateAndBase64EncodeString(layoutData);
m_operationGraphLayout.add(new InterchangeDataRow(row));
} catch (IOException e) {
// It's unlikely that this should happen, but if it does we can ignore it
// since it only means that the graph layout will not be deployed.
e.printStackTrace();
}