Completed code to retrieve and display the resource types as a nested
tree.
This commit is contained in:
parent
0b7a13aa2c
commit
452f19eb74
|
@ -3,6 +3,7 @@ package org.gcube.fullstackapps.informationsystemmonitor.service;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
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;
|
||||||
|
@ -14,6 +15,7 @@ import org.gcube.common.authorization.utils.manager.SecretManager;
|
||||||
import org.gcube.common.authorization.utils.manager.SecretManagerProvider;
|
import org.gcube.common.authorization.utils.manager.SecretManagerProvider;
|
||||||
import org.gcube.common.authorization.utils.secret.JWTSecret;
|
import org.gcube.common.authorization.utils.secret.JWTSecret;
|
||||||
import org.gcube.common.authorization.utils.secret.Secret;
|
import org.gcube.common.authorization.utils.secret.Secret;
|
||||||
|
import org.gcube.fullstackapps.informationsystemmonitor.service.dto.ResourceTypeDTO;
|
||||||
import org.gcube.informationsystem.base.reference.AccessType;
|
import org.gcube.informationsystem.base.reference.AccessType;
|
||||||
import org.gcube.informationsystem.base.reference.Element;
|
import org.gcube.informationsystem.base.reference.Element;
|
||||||
import org.gcube.informationsystem.contexts.reference.entities.Context;
|
import org.gcube.informationsystem.contexts.reference.entities.Context;
|
||||||
|
@ -43,7 +45,7 @@ import org.springframework.stereotype.Service;
|
||||||
public class InformationSystemService {
|
public class InformationSystemService {
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(InformationSystemService.class);
|
private static final Logger log = LoggerFactory.getLogger(InformationSystemService.class);
|
||||||
|
private ArrayList<String> fatherIds;
|
||||||
|
|
||||||
public void setUma(String umaToken) throws Exception {
|
public void setUma(String umaToken) throws Exception {
|
||||||
log.debug("Set Uma: [umaToken={}]",umaToken);
|
log.debug("Set Uma: [umaToken={}]",umaToken);
|
||||||
|
@ -88,26 +90,79 @@ public class InformationSystemService {
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* String fakeTree =
|
||||||
|
"Resource"
|
||||||
|
+ "__GCubeResource"
|
||||||
|
+ "___Actor"
|
||||||
|
+ "____LegalBody"
|
||||||
|
+ "____Person"
|
||||||
|
+ "___ConfigurationTemplate"
|
||||||
|
+ "____Configuration"
|
||||||
|
+ "___Dataset"
|
||||||
|
+ "____ConcreteDataset"
|
||||||
|
+ "___Schema"
|
||||||
|
+ "___Service"
|
||||||
|
+ "____EService"
|
||||||
|
+ "_____RunningPlugin"
|
||||||
|
+ "____HostingNode"
|
||||||
|
+ "____VirtualMachine"
|
||||||
|
+ "____VirtualService"
|
||||||
|
+ "___Site"
|
||||||
|
+ "___Software"
|
||||||
|
+ "____Plugin_ ";
|
||||||
|
*/
|
||||||
|
|
||||||
public ArrayList<SimpleTreeNode> getResourceTypesTree() throws Exception {
|
public ArrayList<ResourceTypeDTO> getResourceTypesTree() throws Exception {
|
||||||
|
//public ResourceTypeDTO getResourceTypesTree() throws Exception {
|
||||||
|
|
||||||
String currentCtx = SecretManagerProvider.instance.get().getContext();
|
String currentCtx = SecretManagerProvider.instance.get().getContext();
|
||||||
//log.debug("getResourceTypes : [currentCtx=]",currentCtx);
|
|
||||||
ResourceRegistryClient resourceRegistryClient= ResourceRegistryClientFactory.create(currentCtx);
|
ResourceRegistryClient resourceRegistryClient= ResourceRegistryClientFactory.create(currentCtx);
|
||||||
AccessType[] modelTypes = AccessType.getModelTypes();
|
AccessType[] modelTypes = AccessType.getModelTypes();
|
||||||
ModelKnowledge <Type, TypeInformation> modelKnowledge = resourceRegistryClient.getModelKnowledge();
|
ModelKnowledge <Type, TypeInformation> modelKnowledge = resourceRegistryClient.getModelKnowledge();
|
||||||
Type resourcesType = modelKnowledge.getTypeByName(AccessType.RESOURCE.getName());
|
Type resourcesType = modelKnowledge.getTypeByName(AccessType.RESOURCE.getName());
|
||||||
Tree<Type> typeTree = modelKnowledge.getTree(resourcesType.getAccessType());
|
Tree<Type> typeTree = modelKnowledge.getTree(resourcesType.getAccessType());
|
||||||
/*
|
|
||||||
String rootName = typeTree.getRootNode().getNodeElement().getName();
|
|
||||||
String rootId = typeTree.getRootNode().getNodeElement().getID().toString();
|
|
||||||
Set<Node<Type>> children = typeTree.getRootNode().getChildrenNodes();
|
|
||||||
*/
|
|
||||||
|
|
||||||
SimpleTreeMaker treeMaker = new SimpleTreeMaker();
|
SimpleTreeMaker treeMaker = new SimpleTreeMaker();
|
||||||
typeTree.elaborate(treeMaker);
|
typeTree.elaborate(treeMaker);
|
||||||
return treeMaker.getNodeList();
|
|
||||||
|
|
||||||
|
ArrayList<ResourceTypeDTO> orderedNodes = treeMaker.getNodeList();
|
||||||
|
|
||||||
|
fatherIds = new ArrayList<>();
|
||||||
|
for(ResourceTypeDTO node:orderedNodes) {
|
||||||
|
if(!node.getChildren().isEmpty()) {
|
||||||
|
fatherIds.add(node.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return cleanTree(orderedNodes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private ArrayList<ResourceTypeDTO> cleanTree(ArrayList<ResourceTypeDTO> ordered) {
|
||||||
|
String currentId = null;
|
||||||
|
ResourceTypeDTO candidateFatherNode = null;
|
||||||
|
for(int i=ordered.size()-1; i>=0; i--) {
|
||||||
|
ResourceTypeDTO currentNode = ordered.get(i);
|
||||||
|
currentId = currentNode.getId();
|
||||||
|
if(fatherIds.contains(currentId)) {
|
||||||
|
for(int j=0; j<ordered.size(); j++) {
|
||||||
|
Iterator<ResourceTypeDTO> it = ordered.get(j).getChildren().iterator();
|
||||||
|
while(it.hasNext()) {
|
||||||
|
candidateFatherNode = it.next();
|
||||||
|
if(candidateFatherNode.getId().equals(currentId)){
|
||||||
|
for(ResourceTypeDTO child: currentNode.getChildren()) {
|
||||||
|
candidateFatherNode.addChild(child);
|
||||||
|
}
|
||||||
|
//TODO: check this
|
||||||
|
ordered.remove(currentNode);
|
||||||
|
fatherIds.remove(currentId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ordered;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,15 @@
|
||||||
package org.gcube.fullstackapps.informationsystemmonitor.service;
|
package org.gcube.fullstackapps.informationsystemmonitor.service;
|
||||||
|
|
||||||
|
import java.util.ArrayDeque;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Queue;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.gcube.fullstackapps.informationsystemmonitor.service.dto.ResourceTypeDTO;
|
||||||
import org.gcube.informationsystem.tree.Node;
|
import org.gcube.informationsystem.tree.Node;
|
||||||
import org.gcube.informationsystem.tree.NodeElaborator;
|
import org.gcube.informationsystem.tree.NodeElaborator;
|
||||||
import org.gcube.informationsystem.types.reference.Type;
|
import org.gcube.informationsystem.types.reference.Type;
|
||||||
|
@ -14,40 +20,80 @@ public class SimpleTreeMaker implements NodeElaborator<Type> {
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(SimpleTreeMaker.class);
|
private static final Logger log = LoggerFactory.getLogger(SimpleTreeMaker.class);
|
||||||
|
|
||||||
private SimpleTreeNode myNode;
|
private ResourceTypeDTO myNode;
|
||||||
//private SimpleTreeNode[] children;
|
//private SimpleTreeNode[] children;
|
||||||
//ordered tree node list
|
//ordered tree node list
|
||||||
private ArrayList<SimpleTreeNode> nodeList;
|
private ArrayList<ResourceTypeDTO> nodeList;
|
||||||
|
Map<String, ResourceTypeDTO> nodeMap;
|
||||||
|
|
||||||
public SimpleTreeMaker() {
|
public SimpleTreeMaker() {
|
||||||
//this.myTree = new SimpleTreeNode();
|
this.nodeList = new ArrayList<ResourceTypeDTO>();
|
||||||
|
this.nodeMap = new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public SimpleTreeNode getSimpleTree() {
|
public Map<String, ResourceTypeDTO> getNodeMap() {
|
||||||
|
return nodeMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResourceTypeDTO getSimpleTree() {
|
||||||
return myNode;
|
return myNode;
|
||||||
}
|
}
|
||||||
public ArrayList<SimpleTreeNode> getNodeList() {
|
public ArrayList<ResourceTypeDTO> getNodeList() {
|
||||||
return nodeList;
|
return nodeList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void elaborate(Node<Type> node, int level) throws Exception {
|
public void elaborate(Node<Type> node, int level) throws Exception {
|
||||||
|
myNode = new ResourceTypeDTO(node.getNodeElement().getName(), node.getNodeElement().getID().toString());
|
||||||
|
if(node.getParent()!=null) {
|
||||||
|
myNode.setFatherId(node.getParent().getNodeElement().getID().toString());
|
||||||
|
}else {
|
||||||
|
myNode.setFatherId(null);
|
||||||
|
}
|
||||||
|
|
||||||
myNode = new SimpleTreeNode(node.getNodeElement().getName(), node.getNodeElement().getID().toString());
|
for(Node<Type> nt:node.getChildrenNodes()) {
|
||||||
for(Node<Type> nt:node.getChildrenNodes()) {
|
|
||||||
String name = nt.getNodeElement().getName();
|
String name = nt.getNodeElement().getName();
|
||||||
String id = nt.getNodeElement().getID().toString();
|
String id = nt.getNodeElement().getID().toString();
|
||||||
SimpleTreeNode cn = new SimpleTreeNode(name, id);
|
ResourceTypeDTO cn = new ResourceTypeDTO(name, id);
|
||||||
myNode.getChildNodes().add(cn);
|
cn.setFatherId(nt.getParent().getNodeElement().getID().toString());
|
||||||
|
myNode.getChildren().add(cn);
|
||||||
}
|
}
|
||||||
/*
|
if(!myNode.getChildren().isEmpty()) {
|
||||||
log.debug("+++++NAME: "+myNode.getValue());
|
nodeList.add(myNode);
|
||||||
log.debug("+++++NODES: ");
|
}
|
||||||
//myTree.showTreeNodes();
|
////////////////////
|
||||||
log.debug("+++++++++++++++++");
|
|
||||||
*/
|
cleanDuplicates(nodeList);
|
||||||
nodeList.add(myNode);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void cleanDuplicates(ArrayList<ResourceTypeDTO> allNodes) {
|
||||||
|
//Map<String, ResourceTypeDTO> tmpMap = new HashMap<>();
|
||||||
|
for(ResourceTypeDTO node:allNodes) {
|
||||||
|
if(nodeMap.containsKey(node.getId())) {
|
||||||
|
nodeMap.remove(node.getId());
|
||||||
|
}else {
|
||||||
|
nodeMap.put(node.getId(), node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void visitNodes(ResourceTypeDTO node) {
|
||||||
|
Queue<ResourceTypeDTO> queue = new ArrayDeque<>();
|
||||||
|
queue.add(node);
|
||||||
|
|
||||||
|
ResourceTypeDTO currentNode;
|
||||||
|
Set<ResourceTypeDTO> alreadyVisited = new HashSet<>();
|
||||||
|
log.debug("Visited nodes: ");
|
||||||
|
while (!queue.isEmpty()) {
|
||||||
|
currentNode = queue.remove();
|
||||||
|
log.debug(currentNode.getName() + " | ");
|
||||||
|
|
||||||
|
alreadyVisited.add(currentNode);
|
||||||
|
queue.addAll(currentNode.getChildren());
|
||||||
|
queue.removeAll(alreadyVisited);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,84 @@
|
||||||
package org.gcube.fullstackapps.informationsystemmonitor.service.dto;
|
package org.gcube.fullstackapps.informationsystemmonitor.service.dto;
|
||||||
|
|
||||||
|
import java.util.ArrayDeque;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Queue;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import org.slf4j.Logger;
|
||||||
import lombok.Data;
|
import org.slf4j.LoggerFactory;
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class ResourceTypeDTO {
|
public class ResourceTypeDTO {
|
||||||
private String id;
|
|
||||||
private String name;
|
private static final Logger log = LoggerFactory.getLogger(ResourceTypeDTO.class);
|
||||||
private ResourceTypeDTO[] children;
|
//TODO: vedi se a regime può servire ID
|
||||||
}
|
private String name;
|
||||||
|
private String id;
|
||||||
|
private String fatherId;
|
||||||
|
public String getFatherId() {
|
||||||
|
return fatherId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFatherId(String fatherId) {
|
||||||
|
this.fatherId = fatherId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private List<ResourceTypeDTO> children;
|
||||||
|
|
||||||
|
public ResourceTypeDTO(String name, String id) {
|
||||||
|
this.name = name;
|
||||||
|
this.id = id;
|
||||||
|
this.children = new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addChild(ResourceTypeDTO childNode) {
|
||||||
|
this.children.add(childNode);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void showTreeNodes() {
|
||||||
|
visitNodes(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<ResourceTypeDTO> getChildren() {
|
||||||
|
return children;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void visitNodes(ResourceTypeDTO node) {
|
||||||
|
Queue<ResourceTypeDTO> queue = new ArrayDeque<>();
|
||||||
|
queue.add(node);
|
||||||
|
|
||||||
|
ResourceTypeDTO currentNode;
|
||||||
|
Set<ResourceTypeDTO> alreadyVisited = new HashSet<>();
|
||||||
|
log.debug("Visited nodes: ");
|
||||||
|
while (!queue.isEmpty()) {
|
||||||
|
currentNode = queue.remove();
|
||||||
|
log.debug(currentNode.getName() + " | ");
|
||||||
|
|
||||||
|
alreadyVisited.add(currentNode);
|
||||||
|
queue.addAll(currentNode.getChildren());
|
||||||
|
queue.removeAll(alreadyVisited);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,34 +2,18 @@ package org.gcube.fullstackapps.informationsystemmonitor.web.rest;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.TreeMap;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
|
|
||||||
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
|
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import org.gcube.common.authorization.utils.manager.SecretManagerProvider;
|
|
||||||
import org.gcube.fullstackapps.informationsystemmonitor.config.TokenManager;
|
import org.gcube.fullstackapps.informationsystemmonitor.config.TokenManager;
|
||||||
import org.gcube.fullstackapps.informationsystemmonitor.service.InformationSystemService;
|
import org.gcube.fullstackapps.informationsystemmonitor.service.InformationSystemService;
|
||||||
import org.gcube.fullstackapps.informationsystemmonitor.service.SimpleTreeNode;
|
|
||||||
import org.gcube.fullstackapps.informationsystemmonitor.service.dto.ResourceTypeDTO;
|
import org.gcube.fullstackapps.informationsystemmonitor.service.dto.ResourceTypeDTO;
|
||||||
import org.gcube.informationsystem.base.reference.AccessType;
|
|
||||||
import org.gcube.informationsystem.base.reference.Element;
|
|
||||||
import org.gcube.informationsystem.contexts.reference.entities.Context;
|
import org.gcube.informationsystem.contexts.reference.entities.Context;
|
||||||
import org.gcube.informationsystem.model.knowledge.ModelKnowledge;
|
|
||||||
import org.gcube.informationsystem.model.reference.entities.Resource;
|
import org.gcube.informationsystem.model.reference.entities.Resource;
|
||||||
import org.gcube.informationsystem.resourceregistry.client.ResourceRegistryClient;
|
|
||||||
import org.gcube.informationsystem.resourceregistry.client.ResourceRegistryClientFactory;
|
|
||||||
import org.gcube.informationsystem.serialization.ElementMapper;
|
import org.gcube.informationsystem.serialization.ElementMapper;
|
||||||
import org.gcube.informationsystem.tree.Node;
|
|
||||||
import org.gcube.informationsystem.tree.NodeInformation;
|
|
||||||
import org.gcube.informationsystem.tree.Tree;
|
|
||||||
import org.gcube.informationsystem.types.knowledge.TypeInformation;
|
|
||||||
import org.gcube.informationsystem.types.reference.Type;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
@ -41,7 +25,6 @@ import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.util.UriUtils;
|
import org.springframework.web.util.UriUtils;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.java.Log;
|
|
||||||
import tech.jhipster.web.util.HeaderUtil;
|
import tech.jhipster.web.util.HeaderUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -88,35 +71,15 @@ public class InformationSystemResource {
|
||||||
@GetMapping("/resourcetypes")
|
@GetMapping("/resourcetypes")
|
||||||
public ResponseEntity<String> resourceTypes(@RequestParam @Nullable String currentContext) {
|
public ResponseEntity<String> resourceTypes(@RequestParam @Nullable String currentContext) {
|
||||||
log.debug("Request resource types");
|
log.debug("Request resource types");
|
||||||
List<ResourceTypeDTO> typeDtos = new ArrayList<ResourceTypeDTO>();
|
|
||||||
try {
|
try {
|
||||||
informationSystemService.setUma(createUmaToken(currentContext));
|
informationSystemService.setUma(createUmaToken(currentContext));
|
||||||
/////////////
|
|
||||||
/*
|
|
||||||
Tree<Type> resourceTree = (Tree<Type>) informationSystemService.getResourcesTree();
|
|
||||||
NodeInformation<Type> ni = resourceTree.getNodeInformation();
|
|
||||||
log.debug("nodeIdentifier..."+ni.toString());
|
|
||||||
Node<Type> root = resourceTree.getRootNode();
|
|
||||||
log.debug("rootStr..."+root.getNodeElement().toString());
|
|
||||||
|
|
||||||
*/
|
|
||||||
////////////
|
|
||||||
|
|
||||||
ArrayList<SimpleTreeNode> treeNodes = informationSystemService.getResourceTypesTree();
|
////////PROVA
|
||||||
//TODO: costruire ResourceTypeDTO[] a partire da treeNodes
|
ArrayList<ResourceTypeDTO> treeNode = informationSystemService.getResourceTypesTree();
|
||||||
|
|
||||||
|
|
||||||
List<Type> resTypes = informationSystemService.getResourceTypes();
|
|
||||||
Iterator<Type> it = resTypes.iterator();
|
|
||||||
while (it.hasNext()) {
|
|
||||||
Type t = it.next();
|
|
||||||
//at the moment, an empty array
|
|
||||||
ResourceTypeDTO[] children = new ResourceTypeDTO[0];
|
|
||||||
ResourceTypeDTO dto = new ResourceTypeDTO(t.getID().toString(),t.getName(),children);
|
|
||||||
typeDtos.add(dto);
|
|
||||||
}
|
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
String sc = objectMapper.writeValueAsString(typeDtos);
|
//String sc = objectMapper.writeValueAsString(tree);
|
||||||
|
String sc = objectMapper.writeValueAsString(treeNode);
|
||||||
return ResponseEntity.ok().body(sc);
|
return ResponseEntity.ok().body(sc);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("****ERRORE*************");
|
log.error("****ERRORE*************");
|
||||||
|
@ -127,18 +90,6 @@ public class InformationSystemResource {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isInstanceOf(JsonNode jsonNode, String type) {
|
|
||||||
Set<String> types = getTypeAndSubtypes(type);
|
|
||||||
String instanceType = jsonNode.get(Element.TYPE_PROPERTY).asText();
|
|
||||||
return types.contains(instanceType);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Set<String> getTypeAndSubtypes(String type) {
|
|
||||||
Set<String> set = new HashSet<>();
|
|
||||||
set.add(type);
|
|
||||||
return set;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ritorna le istanze delle risorse di un certo tipo
|
* ritorna le istanze delle risorse di un certo tipo
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="d-flex flex-row py-4" id="riga-superiore-controlli">
|
<div class="d-flex flex-row py-4" id="riga-superiore-controlli">
|
||||||
<div id="btn-group" class="col-md-3 mt-3">
|
<div id="btn-group" class="col-md-3 mt-3">
|
||||||
|
|
Loading…
Reference in New Issue