
gdt.jgui.entity.node.JNodeFacetOpenItem Maven / Gradle / Ivy
package gdt.jgui.entity.node;
/*
* Copyright 2016 Alexander Imas
* This file is part of JEntigrator.
JEntigrator is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
JEntigrator is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with JEntigrator. If not, see .
*/
import java.util.Properties;
import java.util.logging.Logger;
import javax.swing.JPopupMenu;
import gdt.data.entity.BaseHandler;
import gdt.data.entity.EdgeHandler;
import gdt.data.entity.EntityHandler;
import gdt.data.entity.FacetHandler;
import gdt.data.entity.NodeHandler;
import gdt.data.entity.facet.ExtensionHandler;
import gdt.data.entity.facet.FieldsHandler;
import gdt.data.grain.Locator;
import gdt.data.grain.Sack;
import gdt.data.grain.Support;
import gdt.data.store.Entigrator;
import gdt.jgui.console.JConsoleHandler;
import gdt.jgui.console.JContext;
import gdt.jgui.console.JFacetOpenItem;
import gdt.jgui.console.JMainConsole;
import gdt.jgui.console.JRequester;
import gdt.jgui.entity.JEntityFacetPanel;
import gdt.jgui.entity.edge.JBondsPanel;
import gdt.jgui.entity.fields.JFieldsFacetOpenItem;
public class JNodeFacetOpenItem extends JFieldsFacetOpenItem {
private static final long serialVersionUID = 1L;
public JNodeFacetOpenItem(){
super();
}
@Override
public String getLocator(){
Properties locator=new Properties();
locator.setProperty(Locator.LOCATOR_TITLE,"Node");
locator.setProperty(BaseHandler.HANDLER_CLASS,JNodeFacetOpenItem.class.getName());
locator.setProperty(BaseHandler.HANDLER_SCOPE,JConsoleHandler.CONSOLE_SCOPE);
locator.setProperty(BaseHandler.HANDLER_METHOD,METHOD_OPEN_FACET);
locator.setProperty(BaseHandler.HANDLER_LOCATION,NodeHandler.EXTENSION_KEY);
locator.setProperty( JContext.CONTEXT_TYPE,"Node facet");
locator.setProperty(Locator.LOCATOR_TITLE,"Node");
locator.setProperty(FACET_HANDLER_CLASS,NodeHandler.class.getName());
if(entityKey$!=null)
locator.setProperty(EntityHandler.ENTITY_KEY,entityKey$);
if(entihome$!=null){
locator.setProperty(Entigrator.ENTIHOME,entihome$);
Entigrator entigrator=console.getEntigrator(entihome$);
// String icon$=Support.readHandlerIcon(JNodeEditor.class, "node.png");
String icon$=ExtensionHandler.loadIcon(entigrator, NodeHandler.EXTENSION_KEY, "node.png");
if(icon$!=null)
locator.setProperty(Locator.LOCATOR_ICON,icon$);
locator.setProperty(Locator.LOCATOR_CHECKABLE,Locator.LOCATOR_TRUE);
}
return Locator.toString(locator);
}
@Override
public String getFacetName() {
return "Node";
}
@Override
public String getFacetIcon() {
//return Support.readHandlerIcon(JNodeFacetOpenItem.class, "node.png");
Entigrator entigrator=console.getEntigrator(entihome$);
return ExtensionHandler.loadIcon(entigrator,EdgeHandler.EXTENSION_KEY,"node.png");
}
@Override
public void openFacet(JMainConsole console,String locator$) {
try{
// System.out.println("JAddressFacetOpenItem:openFacet:locator="+locator$);
Properties locator=Locator.toProperties(locator$);
String entihome$=locator.getProperty(Entigrator.ENTIHOME);
String entityKey$=locator.getProperty(EntityHandler.ENTITY_KEY);
String responseLocator$=getLocator();
Properties responseLocator=Locator.toProperties(responseLocator$);
responseLocator.setProperty(Entigrator.ENTIHOME, entihome$);
responseLocator.setProperty(EntityHandler.ENTITY_KEY, entityKey$);
responseLocator.setProperty(BaseHandler.HANDLER_METHOD, JFacetOpenItem.METHOD_RESPONSE);
//
JEntityFacetPanel efp=new JEntityFacetPanel();
String efpLocator$=efp.getLocator();
efpLocator$=Locator.append(efpLocator$, Entigrator.ENTIHOME, entihome$);
efpLocator$=Locator.append(efpLocator$, EntityHandler.ENTITY_KEY, entityKey$);
efpLocator$=Locator.append(efpLocator$, JRequester.REQUESTER_ACTION, ACTION_DISPLAY_FACETS);
responseLocator.setProperty(JRequester.REQUESTER_RESPONSE_LOCATOR, Locator.compressText(efpLocator$));
//
responseLocator$=Locator.toString(responseLocator);
String requesterResponseLocator$=Locator.compressText(responseLocator$);
JBondsPanel bondsPanel=new JBondsPanel();
String bpLocator$=bondsPanel.getLocator();
bpLocator$=Locator.append(bpLocator$, Entigrator.ENTIHOME, entihome$);
bpLocator$=Locator.append(bpLocator$, EntityHandler.ENTITY_KEY, entityKey$);
bpLocator$=Locator.append(bpLocator$, JRequester.REQUESTER_RESPONSE_LOCATOR, requesterResponseLocator$);
bpLocator$=Locator.append(bpLocator$, BaseHandler.HANDLER_METHOD,"instantiate");
JConsoleHandler.execute(console, bpLocator$);
}catch(Exception e){
Logger.getLogger(getClass().getName()).severe(e.toString());
}
}
@Override
public String getFacetRenderer() {
return JNodeEditor.class.getName();
}
@Override
public FacetHandler getFacetHandler() {
return new NodeHandler();
}
@Override
public JPopupMenu getPopupMenu(final String digestLocator$) {
//System.out.println("JFieldsFacetOpenItem:edit:digest locator="+Locator.remove(digestLocator$, Locator.LOCATOR_ICON));
return super.getPopupMenu(digestLocator$);
}
@Override
public void response(JMainConsole console, String locator$) {
// System.out.println("JAddressFacetOpenItem:responce:locator="+locator$);
super.response(console,locator$);
}
@Override
public boolean isRemovable() {
try{
entihome$=Locator.getProperty(locator$, Entigrator.ENTIHOME);
entityKey$=Locator.getProperty(locator$,EntityHandler.ENTITY_KEY);
Entigrator entigrator=console.getEntigrator(entihome$);
Sack entity =entigrator.getEntityAtKey(entityKey$);
if("node".equals(entity.getProperty("entity")))
return false;
return true;
}catch(Exception e){
Logger.getLogger(getClass().getName()).severe(e.toString());
return false;
}
}
@Override
public void removeFacet() {
try{
Entigrator entigrator=console.getEntigrator(entihome$);
Sack entity =entigrator.getEntityAtKey(entityKey$);
if("node".equals(entity.getProperty("entity")))
return ;
entity.removeElementItem("fhandler", NodeHandler.class.getName());
entity.removeElementItem("jfacet", NodeHandler.class.getName());
entity.removeElement("bond");
entity.removeElement("edge");
entigrator.save(entity);
entigrator.ent_takeOffProperty(entity, "node");
}catch(Exception e){
Logger.getLogger(getClass().getName()).severe(e.toString());
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy