Fixed code
This commit is contained in:
parent
3751ae9796
commit
4839ac5b4e
|
@ -14,9 +14,11 @@ import java.nio.file.Paths;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
@ -29,6 +31,7 @@ import javax.management.MalformedObjectNameException;
|
||||||
import javax.management.ObjectName;
|
import javax.management.ObjectName;
|
||||||
import javax.management.ReflectionException;
|
import javax.management.ReflectionException;
|
||||||
|
|
||||||
|
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
|
||||||
import org.gcube.informationsystem.model.impl.properties.HeaderImpl;
|
import org.gcube.informationsystem.model.impl.properties.HeaderImpl;
|
||||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||||
import org.gcube.informationsystem.model.reference.entities.Resource;
|
import org.gcube.informationsystem.model.reference.entities.Resource;
|
||||||
|
@ -44,6 +47,7 @@ import org.gcube.informationsystem.resourceregistry.client.ResourceRegistryClien
|
||||||
import org.gcube.informationsystem.resourceregistry.client.ResourceRegistryClientFactory;
|
import org.gcube.informationsystem.resourceregistry.client.ResourceRegistryClientFactory;
|
||||||
import org.gcube.informationsystem.resourceregistry.publisher.ResourceRegistryPublisher;
|
import org.gcube.informationsystem.resourceregistry.publisher.ResourceRegistryPublisher;
|
||||||
import org.gcube.informationsystem.resourceregistry.publisher.ResourceRegistryPublisherFactory;
|
import org.gcube.informationsystem.resourceregistry.publisher.ResourceRegistryPublisherFactory;
|
||||||
|
import org.gcube.informationsystem.utils.ElementMapper;
|
||||||
import org.gcube.resourcemanagement.model.impl.entities.facets.CPUFacetImpl;
|
import org.gcube.resourcemanagement.model.impl.entities.facets.CPUFacetImpl;
|
||||||
import org.gcube.resourcemanagement.model.impl.entities.facets.EventFacetImpl;
|
import org.gcube.resourcemanagement.model.impl.entities.facets.EventFacetImpl;
|
||||||
import org.gcube.resourcemanagement.model.impl.entities.facets.LocationFacetImpl;
|
import org.gcube.resourcemanagement.model.impl.entities.facets.LocationFacetImpl;
|
||||||
|
@ -268,30 +272,28 @@ public class HostingNodeManager {
|
||||||
public static SoftwareFacet getOperativeSystem() {
|
public static SoftwareFacet getOperativeSystem() {
|
||||||
SoftwareFacet osSoftwareFacet = new SoftwareFacetImpl();
|
SoftwareFacet osSoftwareFacet = new SoftwareFacetImpl();
|
||||||
OperatingSystemMXBean mxbean = ManagementFactory.getOperatingSystemMXBean();
|
OperatingSystemMXBean mxbean = ManagementFactory.getOperatingSystemMXBean();
|
||||||
osSoftwareFacet.setGroup(mxbean.getName()); // softwareFacet.setGroup(System.getProperty("os.name"));
|
String osName = mxbean.getName();
|
||||||
|
osSoftwareFacet.setGroup(osName); // softwareFacet.setGroup(System.getProperty("os.name"));
|
||||||
osSoftwareFacet.setName(mxbean.getArch()); // softwareFacet.setName(System.getProperty("os.arch"));
|
osSoftwareFacet.setName(mxbean.getArch()); // softwareFacet.setName(System.getProperty("os.arch"));
|
||||||
osSoftwareFacet.setVersion(mxbean.getVersion()); // softwareFacet.setName(System.getProperty("os.version"));
|
osSoftwareFacet.setVersion(mxbean.getVersion()); // softwareFacet.setVersion(System.getProperty("os.version"));
|
||||||
|
|
||||||
if(osSoftwareFacet.getGroup().compareTo("Linux")==0) {
|
JsonNode jsonNode = ElementMapper.getObjectMapper().valueToTree(osSoftwareFacet);
|
||||||
|
Set<String> fieldNames = new TreeSet<>();
|
||||||
|
Iterator<String> it = jsonNode.fieldNames();
|
||||||
|
while (it.hasNext()) fieldNames.add(it.next());
|
||||||
|
|
||||||
|
if(osName.compareTo("Linux")==0) {
|
||||||
// Adding Linux Distribution Info
|
// Adding Linux Distribution Info
|
||||||
LinuxDistributionInfo linuxDistributionInfo = new LinuxDistributionInfo();
|
LinuxDistributionInfo linuxDistributionInfo = new LinuxDistributionInfo();
|
||||||
Map<String, String> map = linuxDistributionInfo.getInfo();
|
Map<String, String> map = linuxDistributionInfo.getInfo();
|
||||||
Set<String> keys = map.keySet();
|
Set<String> keys = map.keySet();
|
||||||
for(String key : keys) {
|
for(String key : keys) {
|
||||||
|
String k = key;
|
||||||
switch (key) {
|
if(fieldNames.contains(key)) {
|
||||||
case SoftwareFacet.NAME:
|
k = "linuxDistribution-" + k;
|
||||||
case SoftwareFacet.GROUP_PROPERTY:
|
|
||||||
case SoftwareFacet.VERSION_PROPERTY:
|
|
||||||
osSoftwareFacet.setAdditionalProperty("Distribution-" + key, map.get(key));
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
osSoftwareFacet.setAdditionalProperty(key, map.get(key));
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
osSoftwareFacet.setAdditionalProperty(k, map.get(key));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return osSoftwareFacet;
|
return osSoftwareFacet;
|
||||||
|
|
|
@ -2,7 +2,6 @@ package org.gcube.smartgears.handler.resourceregistry.resourcemanager;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
|
@ -44,9 +43,9 @@ public class LinuxDistributionInfo {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String[] parseLine(String line) {
|
private String[] parseLine(String line) {
|
||||||
String[] splitted = line.split(":");
|
String[] splitted = line.split("=");
|
||||||
if (splitted.length < 2) {
|
if (splitted.length < 2) {
|
||||||
splitted = line.split("=");
|
splitted = line.split(":");
|
||||||
}
|
}
|
||||||
String[] ret = new String[2];
|
String[] ret = new String[2];
|
||||||
ret[0] = splitted[0].trim();
|
ret[0] = splitted[0].trim();
|
||||||
|
|
|
@ -58,13 +58,12 @@ public class HostingNodeManagerTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetLinuxDistributionInfo() {
|
public void testGetLinuxDistributionInfo() {
|
||||||
LinuxDistributionInfo l = new LinuxDistributionInfo();
|
LinuxDistributionInfo linuxDistributionInfo = new LinuxDistributionInfo();
|
||||||
Map<String,String> map = l.getInfo();
|
Map<String,String> map = linuxDistributionInfo.getInfo();
|
||||||
logger.info("{}", map);
|
logger.info("{}", map);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetOSFacet() {
|
public void testGetOSFacet() {
|
||||||
SoftwareFacet softwareFacet = HostingNodeManager.getOperativeSystem();
|
SoftwareFacet softwareFacet = HostingNodeManager.getOperativeSystem();
|
||||||
|
|
Loading…
Reference in New Issue