public void processCommand(String command) {
if (command.startsWith("load ")) {
File f = FileSerializer.readFromString(command.substring(5), CurrentPathProvider.currentPathProvider
.getCurrentPath());
if (f.exists()) {
Plugin p = getPluginToProcessFile(f, Plugin.OPEN, null);
if (p == null) {
System.err.println(messageWriter.print1args("fileLoadFailed", f.getAbsolutePath()));
return;
}
p.processFile(f, Plugin.OPEN);
} else {
System.err.println(messageWriter.print1args("fileLoadFailed", f.getAbsolutePath()));
}
return;
}
if (command.startsWith("paper ")) {
String paperName = command.substring(6);
boolean res = setPaper(paperName);
if (res) {
return;
}
System.err.println(messageWriter.print1args("unknownPaper", paperName));
System.err.print(messageWriter.print0args("knownPapers"));
String[] knownPapers = getKnownPapers();
if (knownPapers != null) {
for (int i = 0; i < knownPapers.length; ++i) {
System.err.print(knownPapers[i] + (i == (knownPapers.length - 1) ? "" : ", "));
}
}
System.err.println();
return;
}
if (command.startsWith("orientation ")) {
String orientation = command.substring(12);
if (!setOrientation(orientation)) {
System.err.println(messageWriter.print1args("unknownOrientation", orientation));
System.err.print(messageWriter.print0args("knownOrientations"));
System.err.println("portrait landscape reverseLandscape");
return;
}
return;
}
if (command.startsWith("transform ")) {
String actionType = command.substring(10);
if (!actionType.equals("")) {
// synoptic transformation
boolean canTransformSynoptics = false;
for (int i = 0; i < getNumberOfPages(); i++) {
ShapesContainer sc = ((ShapesContainer) containers.get(i));
for (int j = 0; j < Run.plugins.size(); ++j) {
Plugin p = (Plugin) Run.plugins.get(j);
canTransformSynoptics |= p.processSynoptic(sc, actionType, false);
}
}
// data transformation
boolean canTransformData = false;
Set dataSourceCollections = DataSourcePool.global.dataSourceCollections();
for(Iterator it=dataSourceCollections.iterator(); it.hasNext();){
DataSourceCollection dsc = (DataSourceCollection)it.next();
for (int j = 0; j < Run.plugins.size(); ++j) {
Plugin p = (Plugin) Run.plugins.get(j);
canTransformData |= p.processDataSourceCollection(dsc, actionType);
}
}
// Display result message