//restituisce la lista di utenti
@GET
@Path("/getlistanodi")
@Produces({"application/json", "application/xml"})
public Response getListaNodi() {
return Response.ok(NodiEdge.getInstance()).build();
}
@Path("/add")
@POST
@Consumes({"application/json", "application/xml"})
public Response addNodo(Nodo u) {
NodiEdge.getInstance().addNodo(u);
return Response.ok().build();
}
@Path("/remove/{idnodo}")
@DELETE
@Produces({"application/json", "application/xml"})
public Response removeNodo(@PathParam("idnodo") String id) {
NodiEdge.getInstance().removeNodo(id);
return Response.ok().build();
}
UploadFilter
com.sun.webui.jsf.util.UploadFilter
maxSize
-1
UploadFilter
FacesServlet
FacesServlet
javax.faces.webapp.FacesServlet
1
ThemeServlet
com.sun.webui.theme.ThemeServlet
2
DownloadServlet
org.glassfish.admingui.common.servlet.DownloadServlet
ContentSources
org.glassfish.admingui.common.servlet.LBConfigContentSource,
org.glassfish.admingui.common.servlet.ClientStubsContentSource,
org.glassfish.admingui.common.servlet.LogFilesContentSource
org.glassfish.admingui.common.servlet.LogViewerContentSource
contentSourceId
LBConfig
DownloadServlet
/download/*
FacesServlet
/resource/*
FacesServlet
/html/*
FacesServlet
/faces/*
FacesServlet
*.jsf
ThemeServlet
/theme/*
true
jsp
text/html
/index.jsf
javax.faces.application.ViewExpiredException
/
FORM
admin-realm
/login.jsf
/loginError.jsf
admin
@XmlElement(name="nodi")
private List listaNodi;
private static NodiEdge instance;
private int distNodi;
public NodiEdge() {
listaNodi = new ArrayList();
}
//singleton
public synchronized static NodiEdge getInstance(){
if(instance==null)
instance = new NodiEdge();
return instance;
}
public synchronized List getListaNodi() {
return new ArrayList<>(listaNodi);
}
public synchronized List addNodo(Nodo u)
{
List copiaLista = getListaNodi();
if (listaNodi.size()==0)
listaNodi.add(u);
else {
for (Nodo n : copiaLista) {
if (n.getID().toLowerCase().equals(u.getID().toLowerCase())) {
System.err.println("Inserimento negato! Identificatore già esistente.");
break;
}
else {
distNodi = Math.abs((u.getX() - n.getX()) + (u.getY() - n.getY()));
if (distNodi < 20) {
System.err.println("Inserimento negato! Posizione troppo vicina ad altri nodi.");
break;
} else {
listaNodi.add(u);
System.out.println("ID nodo: " + n.getID() + ", indirizzo IP: " + n.getIPaddress() +
", n° porta: " + n.getPNd());
}
}
}
}
return copiaLista;
}
public synchronized void removeNodo(String id)
{
List copiaLista = getListaNodi();
if (listaNodi.size()==0)
System.err.println("Operazione impossibile! Nessun nodo nella griglia");
else {
for (Nodo n : copiaLista) {
if (!n.getID().toLowerCase().equals(id.toLowerCase()))
System.err.println("Nodo non presente nella griglia.");
else {
listaNodi.remove(n);
System.out.println("Nodo eliminato.");
break;
}
}
}