Skip to content

Commit

Permalink
Merge branch 'development'
Browse files Browse the repository at this point in the history
  • Loading branch information
dkapoor committed Jan 26, 2017
2 parents 1cef7a3 + 4651d88 commit 2b671d1
Show file tree
Hide file tree
Showing 34 changed files with 1,181 additions and 226 deletions.
16 changes: 13 additions & 3 deletions karma-app/build
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,11 @@ mv $CURRENT/target/cluster*.war $CURRENT/target/clusterService.war
cd $CURRENT/target

# download tomcat binary
wget http://apache.cs.utah.edu/tomcat/tomcat-7/v7.0.72/bin/apache-tomcat-7.0.72.zip -O tomcat.zip
wget https://github.com/alseambusher/karma-app-deps/archive/master.zip
unzip master.zip
mv karma-app-deps-master/*.tar.gz karma-app-deps-master/*.zip .
rm -rf karma-app-deps-master master.zip

# TODO if this fails, exit
unzip tomcat.zip
rm tomcat.zip

Expand All @@ -47,16 +49,24 @@ cd $CURRENT/desktop
npm install
npm run prerelease
cd app

tar -xzvf $CURRENT/target/jre*windows*.tar.gz
electron-packager . --platform=win32 --arch=x64 --icon=../resources/icons/karma.ico --overwrite
electron-packager . --platform=linux --arch=x64 --icon=../resources/icons/karma.png --overwrite
rm -rf jre*
tar -xzvf $CURRENT/target/jre*macosx*.tar.gz
electron-packager . --platform=darwin --arch=x64 --icon=../resources/icons/karma.icns --overwrite
rm -rf jre*
tar -xzvf $CURRENT/target/jre*linux*.tar.gz
electron-packager . --platform=linux --arch=x64 --icon=../resources/icons/karma.png --overwrite
rm -rf jre*

cp -rf Karma-darwin* $CURRENT/target/Karma-Mac
cp -rf Karma-linux* $CURRENT/target/Karma-Linux
cp -rf Karma-win* $CURRENT/target/Karma-Windows
rm -rf Karma-*

cd $CURRENT/target
rm *.tar.gz

#put our license
for build_folder in `ls |grep Karma`
Expand Down
25 changes: 20 additions & 5 deletions karma-app/desktop/src/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ var path = require("path");
var fs = require("fs");
var dialogPolyfill = require("dialog-polyfill");
const {ipcRenderer} = require('electron');
var glob = require("glob");

console.log('Loaded environment variables:', env);

Expand All @@ -35,14 +36,27 @@ document.addEventListener('DOMContentLoaded', function () {
log(data);
});

log("Starting Karma...");
karma.start();

function m_launch(){
karma.launch();
log("<b>Launching Karma. Go to <a href='http://localhost:8080'>http://localhost:8080</a> if it doesn't launch.</b>");
}
// Launches Karma in browser after 10 seconds.

// set java home to java shipped with app if JAVA_HOME is not set
karma.getJavaHome((_java_home) => {
if (!_java_home){
glob(path.join(__dirname, "jre*"), (err, files) => {
if (files[0]){
if (fs.existsSync(path.join(files[0], "bin", "java" + (/^win/.test(process.platform) ? ".exe" : "")))) {
karma.setJavaHome(files[0]);
}
}
});
}
});
setTimeout(() => {
log("Starting Karma...");
karma.start();
}, 1000);
setTimeout(m_launch, 10000);
document.getElementById("launch").onclick = m_launch;
document.getElementById("restart").onclick = function(){
Expand All @@ -62,11 +76,11 @@ document.addEventListener('DOMContentLoaded', function () {
document.getElementById("submit_setJavaHome").onclick = function(){
let value = document.getElementById("input_setJavaHome").value;
if (!fs.existsSync(path.join(value, "bin", "java" + (/^win/.test(process.platform) ? ".exe" : "")))) {
// if (!fs.existsSync(value + path.sep + "bin" + path.sep + "java" + (/^win/.test(process.platform) ? ".exe" : ""))) {
document.querySelector("#dialog_setJavaHome .warning").innerHTML = "Invalid path for Java";
setTimeout(() => {dialog_setJavaHome.showModal();}, 1000);
} else {
karma.setJavaHome(value);
log("Your JAVA_HOME is set. Restart karma.");
}
};

Expand Down Expand Up @@ -117,6 +131,7 @@ document.addEventListener('DOMContentLoaded', function () {
dialog_setJavaHome.showModal();
});
});

});


Expand Down
11 changes: 9 additions & 2 deletions karma-app/desktop/src/karma.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ exports.start = function(){
process.env.JAVA_HOME = _java_home;
process.env.JRE_HOME = _java_home;
}
exec(exports.tomcat.startcmd, options, function(error, stdout, stderr) {
// cd to catalina_home in windows and it doesnt work in some machines
let cmd = (/^win/.test(process.platform) ? 'cd /D ' + options.cwd + ' & ' : '') + exports.tomcat.startcmd;
exec(cmd, options, function(error, stdout, stderr) {
console.log(error);
console.log(stdout);
console.log(stderr);
Expand Down Expand Up @@ -108,7 +110,12 @@ exports.setJavaHome = function(value){

exports.getJavaHome = function(callback){
var env = jetpack.cwd(__dirname).read('env.json', 'json');
callback(env.java_home);
let java_home = env.java_home;
// if it is not set in the app, get it from global environment vars
if (!java_home) {
java_home = process.env.JAVA_HOME ? process.env.JAVA_HOME : process.env.JRE_HOME;
}
callback(java_home);
};

exports.setJavaHomeHelp = function() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ protected ApplyHistoryFromR2RMLModelCommand(String id, String model, String mode
}

private enum JsonKeys {
updateType, worksheetId, baseURI, prefix, graphLabel
updateType, worksheetId, baseURI, prefix, graphLabel, GithubURL
}

@Override
Expand Down Expand Up @@ -193,6 +193,9 @@ public void generateJson(String prefix, PrintWriter pw,
outputObject.put(JsonKeys.prefix.name(), props.getPropertyValue(Property.prefix));
if (props.getPropertyValue(Property.graphLabel) != null && !props.getPropertyValue(Property.graphLabel).trim().isEmpty())
outputObject.put(JsonKeys.graphLabel.name(), props.getPropertyValue(Property.graphLabel));
if (props.getPropertyValue(Property.GithubURL) != null && !props.getPropertyValue(Property.GithubURL).trim().isEmpty())
outputObject.put(JsonKeys.GithubURL.name(), props.getPropertyValue(Property.GithubURL));

pw.println(outputObject.toString());
} catch (JSONException e) {
e.printStackTrace();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,13 @@
package edu.isi.karma.controller.update;

import java.io.File;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringReader;
import java.io.InputStreamReader;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
Expand All @@ -36,7 +39,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import au.com.bytecode.opencsv.CSVReader;
import com.opencsv.CSVReader;
import edu.isi.karma.util.EncodingDetector;
import edu.isi.karma.view.VWorkspace;

Expand Down Expand Up @@ -92,7 +95,7 @@ public CSVImportPreviewUpdate(char delimiterChar, char quoteChar,
@Override
public void generateJson(String prefix, PrintWriter pw,
VWorkspace vWorkspace) {
Scanner scanner = null;
// Scanner scanner = null;
int rowCount = 0;
int previewRowCounter = 0;

Expand All @@ -105,26 +108,25 @@ public void generateJson(String prefix, PrintWriter pw,
if (encoding == null) {
encoding = EncodingDetector.detect(csvFile);
}
scanner = new Scanner(csvFile, encoding);
// scanner = new Scanner(csvFile, encoding);
JSONWriter writer = jsonStr.object().key(JsonKeys.commandId.name())
.value(commandId).key(GenericJsonKeys.updateType.name())
.value("ImportCSVPreview").key(JsonKeys.fileName.name())
.value(csvFile.getName()).key("encoding").value(encoding)
.key("maxNumLines").value(maxNumLines);

JSONArray dataRows = new JSONArray();
while (scanner.hasNextLine()) {
CSVReader reader = new CSVReader(
new InputStreamReader(new FileInputStream(csvFile), encoding),
delimiter, quoteCharacter, escapeCharacter);
String[] rowValues = null;
while ((rowValues = reader.readNext()) != null) {
// Check for the header row
if (rowCount + 1 == headerRowIndex) {
String line = scanner.nextLine();
CSVReader reader = new CSVReader(new StringReader(line),
delimiter, quoteCharacter, escapeCharacter);
String[] rowValues = reader.readNext();
List<String> headers = new ArrayList<>();
if (rowValues == null || rowValues.length == 0) {
logger.error("No data found in the Header row!");
rowCount++;
scanner.nextLine();
continue;
}
for (int i = 0; i < rowValues.length; i++) {
Expand All @@ -137,7 +139,6 @@ public void generateJson(String prefix, PrintWriter pw,
JSONArray arr = new JSONArray(headers);
writer.key(JsonKeys.headers.name()).value(arr);
rowCount++;
reader.close();
continue;
}

Expand All @@ -147,10 +148,6 @@ public void generateJson(String prefix, PrintWriter pw,
if (previewRowCounter++ > 5) {
break;
}
String line = scanner.nextLine();
CSVReader reader = new CSVReader(new StringReader(line),
delimiter, quoteCharacter, escapeCharacter);
String[] rowValues = reader.readNext();
List<String> vals = new ArrayList<>();
if (rowValues != null) {
for (int i = 0; i < rowValues.length; i++) {
Expand All @@ -160,7 +157,6 @@ public void generateJson(String prefix, PrintWriter pw,
vals.add("");
// Add the row index
vals.add(0, Integer.toString(rowCount + 1));
reader.close();

// Add to the data rows JSON
dataRows.put(vals);
Expand All @@ -169,9 +165,9 @@ public void generateJson(String prefix, PrintWriter pw,
}

rowCount++;
scanner.nextLine();
}

reader.close();
writer.key(JsonKeys.rows.name()).value(dataRows);
writer.endObject();
pw.println(jsonStr.toString());
Expand All @@ -182,8 +178,8 @@ public void generateJson(String prefix, PrintWriter pw,
} catch (JSONException e) {
logger.error("Error occured while writing to JSON", e);
} finally {
if(scanner != null)
scanner.close();
// if(scanner != null)
// scanner.close();
}
}

Expand Down
Loading

0 comments on commit 2b671d1

Please sign in to comment.