/*
* Licensed Materials - Property of Rogue Wave Software, Inc.
* © Copyright Rogue Wave Software, Inc. 2014, 2017
* © 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.select;
import javax.servlet.ServletException;
import ilog.views.diagrammer.IlvDiagrammer;
import ilog.views.diagrammer.servlet.IlvDiagrammerServletSupport;
import ilog.views.sdm.IlvSDMEngine;
import ilog.views.sdm.IlvSDMView;
import ilog.views.servlet.ServerActionEvent;
import ilog.views.servlet.ServerActionListener;
/**
* Implements a server side action listener to perform the selection of a given
* object identifier, if any.
*/
public class SelectObjectAction implements ServerActionListener {
private static String ACTION_NAME = "doSelectObject";
/**
* This callback method will react to the <code>doSelectObject</code> action
* name submitted by the client side (<code>IlvView.performAction()</code>
* JavaScript function).
*
* @param event
* The server action event carrying the action payload
*/
Override
public void actionPerformed(ServerActionEvent event) throws ServletException {
if (ACTION_NAME.equals(event.getActionName())) {
IlvSDMView view = (IlvSDMView) event.getManagerView();
IlvDiagrammer diagrammer = ((IlvDiagrammerServletSupport) event.getServletSupport()).getDiagrammer(view);
String objId = event.getStringParameter(0);
diagrammer.deselectAll();
IlvSDMEngine engine = diagrammer.getEngine();
Object obj = engine.getObject(objId);
if (null != obj) {
diagrammer.setSelected(obj, true);
}
}
}
}