// Display the wait cursor
ApplicationUtil.waitCursorOn();
try
{
ModelQualifier qualifier = null;
if (o instanceof String)
{
qualifier = new ModelQualifier((String) o);
qualifier.setItemType(ItemTypes.PROCESS);
}
if (o instanceof ModelQualifier)
{
// Get the item specified by themodel qualifier
qualifier = (ModelQualifier) o;
}
if (qualifier != null)
{
String itemType = qualifier.getItemType();
if (itemType != null && !itemType.equals(ItemTypes.PROCESS))
{
// Not a processmodel qualifier
return EVENT_IGNORED;
}
qualifier.setItemType(ItemTypes.PROCESS);
try
{
o = ModelConnector.getInstance().getItemByQualifier(qualifier, true);
}
catch (ModelException e)
{
String msg = "The process '" + qualifier + "' does not exist.";
JMsgBox.show(null, msg, JMsgBox.ICON_ERROR);
return EVENT_CONSUMED;
}
}
if (o instanceof ProcessItem)
{
// Open the process
ProcessItem process = (ProcessItem) o;
addModelerView(process, oe.isReadonly());
if (qualifier != null && qualifier.getObjectPath() != null)
{
ModelerPage.this.fireEvent(new QualifierEvent(ModelerPage.this, "modeler.view.select", qualifier));
}
return EVENT_CONSUMED;