protected void processFirmwares() throws SetupException { List<String> filenames = this.getFilenames(); ManagementBeanFactory factory = null; try { factory = this.getManagementBeanFactory(); ModelBean modelBean = factory.createModelBean(); // Import Profile Mappings for (String filename : filenames) { // Process the file, and import data into database. File file = new File(filename); if (!file.isAbsolute()) { file = new File(this.getSetup().getWorkDir(), filename); } this.getSetup() .getConsole() .println(" Loading file [ " + file.getAbsolutePath() + " ]"); List<ManufacturerItem> items = this.loadManufacturerItems(file.getAbsolutePath()); for (ManufacturerItem manufacturerItem : items) { List<ModelItem> modelItems = manufacturerItem.getModels(); Manufacturer manufacturer = modelBean.getManufacturerByExternalID(manufacturerItem.getExternalID()); for (ModelItem modelItem : modelItems) { // Copy information from family this.copyFromFamily(modelItem); Model model = modelBean.getModelByManufacturerModelID(manufacturer, modelItem.getExternalID()); if (!modelItem.getFirmwares().isEmpty()) { this.getSetup() .getConsole() .println( " * Importing Firmwares for [ " + manufacturer.getExternalId() + " " + model.getManufacturerModelId() + " ]"); } for (FirmwareItem firmwareItem : modelItem.getFirmwares()) { File firmwareFile = new File(firmwareItem.getFilename()); if (!firmwareFile.isAbsolute()) { firmwareFile = new File(this.getSetup().getWorkDir(), firmwareItem.getFilename()); } if (!firmwareFile.exists()) { this.getSetup() .getConsole() .println("Could not load firmware from: " + firmwareFile.getAbsolutePath()); continue; } String fromVersion = firmwareItem.getFromVersion(); String toVersion = firmwareItem.getToVersion(); this.importFirmware( manufacturer.getExternalId(), model.getManufacturerModelId(), fromVersion, toVersion, firmwareFile.getAbsolutePath()); } } } } } catch (Exception ex) { throw new SetupException("Error in import models.", ex); } finally { if (factory != null) { factory.release(); } } }