private void convertToKazuki(final File configFile) throws Exception { try (Reader r = new FileReader(configFile); FileInputStream is = new FileInputStream(configFile); Reader fr = new InputStreamReader(is)) { Xpp3DomBuilder.build(r); Configuration configuration = new NexusCapabilitiesConfigurationXpp3Reader().read(fr); List<CCapability> capabilities = configuration.getCapabilities(); if (capabilities != null) { for (final CCapability c : capabilities) { // NEXUS-6349: do not convert outreach related capabilities and let outreach plugin // recreate them if ("OutreachMarkerCapability".equals(c.getTypeId()) || "OutreachManagementCapability".equals(c.getTypeId())) { continue; } Map<String, String> properties = Maps.newHashMap(); if (c.getProperties() != null) { for (final CCapabilityProperty property : c.getProperties()) { properties.put(property.getKey(), property.getValue()); } } capabilityStorage.add( new CapabilityStorageItem( c.getVersion(), c.getTypeId(), c.isEnabled(), c.getNotes(), properties)); } log.info("Converted {} capabilities from capabilities.xml to Kazuki", capabilities.size()); } } }
public Configuration convertFromKazuki() throws IOException { Map<CapabilityIdentity, CapabilityStorageItem> capabilities = capabilityStorage.getAll(); Configuration configuration = new Configuration(); for (Entry<CapabilityIdentity, CapabilityStorageItem> entry : capabilities.entrySet()) { configuration.addCapability(asCCapability(entry.getKey().toString(), entry.getValue())); } return configuration; }
public void convertToKazukiIfNecessary() throws Exception { File configFile = new File(configDir, "capabilities.xml"); if (configFile.exists()) { log.info("Converting capabilities from capabilities.xml to Kazuki..."); // ensure that there are no capabilities in Kazuki checkState( capabilityStorage.getAll().isEmpty(), "Could not upgrade capabilities.xml to Kazuki as Kazuki already contains capabilities"); convertToKazuki(renameCapabilitiesXml(configFile)); } }