/* * Licensed Materials - Property of Rogue Wave Software, Inc. * © Copyright Rogue Wave Software, Inc. 2014, 2015 * © Copyright IBM Corp. 2009, 2014 * © Copyright ILOG 1996, 2009 * All Rights Reserved. * * Note to U.S. Government Users Restricted Rights: * The Software and Documentation were developed at private expense and * are "Commercial Items" as that term is defined at 48 CFR 2.101, * consisting of "Commercial Computer Software" and * "Commercial Computer Software Documentation", as such terms are * used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4, * as applicable. */ package demo; import ilog.views.diagrammer.IlvDiagrammer; import ilog.views.diagrammer.faces.dhtml.component.IlvFacesDiagrammerPropertyAccessor; import ilog.views.sdm.IlvSDMModel; import java.util.ArrayList; /** * Server side bean used to provide the list of properties and values for the selected item. */ public class SelectionProviderBean { /** Computes and returns the list of properties for the node (select interactor use). * @param diagrammer Diagrammer instance * @param node node to retrieve properties for. * @return the list of properties for the node. */ public ArrayList getAdditionnalProperties(IlvDiagrammer diagrammer, Object node) { if (diagrammer.getView().getManager().getSelectedObjectsCount() == 1) { ArrayList props = new ArrayList(); IlvSDMModel model = diagrammer.getEngine().getModel(); String names[] = model.getObjectPropertyNames(node); for (int i = 0; i < names.length; i++) { ArrayList l = new ArrayList(); l.add(names[i]); l.add(model.getObjectProperty(node, names[i])); props.add(l); } return props; } // no selected object or more that one return null; } private IlvFacesDiagrammerPropertyAccessor accessor = new IlvFacesDiagrammerPropertyAccessor(); /** * Returns a {@link IlvFacesDiagrammerPropertyAccessor} to access the properties objects. * @return the default accessor to retrieve properties. */ public IlvFacesDiagrammerPropertyAccessor getPropertyAccessor() { return accessor; } }