Skip to content

Commit

Permalink
Pass the Map<String,String> of prefixes instead of the prefix manager in
Browse files Browse the repository at this point in the history
the console environment.
  • Loading branch information
johardi committed Jul 31, 2014
1 parent 8e390b1 commit 5a73089
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 25 deletions.
19 changes: 11 additions & 8 deletions src/com/obidea/semantika/cli2/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import jline.Terminal;

Expand Down Expand Up @@ -47,27 +49,28 @@ private void initialize(String config)
System.out.print("Initializing..."); //$NON-NLS-1$
try {
ApplicationManager manager = new ApplicationFactory().configure(config).createApplicationManager();
openConsole(manager.createQueryEngine(),
manager.getSettings().getPrefixManager(),
manager.getSettings().getApplicationFactoryName());
openConsole(manager.getApplicationName(),
manager.createQueryEngine(),
manager.getPrefixManager());
}
catch (Exception e) {
System.err.println(e.getMessage());
}
}

private void openConsole(IQueryEngine engine, IPrefixManager pm, String name) throws Exception
private void openConsole(String consoleName, IQueryEngine engine, IPrefixManager pm) throws Exception
{
final TerminalFactory terminalFactory = new TerminalFactory();
Console console = createInteractiveConsole(name, engine, pm, terminalFactory.get());
TerminalFactory terminalFactory = new TerminalFactory();
Map<String, String> prefixes = new HashMap<String, String>(pm.getPrefixMapper());
Console console = createInteractiveConsole(consoleName, engine, prefixes, terminalFactory.get());
console.run();
}

private Console createInteractiveConsole(String name, IQueryEngine engine, IPrefixManager pm,
private Console createInteractiveConsole(String name, IQueryEngine engine, Map<String, String> prefixes,
Terminal terminal) throws IOException
{
showBanner();
return new Console(name, engine, pm, terminal);
return new Console(name, engine, prefixes, terminal);
}

private void showBanner()
Expand Down
4 changes: 2 additions & 2 deletions src/com/obidea/semantika/cli2/command/SelectCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ public Object execute() throws Exception
private String createSelectQuery()
{
StringBuilder sb = new StringBuilder();
for (String prefix : mSession.getPrefixMapper().keySet()) {
sb.append(format("PREFIX %s: <%s>", prefix, mSession.getPrefixMapper().get(prefix)));
for (String prefix : mSession.getPrefixes().keySet()) {
sb.append(format("PREFIX %s: <%s>", prefix, mSession.getPrefixes().get(prefix)));
sb.append("\n");
}
sb.append(mCommand);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public SetPrefixCommand(String command, ConsoleSession session) throws InvalidSy
@Override
public Object execute() throws Exception
{
mSession.getPrefixMapper().put(mPrefix, mNamespace);
mSession.getPrefixes().put(mPrefix, mNamespace);
return "Prefix added."; //$NON-NLS-1$
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public ShowPrefixesCommand(String command, ConsoleSession session)
@Override
public Object execute() throws Exception
{
return mSession.getPrefixMapper();
return mSession.getPrefixes();
}

@Override
Expand Down
12 changes: 6 additions & 6 deletions src/com/obidea/semantika/cli2/runtime/Console.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import java.io.InputStream;
import java.io.InterruptedIOException;
import java.io.PrintStream;
import java.util.Map;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;

Expand All @@ -13,7 +14,6 @@
import jline.console.history.FileHistory;
import jline.console.history.PersistentHistory;

import com.obidea.semantika.knowledgebase.IPrefixManager;
import com.obidea.semantika.queryanswer.IQueryEngine;

public class Console
Expand All @@ -36,20 +36,20 @@ public class Console
private ConsoleReader mConsoleReader;
private ConsoleSession mConsoleSession;

public Console(String name, IQueryEngine engine, IPrefixManager pm, Terminal terminal) throws IOException
public Console(String name, IQueryEngine engine, Map<String, String> prefixes, Terminal terminal) throws IOException
{
this(name, engine, pm, System.in, System.out, System.err, terminal);
this(name, engine, prefixes, System.in, System.out, System.err, terminal);
}

public Console(String name, IQueryEngine engine, IPrefixManager pm, InputStream inputSource, PrintStream outputTarget,
PrintStream errorTarget, Terminal terminal) throws IOException
public Console(String name, IQueryEngine engine, Map<String, String> prefixes, InputStream inputSource,
PrintStream outputTarget, PrintStream errorTarget, Terminal terminal) throws IOException
{
mConsoleName = name;
mInputStream = inputSource;
mOutputStream = outputTarget;
mErrorStream = errorTarget;
mConsoleReader = createConsoleReader(name, terminal);
mConsoleSession = new ConsoleSession(engine, pm);
mConsoleSession = new ConsoleSession(engine, prefixes);
mPipeThread = new Thread(new Pipe());
mPipeThread.setDaemon(true);
}
Expand Down
12 changes: 5 additions & 7 deletions src/com/obidea/semantika/cli2/runtime/ConsoleSession.java
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
package com.obidea.semantika.cli2.runtime;

import java.util.HashMap;
import java.util.Map;

import com.obidea.semantika.cli2.command.Command;
import com.obidea.semantika.cli2.command.CommandFactory;
import com.obidea.semantika.knowledgebase.IPrefixManager;
import com.obidea.semantika.queryanswer.IQueryEngine;

public class ConsoleSession
{
private IQueryEngine mQueryEngine;
private Map<String, String> mPrefixMapper;
private Map<String, String> mPrefixes;

private Command mCommand;

public ConsoleSession(IQueryEngine engine, IPrefixManager prefixManager)
public ConsoleSession(IQueryEngine engine, Map<String, String> prefixes)
{
mQueryEngine = engine;
mPrefixMapper = new HashMap<String, String>(prefixManager.getPrefixMapper());
mPrefixes = prefixes;
}

public void start() throws Exception
Expand All @@ -31,9 +29,9 @@ public IQueryEngine getQueryEngine()
return mQueryEngine;
}

public Map<String, String> getPrefixMapper()
public Map<String, String> getPrefixes()
{
return mPrefixMapper;
return mPrefixes;
}

public Object execute(String command) throws Exception
Expand Down

0 comments on commit 5a73089

Please sign in to comment.