Improved JSON export with organization.name and software.categories in
services properties.
This commit is contained in:
parent
1e0b2e3ac3
commit
dd6f941456
2 changed files with 100 additions and 49 deletions
|
@ -22,16 +22,20 @@ import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.text.StringEscapeUtils;
|
import org.apache.commons.text.StringEscapeUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import fr.devinsy.statoolinfos.HtmlizerContext;
|
||||||
|
import fr.devinsy.statoolinfos.core.Categories;
|
||||||
import fr.devinsy.statoolinfos.core.Federation;
|
import fr.devinsy.statoolinfos.core.Federation;
|
||||||
import fr.devinsy.statoolinfos.core.Organization;
|
import fr.devinsy.statoolinfos.core.Organization;
|
||||||
import fr.devinsy.statoolinfos.core.Organizations;
|
import fr.devinsy.statoolinfos.core.Organizations;
|
||||||
import fr.devinsy.statoolinfos.core.Service;
|
import fr.devinsy.statoolinfos.core.Service;
|
||||||
import fr.devinsy.statoolinfos.core.Services;
|
import fr.devinsy.statoolinfos.core.Services;
|
||||||
import fr.devinsy.statoolinfos.properties.PathPropertyUtils;
|
import fr.devinsy.statoolinfos.properties.PathProperty;
|
||||||
|
import fr.devinsy.statoolinfos.properties.PathPropertyList;
|
||||||
import fr.devinsy.strings.StringList;
|
import fr.devinsy.strings.StringList;
|
||||||
import fr.devinsy.strings.StringsUtils;
|
import fr.devinsy.strings.StringsUtils;
|
||||||
|
|
||||||
|
@ -79,7 +83,7 @@ public class JSONFile
|
||||||
|
|
||||||
lines.appendln("{ \"federation\" : ");
|
lines.appendln("{ \"federation\" : ");
|
||||||
|
|
||||||
lines.addAll(PathPropertyUtils.toJSON(federation));
|
lines.addAll(toJSON(federation));
|
||||||
|
|
||||||
lines.removeLast();
|
lines.removeLast();
|
||||||
lines.appendln(",");
|
lines.appendln(",");
|
||||||
|
@ -87,7 +91,7 @@ public class JSONFile
|
||||||
|
|
||||||
for (Organization organization : federation.getOrganizations())
|
for (Organization organization : federation.getOrganizations())
|
||||||
{
|
{
|
||||||
lines.addAll(PathPropertyUtils.toJSON(organization));
|
lines.addAll(toJSON(organization));
|
||||||
lines.removeLast();
|
lines.removeLast();
|
||||||
|
|
||||||
lines.appendln(",");
|
lines.appendln(",");
|
||||||
|
@ -95,7 +99,7 @@ public class JSONFile
|
||||||
|
|
||||||
for (Service service : organization.getServices())
|
for (Service service : organization.getServices())
|
||||||
{
|
{
|
||||||
lines.addAll(PathPropertyUtils.toJSON(service));
|
lines.addAll(toJSON(service));
|
||||||
lines.appendln(",");
|
lines.appendln(",");
|
||||||
}
|
}
|
||||||
if (!organization.getServices().isEmpty())
|
if (!organization.getServices().isEmpty())
|
||||||
|
@ -141,7 +145,7 @@ public class JSONFile
|
||||||
|
|
||||||
for (Organization organization : organizations)
|
for (Organization organization : organizations)
|
||||||
{
|
{
|
||||||
lines.addAll(PathPropertyUtils.toJSON(organization));
|
lines.addAll(toJSON(organization));
|
||||||
lines.append(",");
|
lines.append(",");
|
||||||
}
|
}
|
||||||
if (!organizations.isEmpty())
|
if (!organizations.isEmpty())
|
||||||
|
@ -174,7 +178,7 @@ public class JSONFile
|
||||||
|
|
||||||
for (Service service : services)
|
for (Service service : services)
|
||||||
{
|
{
|
||||||
lines.addAll(PathPropertyUtils.toJSON(service));
|
lines.addAll(toJSON(service));
|
||||||
lines.append(",");
|
lines.append(",");
|
||||||
}
|
}
|
||||||
if (!services.isEmpty())
|
if (!services.isEmpty())
|
||||||
|
@ -186,4 +190,94 @@ public class JSONFile
|
||||||
|
|
||||||
StringsUtils.writeToFile(file, lines);
|
StringsUtils.writeToFile(file, lines);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To JSON.
|
||||||
|
*
|
||||||
|
* @param properties
|
||||||
|
* the properties
|
||||||
|
* @return the string list
|
||||||
|
*/
|
||||||
|
public static StringList toJSON(final PathPropertyList properties)
|
||||||
|
{
|
||||||
|
StringList result;
|
||||||
|
|
||||||
|
result = new StringList();
|
||||||
|
|
||||||
|
result.append("{");
|
||||||
|
|
||||||
|
if (properties != null)
|
||||||
|
{
|
||||||
|
boolean firstDone = false;
|
||||||
|
for (PathProperty property : properties)
|
||||||
|
{
|
||||||
|
if (StringUtils.isNotBlank(property.getValue()))
|
||||||
|
{
|
||||||
|
firstDone = true;
|
||||||
|
result.append("\"");
|
||||||
|
result.append(StringEscapeUtils.escapeJson(property.getPath()));
|
||||||
|
result.append("\" : \"");
|
||||||
|
result.append(StringEscapeUtils.escapeJson(property.getValue()));
|
||||||
|
result.append("\"");
|
||||||
|
result.append(",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (firstDone)
|
||||||
|
{
|
||||||
|
result.removeLast();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result.append("}");
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To JSON.
|
||||||
|
*
|
||||||
|
* @param properties
|
||||||
|
* the properties
|
||||||
|
* @return the string list
|
||||||
|
*/
|
||||||
|
public static StringList toJSON(final Service service)
|
||||||
|
{
|
||||||
|
StringList result;
|
||||||
|
|
||||||
|
result = toJSON((PathPropertyList) service);
|
||||||
|
|
||||||
|
//
|
||||||
|
result.removeLast();
|
||||||
|
result.append(",");
|
||||||
|
|
||||||
|
//
|
||||||
|
String organizationName;
|
||||||
|
if (service.getOrganization() == null)
|
||||||
|
{
|
||||||
|
organizationName = "";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
organizationName = service.getOrganization().getName();
|
||||||
|
}
|
||||||
|
result.append("\"");
|
||||||
|
result.append("organization.name");
|
||||||
|
result.append("\" : \"");
|
||||||
|
result.append(organizationName);
|
||||||
|
result.append("\"");
|
||||||
|
result.append(",");
|
||||||
|
|
||||||
|
//
|
||||||
|
Categories categories = HtmlizerContext.instance().getCategories();
|
||||||
|
result.append("\"");
|
||||||
|
result.append("software.categories");
|
||||||
|
result.append("\" : \"");
|
||||||
|
result.append(StringEscapeUtils.escapeJson(categories.findBySoftware(service.getSoftwareName()).toString()));
|
||||||
|
result.append("\"");
|
||||||
|
|
||||||
|
result.append("}");
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,6 @@ import java.net.URL;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.text.StringEscapeUtils;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@ -300,48 +299,6 @@ public class PathPropertyUtils
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* To JSON.
|
|
||||||
*
|
|
||||||
* @param properties
|
|
||||||
* the properties
|
|
||||||
* @return the string list
|
|
||||||
*/
|
|
||||||
public static StringList toJSON(final PathPropertyList properties)
|
|
||||||
{
|
|
||||||
StringList result;
|
|
||||||
|
|
||||||
result = new StringList();
|
|
||||||
|
|
||||||
result.append("{");
|
|
||||||
|
|
||||||
if (properties != null)
|
|
||||||
{
|
|
||||||
boolean firstDone = false;
|
|
||||||
for (PathProperty property : properties)
|
|
||||||
{
|
|
||||||
if (StringUtils.isNotBlank(property.getValue()))
|
|
||||||
{
|
|
||||||
firstDone = true;
|
|
||||||
result.append("\"");
|
|
||||||
result.append(StringEscapeUtils.escapeJson(property.getPath()));
|
|
||||||
result.append("\" : \"");
|
|
||||||
result.append(StringEscapeUtils.escapeJson(property.getValue()));
|
|
||||||
result.append("\"");
|
|
||||||
result.append(",");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (firstDone)
|
|
||||||
{
|
|
||||||
result.removeLast();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
result.append("}");
|
|
||||||
|
|
||||||
//
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Value of.
|
* Value of.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue