Skip to content

Commit

Permalink
fix import of smpcat files to xsmpcat
Browse files Browse the repository at this point in the history
  • Loading branch information
ydaveluy committed Jan 29, 2025
1 parent af36090 commit d450e7c
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.progress.IProgressConstants2;
import org.eclipse.xsmp.tool.smp.generator.SmpOutputConfigurationProvider;
import org.eclipse.xsmp.tool.smp.importer.SmpImporter;
import org.eclipse.xsmp.tool.smp.util.SmpResourceFactoryImpl;
import org.eclipse.xsmp.tool.smp.util.SmpResourceSet;
Expand Down Expand Up @@ -269,7 +270,8 @@ public void run()
}
}

fsa.setOutputPath(model.getParent().getLocation().toFile().getAbsolutePath());
fsa.setOutputPath(SmpOutputConfigurationProvider.SMDL_GEN,
model.getParent().getLocation().toFile().getAbsolutePath());

monitor.subTask("Converting the Catalogue ...");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.xsmp.cli.XsmpCli;
import org.eclipse.xsmp.tool.smp.SmpStandaloneSetup;
import org.eclipse.xsmp.tool.smp.generator.SmpOutputConfigurationProvider;
import org.eclipse.xsmp.tool.smp.importer.SmpImporter;
import org.eclipse.xsmp.tool.smp.util.SmpResourceSet;
import org.eclipse.xsmp.validation.XsmpcatValidator;
Expand Down Expand Up @@ -72,7 +73,7 @@ protected ResourceSet createResourceSet(CommandLine cmd)
resourceServiceProvider = smpcatResourceServiceProvider;
// replace the generator with the smpcat importer
generator = importer;
fileAccess.setOutputPath("smdl");
fileAccess.setOutputPath(SmpOutputConfigurationProvider.SMDL_GEN, "smdl-gen");
XsmpCli.LOG.info("Done.");
return rs;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ import org.eclipse.xsmp.tool.smp.core.types.Value
import org.eclipse.xsmp.util.XsmpUtil
import org.eclipse.xtext.generator.GeneratorDelegate
import org.eclipse.xtext.generator.IGeneratorContext
import org.eclipse.xsmp.tool.smp.generator.SmpOutputConfigurationProvider

class SmpImporter extends GeneratorDelegate {

Expand All @@ -102,18 +103,17 @@ class SmpImporter extends GeneratorDelegate {
// create result resource
val rs = new XtextResourceSet
val filename = resource.URI.trimFileExtension.appendFileExtension("xsmpcat").lastSegment
var r = rs.createResource(fsa.getURI(filename))
var r = rs.createResource(fsa.getURI(filename, SmpOutputConfigurationProvider.SMDL_GEN))

// convert the smpcat model to xsmpcat
var result = resource.contents.get(0).generate.toString
val in = new ByteArrayInputStream(result.bytes);
try {
r.load(in, rs.getLoadOptions());

// save the result with format option
r.save(SaveOptions.newBuilder.format.options.toOptionsMap)
} catch (Exception e) {
fsa.generateFile(filename, result)
fsa.generateFile(filename, SmpOutputConfigurationProvider.SMDL_GEN, result)
}
}

Expand Down

0 comments on commit d450e7c

Please sign in to comment.