/* * Copyright 2016 Nokia Solutions and Networks * Licensed under the Apache License, Version 2.0, * see license.txt file for details. */ package org.robotframework.ide.eclipse.main.plugin.project; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.StringWriter; import java.nio.charset.StandardCharsets; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.rf.ide.core.project.RobotProjectConfig; import org.rf.ide.core.project.RobotProjectConfigWriter; import org.robotframework.ide.eclipse.main.plugin.model.RobotProject; public class RedEclipseProjectConfigWriter extends RobotProjectConfigWriter { public void writeConfiguration(final RobotProjectConfig configuration, final RobotProject robotProject) { writeConfiguration(configuration, robotProject.getProject()); } public void writeConfiguration(final RobotProjectConfig configuration, final IProject project) { try { final StringWriter writer = new StringWriter(512); writeConfiguration(configuration, writer); final IFile configFile = project.getFile(RobotProjectConfig.FILENAME); final InputStream source = new ByteArrayInputStream(writer.toString().getBytes(StandardCharsets.UTF_8)); if (!configFile.exists()) { configFile.create(source, true, null); } else { configFile.setContents(source, true, true, null); } } catch (final CoreException e) { throw new CannotWriteProjectConfigurationException( "Unable to write configuration file for '" + project.getName() + "' project", e); } } }