public void actionPerformed(ActionEvent e) { String recordName = e.getActionCommand(); Console.getInstance().println("CosyBeansPlugin action: " + recordName); // TBD: special case for "Show all..." -> should have other handler, etc... Group root = Group.getRoot(); if (root == null) { Console.getInstance().println("CosyBeansPlugin: failed to find database."); return; } // search for record object Record record = (Record) root.findObject(recordName, true); if (record == null) { Console.getInstance() .println("CosyBeansPlugin: failed to find '" + recordName + "' record."); return; } // search for record definition object DBDRecordData recordDefinition = DataProvider.getInstance().getDbdDB().getDBDRecordData(record.getRecordData().getType()); if (recordDefinition == null) { Console.getInstance() .println( "CosyBeansPlugin: failed to find '" + record.getRecordData().getType() + "' record definition."); return; } // find VAL field DBDFieldData fieldData = recordDefinition.getDBDFieldData("VAL"); if (fieldData == null) { Console.getInstance() .println( "CosyBeansPlugin: failed to find VAL field in '" + record.getRecordData().getType() + "' record definition."); return; } // String channelType = getFieldType(fieldData.getField_type()); // call abeans }
/** * This method was created in VisualAge. * * @param dbd DBDData */ public String getDTYPLinkType() { // !!!! what if this is a template record !!! VDBFieldData dtypField = (VDBFieldData) (fields.get("DTYP")); if (dtypField == null) { System.out.println( "Error: Record " + name + " does not have DTYP field! Assuming CONSTANT link type."); return null; } if (dtypField.getValue().equals(com.cosylab.vdct.Constants.NONE)) return null; // if (dtypField.getValue().indexOf("$")!=-1) return null; DBDDeviceData dev = (DBDDeviceData) (DataProvider.getInstance() .getDbdDB() .getDBDDeviceData(record_type + "/" + dtypField.getValue())); if (dev == null) return null; return dev.getLink_type(); }