public static CartridgeInfo toCartridgeInfo(Cartridge cartridge) { CartridgeInfo carInfo = new CartridgeInfo(); carInfo.setType(cartridge.getType()); carInfo.setDisplayName(cartridge.getDisplayName()); carInfo.setDescription(cartridge.getDescription()); carInfo.setHostName(cartridge.getHostName()); carInfo.setDeploymentDirs(cartridge.getDeploymentDirs()); carInfo.setProvider(cartridge.getProvider()); carInfo.setVersion(cartridge.getVersion()); carInfo.setMultiTenant(cartridge.isMultiTenant()); carInfo.setBaseDir(cartridge.getBaseDir()); carInfo.setLbConfig(cartridge.getLbConfig()); carInfo.setDefaultAutoscalingPolicy(cartridge.getDefaultAutoscalingPolicy()); carInfo.setDefaultDeploymentPolicy(cartridge.getDefaultDeploymentPolicy()); carInfo.setPortMappings( cartridge.getPortMappings().toArray(new PortMapping[cartridge.getPortMappings().size()])); carInfo.setAppTypes( cartridge.getAppTypeMappings().toArray(new AppType[cartridge.getAppTypeMappings().size()])); List<Property> propList = new ArrayList<Property>(); carInfo.setPersistence(cartridge.getPersistence()); for (Iterator<?> iterator = cartridge.getProperties().entrySet().iterator(); iterator.hasNext(); ) { @SuppressWarnings("unchecked") Map.Entry<String, String> entry = (Entry<String, String>) iterator.next(); Property prop = new Property(entry.getKey(), entry.getValue()); propList.add(prop); } Property[] props = new Property[propList.size()]; carInfo.setProperties(propList.toArray(props)); return carInfo; }