Skip to content
Snippets Groups Projects
Commit ffd6ec7b authored by felmer's avatar felmer
Browse files

SSDM-4659: AbstractExternalDataProvider refactored

SVN: 37997
parent e679e325
No related branches found
No related tags found
No related merge requests found
...@@ -145,38 +145,7 @@ public abstract class AbstractExternalDataProvider extends ...@@ -145,38 +145,7 @@ public abstract class AbstractExternalDataProvider extends
{ {
builder.column(CODE).addEntityLink(dataSet, dataSet.getCode()); builder.column(CODE).addEntityLink(dataSet, dataSet.getCode());
LinkDataSet linkDataSet = dataSet.tryGetAsLinkDataSet(); addLinkDataSet(builder, dataSet.tryGetAsLinkDataSet());
if (linkDataSet != null && linkDataSet.getCopies() != null)
{
if (linkDataSet.getCopies().size() > 0)
{
String dmsCodes = "";
String dmsLabels = "";
String dmsAddresses = "";
String externalCodes = "";
String paths = "";
String hashes = "";
for (IContentCopy copy : linkDataSet.getCopies())
{
dmsCodes += copy.getExternalDMSCode() + ", ";
dmsLabels += copy.getExternalDMSLabel() + ", ";
dmsAddresses += copy.getExternalDMSAddress() + ", ";
externalCodes += emptyOnNull(copy.getExternalCode());
paths += emptyOnNull(copy.getPath());
hashes += emptyOnNull(copy.getCommitHash());
}
builder.column(EXTERNAL_DMS_CODE).addString(strip(dmsCodes));
builder.column(EXTERNAL_DMS_LABEL).addString(strip(dmsLabels));
builder.column(EXTERNAL_DMS_ADDRESS).addString(strip(dmsAddresses));
builder.column(EXTERNAL_CODE).addString(strip(externalCodes));
builder.column(LINK_PATH).addString(strip(paths));
builder.column(LINK_HASH).addString(strip(hashes));
}
}
builder.column(METAPROJECTS).addString( builder.column(METAPROJECTS).addString(
metaProjectsToString(dataSet.getMetaprojects())); metaProjectsToString(dataSet.getMetaprojects()));
...@@ -259,26 +228,43 @@ public abstract class AbstractExternalDataProvider extends ...@@ -259,26 +228,43 @@ public abstract class AbstractExternalDataProvider extends
return builder.getModel(); return builder.getModel();
} }
private String emptyOnNull(String value) private void addLinkDataSet(TypedTableModelBuilder<AbstractExternalData> builder, LinkDataSet linkDataSet)
{ {
if (value == null) if (linkDataSet != null && linkDataSet.getCopies() != null)
{ {
return ""; if (linkDataSet.getCopies().size() > 0)
} else {
{ CommaSeparatedListBuilder dmsCodes = new CommaSeparatedListBuilder();
return value + ", "; CommaSeparatedListBuilder dmsLabels = new CommaSeparatedListBuilder();
CommaSeparatedListBuilder dmsAddresses = new CommaSeparatedListBuilder();
CommaSeparatedListBuilder externalCodes = new CommaSeparatedListBuilder();
CommaSeparatedListBuilder paths = new CommaSeparatedListBuilder();
CommaSeparatedListBuilder hashes = new CommaSeparatedListBuilder();
for (IContentCopy copy : linkDataSet.getCopies())
{
dmsCodes.append(copy.getExternalDMSCode());
dmsLabels.append(emptyOnNull(copy.getExternalDMSLabel()));
dmsAddresses.append(copy.getExternalDMSAddress());
externalCodes.append(emptyOnNull(copy.getExternalCode()));
paths.append(emptyOnNull(copy.getPath()));
hashes.append(emptyOnNull(copy.getCommitHash()));
}
builder.column(EXTERNAL_DMS_CODE).addString(dmsCodes.toString());
builder.column(EXTERNAL_DMS_LABEL).addString(dmsLabels.toString());
builder.column(EXTERNAL_DMS_ADDRESS).addString(dmsAddresses.toString());
builder.column(EXTERNAL_CODE).addString(externalCodes.toString());
builder.column(LINK_PATH).addString(paths.toString());
builder.column(LINK_HASH).addString(hashes.toString());
}
} }
} }
private String strip(String value) private String emptyOnNull(String value)
{ {
if (value.length() > 2) return value == null ? "" : value;
{
return value.substring(0, value.length() - 2);
} else
{
return value;
}
} }
private void addProject(TypedTableModelBuilder<AbstractExternalData> builder, Project project) private void addProject(TypedTableModelBuilder<AbstractExternalData> builder, Project project)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment