package org.erlide.project.buildpath.convert; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.eclipse.xtext.xbase.lib.Conversions; import org.eclipse.xtext.xbase.lib.InputOutput; import org.erlide.project.buildpath.BuildpathApp; import org.erlide.project.buildpath.BuildpathEntry; import org.erlide.project.buildpath.BuildpathFolder; import org.erlide.project.buildpath.BuildpathLibrary; import org.erlide.project.buildpath.convert.OldErlangProjectProperties; import org.erlide.project.buildpath.convert.OldProjectBuildpathConverter; import org.erlide.project.buildpath.convert.OpbTestContentProvider; import org.erlide.project.buildpath.convert.PathExpander; import org.junit.Before; import org.junit.Test; @SuppressWarnings("all") public class OldProjectBuildpathConverterTest { private PathExpander expander; private Collection<IPath> externals; @Before public void prepare() { OpbTestContentProvider _opbTestContentProvider = new OpbTestContentProvider(); PathExpander _pathExpander = new PathExpander(_opbTestContentProvider); this.expander = _pathExpander; Path _path = new Path("foo"); HashMap<String, String> _newHashMap = CollectionLiterals.<String, String>newHashMap(); Collection<IPath> _expandFile = this.expander.expandFile(_path, _newHashMap); this.externals = _expandFile; } @Test public void emptyProperties() { final OldErlangProjectProperties props = new OldErlangProjectProperties(); final OldProjectBuildpathConverter converter = new OldProjectBuildpathConverter(); ArrayList<String> _newArrayList = CollectionLiterals.<String>newArrayList("foo", "bar"); final BuildpathEntry entry = converter.convert(props, "projname", _newArrayList, this.externals); String _debugPrint = this.debugPrint(entry); InputOutput.<String>println(_debugPrint); } @Test public void demoProperties() { final OldErlangProjectProperties props = new OldErlangProjectProperties(); Path _path = new Path("s1"); Path _path_1 = new Path("s2"); IPath[] paths = ((IPath[])Conversions.unwrapArray(CollectionLiterals.<IPath>newArrayList(_path, _path_1), IPath.class)); final IPath[] _converted_paths = (IPath[])paths; props.setSourceDirs(((Collection<IPath>)Conversions.doWrapArray(_converted_paths))); Path _path_2 = new Path("i1/i1"); Path _path_3 = new Path("i2"); ArrayList<IPath> _newArrayList = CollectionLiterals.<IPath>newArrayList(_path_2, _path_3); paths = ((IPath[])Conversions.unwrapArray(_newArrayList, IPath.class)); final OldProjectBuildpathConverter converter = new OldProjectBuildpathConverter(); final IPath[] _converted_paths_1 = (IPath[])paths; props.setIncludeDirs(((Collection<IPath>)Conversions.doWrapArray(_converted_paths_1))); ArrayList<String> _newArrayList_1 = CollectionLiterals.<String>newArrayList("bar"); final BuildpathEntry entry = converter.convert(props, "projname", _newArrayList_1, this.externals); String _debugPrint = this.debugPrint(entry); InputOutput.<String>println(_debugPrint); } private String _debugPrint(final BuildpathLibrary container) { StringConcatenation _builder = new StringConcatenation(); _builder.append("LIB \'�container.name�\' {"); _builder.newLine(); _builder.append("\t"); _builder.append("�FOR e: container.apps�"); _builder.newLine(); _builder.append("\t\t"); _builder.append("�e.debugPrint�"); _builder.newLine(); _builder.append("\t"); _builder.append("�ENDFOR�"); _builder.newLine(); _builder.append("\t"); _builder.append("�FOR e: container.libraries�"); _builder.newLine(); _builder.append("\t\t"); _builder.append("�e.debugPrint�"); _builder.newLine(); _builder.append("\t"); _builder.append("�ENDFOR�"); _builder.newLine(); _builder.append("}"); _builder.newLine(); return _builder.toString(); } private String _debugPrint(final BuildpathApp container) { StringConcatenation _builder = new StringConcatenation(); _builder.append("APP {"); _builder.newLine(); _builder.append("\t"); _builder.append("�FOR e: container.folders�"); _builder.newLine(); _builder.append("\t\t"); _builder.append("�e.debugPrint�"); _builder.newLine(); _builder.append("\t"); _builder.append("�ENDFOR�"); _builder.newLine(); _builder.append("}"); _builder.newLine(); return _builder.toString(); } private String _debugPrint(final BuildpathFolder folder) { StringConcatenation _builder = new StringConcatenation(); _builder.append("�folder.kind� path=\'�folder.path�\' inc=�folder.inclusionPatterns� exc=�folder.exclusionPatterns�"); _builder.newLine(); return _builder.toString(); } private String debugPrint(final BuildpathEntry container) { if (container instanceof BuildpathApp) { return _debugPrint((BuildpathApp)container); } else if (container instanceof BuildpathFolder) { return _debugPrint((BuildpathFolder)container); } else if (container instanceof BuildpathLibrary) { return _debugPrint((BuildpathLibrary)container); } else { throw new IllegalArgumentException("Unhandled parameter types: " + Arrays.<Object>asList(container).toString()); } } }