X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics%2Fsrc%2Forg%2Fsimantics%2FSCLScriptRunnerApplication.java;h=7919710ff1fcdc2595a937e82e3dbf738d295a6d;hb=8d11ebc5a0d82e3e602d521d29a29e5cd78bc2a1;hp=5412722f6b0c72d3350d075491adcc60c05ba26d;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics/src/org/simantics/SCLScriptRunnerApplication.java b/bundles/org.simantics/src/org/simantics/SCLScriptRunnerApplication.java index 5412722f6..7919710ff 100644 --- a/bundles/org.simantics/src/org/simantics/SCLScriptRunnerApplication.java +++ b/bundles/org.simantics/src/org/simantics/SCLScriptRunnerApplication.java @@ -1,72 +1,73 @@ -package org.simantics; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.equinox.app.IApplication; -import org.eclipse.equinox.app.IApplicationContext; -import org.simantics.application.arguments.Arguments; -import org.simantics.application.arguments.IArgumentFactory; -import org.simantics.application.arguments.IArguments; -import org.simantics.application.arguments.SimanticsArguments; -import org.simantics.scl.compiler.commands.CommandSession; -import org.simantics.scl.osgi.SCLOsgi; -import org.simantics.scl.runtime.reporting.SCLReportingHandler; - -public class SCLScriptRunnerApplication implements IApplication { - - @Override - public Object start(IApplicationContext context) throws Exception { - try { - String[] args = (String[])context.getArguments().get("application.args"); - IProgressMonitor progress = new NullProgressMonitor(); - Simantics.startUpHeadless(parseArguments(args), progress); - runSCLFromStdin(); - Simantics.shutdown(progress); - return IApplication.EXIT_OK; - } catch(Throwable t) { - t.printStackTrace(); - throw (Exception)t; - } finally { - System.exit(0); - } - } - - private void runSCLFromStdin() throws Exception { - BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); - CommandSession commandSession = new CommandSession(SCLOsgi.MODULE_REPOSITORY, - SCLReportingHandler.DEFAULT_WITHOUT_ECHO); - try { - while(true) { - String line = input.readLine(); - if(line == null) - break; - if(line.isEmpty()) - continue; - commandSession.execute(line); - } - } catch(IOException e) { - e.printStackTrace(); - } - } - - private IArguments parseArguments(String[] args) { - IArgumentFactory[] accepted = { - SimanticsArguments.RECOVERY_POLICY_FIX_ERRORS, - SimanticsArguments.ONTOLOGY_RECOVERY_POLICY_REINSTALL, - SimanticsArguments.SERVER, - SimanticsArguments.LOCAL_SERVER_PORT, - SimanticsArguments.DATABASE_ID, - }; - IArguments result = Arguments.parse(args, accepted); - return result; - } - - @Override - public void stop() { - } - -} +package org.simantics; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.equinox.app.IApplication; +import org.eclipse.equinox.app.IApplicationContext; +import org.simantics.application.arguments.Arguments; +import org.simantics.application.arguments.IArgumentFactory; +import org.simantics.application.arguments.IArguments; +import org.simantics.application.arguments.SimanticsArguments; +import org.simantics.scl.compiler.commands.CommandSession; +import org.simantics.scl.osgi.SCLOsgi; +import org.simantics.scl.runtime.reporting.SCLReportingHandler; + +public class SCLScriptRunnerApplication implements IApplication { + + @Override + public Object start(IApplicationContext context) throws Exception { + try { + String[] args = (String[])context.getArguments().get("application.args"); + IProgressMonitor progress = new NullProgressMonitor(); + Simantics.startUpHeadless(parseArguments(args), progress); + runSCLFromStdin(); + Simantics.shutdown(progress); + return IApplication.EXIT_OK; + } catch(Throwable t) { + t.printStackTrace(); + throw (Exception)t; + } finally { + System.exit(0); + } + } + + private void runSCLFromStdin() throws Exception { + BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); + CommandSession commandSession = new CommandSession(SCLOsgi.MODULE_REPOSITORY, + SCLReportingHandler.DEFAULT_WITHOUT_ECHO); + try { + while(true) { + String line = input.readLine(); + if(line == null) + break; + if(line.isEmpty()) + continue; + commandSession.execute(line); + } + } catch(IOException e) { + e.printStackTrace(); + } + } + + private IArguments parseArguments(String[] args) { + IArgumentFactory[] accepted = { + SimanticsArguments.RECOVERY_POLICY_FIX_ERRORS, + SimanticsArguments.ONTOLOGY_RECOVERY_POLICY_REINSTALL, + SimanticsArguments.SERVER, + SimanticsArguments.LOCAL_SERVER_PORT, + SimanticsArguments.DISABLE_INDEX, + SimanticsArguments.DATABASE_ID, + }; + IArguments result = Arguments.parse(args, accepted); + return result; + } + + @Override + public void stop() { + } + +}