Added the creator of the jar to compile and create jar
The jar converts json configuration into normalandroid-scanner
parent
e611d0c721
commit
7b937cc754
|
@ -13,7 +13,6 @@ import java.io.FileInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Vladimir Eliezer Tokarev on 8/27/2016.
|
* Created by Vladimir Eliezer Tokarev on 8/27/2016.
|
||||||
* The current voting-booth intialization process is next:
|
* The current voting-booth intialization process is next:
|
||||||
|
@ -22,7 +21,7 @@ import java.net.URISyntaxException;
|
||||||
public class Main extends Application {
|
public class Main extends Application {
|
||||||
|
|
||||||
private final Logger logger = LoggerFactory.getLogger(Main.class);
|
private final Logger logger = LoggerFactory.getLogger(Main.class);
|
||||||
private final String CONFIGURATION_PATH = "/configuration/configuration.bin";
|
private final String DEFAULT_CONFIGURATION_PATH = "/configuration/configuration.bin";
|
||||||
/**
|
/**
|
||||||
* Creates the VotingBoothConfigurationCreator and creates configuration based on given path
|
* Creates the VotingBoothConfigurationCreator and creates configuration based on given path
|
||||||
* @return VotingBoothVonfiguration parsed from json file
|
* @return VotingBoothVonfiguration parsed from json file
|
||||||
|
@ -30,9 +29,7 @@ public class Main extends Application {
|
||||||
* @throws JSONException will be thrown if the json is unvalid
|
* @throws JSONException will be thrown if the json is unvalid
|
||||||
*/
|
*/
|
||||||
private VotingBoothConfiguration GetConfig() throws IOException, JSONException, URISyntaxException {
|
private VotingBoothConfiguration GetConfig() throws IOException, JSONException, URISyntaxException {
|
||||||
|
FileInputStream fis = new FileInputStream(getClass().getResource(DEFAULT_CONFIGURATION_PATH).getPath());
|
||||||
|
|
||||||
FileInputStream fis = new FileInputStream(getClass().getResource(CONFIGURATION_PATH).getPath());
|
|
||||||
BallotQuestionUIElementOuterClass.BallotQuestionsUIElements read_questions = BallotQuestionUIElementOuterClass.BallotQuestionsUIElements.parseFrom(fis);
|
BallotQuestionUIElementOuterClass.BallotQuestionsUIElements read_questions = BallotQuestionUIElementOuterClass.BallotQuestionsUIElements.parseFrom(fis);
|
||||||
VotingBoothConfiguration votingBoothConfiguration = new VotingBoothConfiguration();
|
VotingBoothConfiguration votingBoothConfiguration = new VotingBoothConfiguration();
|
||||||
votingBoothConfiguration.NameSelectionQuestion = read_questions.getQuestions(1);
|
votingBoothConfiguration.NameSelectionQuestion = read_questions.getQuestions(1);
|
||||||
|
@ -43,7 +40,7 @@ public class Main extends Application {
|
||||||
@Override
|
@Override
|
||||||
public void start(Stage primaryStage) throws Exception
|
public void start(Stage primaryStage) throws Exception
|
||||||
{
|
{
|
||||||
this.logger.debug("Running the app.");
|
this.logger.debug("Started Meerkat Voting GUI Application");
|
||||||
ChainBuilder.Build(primaryStage, GetConfig());
|
ChainBuilder.Build(primaryStage, GetConfig());
|
||||||
primaryStage.setTitle("Meerkat Polling Station");
|
primaryStage.setTitle("Meerkat Polling Station");
|
||||||
primaryStage.show();
|
primaryStage.show();
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package meerkat.voting.gui.configuration;
|
package meerkat.voting.gui.configuration;
|
||||||
|
|
||||||
|
import joptsimple.OptionParser;
|
||||||
|
import joptsimple.OptionSet;
|
||||||
import meerkat.protobuf.BallotQuestionUIElementOuterClass;
|
import meerkat.protobuf.BallotQuestionUIElementOuterClass;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
|
|
||||||
|
@ -11,7 +13,13 @@ import java.io.IOException;
|
||||||
* This class uses the configuration creator which converts json configuration into normal binary proto file
|
* This class uses the configuration creator which converts json configuration into normal binary proto file
|
||||||
*/
|
*/
|
||||||
public class Converter {
|
public class Converter {
|
||||||
private final static String OUTPUTNAME = "configuration.bin";
|
private final static String DEFAULT_OUTPUT_PATH = "configuration.bin";
|
||||||
|
private final static String DEFAULT_CONFIGURATION_PATH = "VotingBoothConfiguration.json";
|
||||||
|
private final static String CONVERTER_DESCRIPTION = "Welcome to simple voting booth " +
|
||||||
|
"configuration converter (which converts json voting booth configuration into " +
|
||||||
|
"binary configuration).\n-p (path) stands for the path to the json file configuration " +
|
||||||
|
"which we want to convert into binary file.\n-o (output) stands for the path to which we " +
|
||||||
|
"want to write the output binary file.\n-?,/?,help (help) stands for this description.\n";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads the json configuration from given path
|
* Reads the json configuration from given path
|
||||||
|
@ -27,9 +35,10 @@ public class Converter {
|
||||||
/**
|
/**
|
||||||
* Converts the configuration file into single binary proto file and writes it to the disc
|
* Converts the configuration file into single binary proto file and writes it to the disc
|
||||||
* @param configuration the configuration object
|
* @param configuration the configuration object
|
||||||
|
* @param outputPath the path to the new configuraiton file
|
||||||
*/
|
*/
|
||||||
private static void ConvertJsonIntoBinaryFile(VotingBoothConfiguration configuration) throws IOException {
|
private static void ConvertJsonIntoBinaryFile(VotingBoothConfiguration configuration, String outputPath) throws IOException {
|
||||||
FileOutputStream fileOutputStream = new FileOutputStream(OUTPUTNAME);
|
FileOutputStream fileOutputStream = new FileOutputStream(outputPath);
|
||||||
BallotQuestionUIElementOuterClass.BallotQuestionsUIElements read_questions =
|
BallotQuestionUIElementOuterClass.BallotQuestionsUIElements read_questions =
|
||||||
BallotQuestionUIElementOuterClass
|
BallotQuestionUIElementOuterClass
|
||||||
.BallotQuestionsUIElements
|
.BallotQuestionsUIElements
|
||||||
|
@ -42,12 +51,35 @@ public class Converter {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws InterruptedException {
|
public static void main(String[] args) throws InterruptedException {
|
||||||
System.out.println("args are: " + args);
|
|
||||||
try {
|
try {
|
||||||
ConvertJsonIntoBinaryFile(GetVotingBoothJsonConfiguration(args[0]));
|
OptionParser parser = new OptionParser( "p:o:?*.::" );
|
||||||
|
String configurationPath = "";
|
||||||
|
String outputPath = "";
|
||||||
|
OptionSet options = parser.parse(args);
|
||||||
|
|
||||||
|
if (options.has("?") || options.has("help")){
|
||||||
|
System.out.println(CONVERTER_DESCRIPTION);
|
||||||
|
}
|
||||||
|
if (!options.has("p")){
|
||||||
|
configurationPath = DEFAULT_CONFIGURATION_PATH;
|
||||||
|
}
|
||||||
|
if (options.has("p")){
|
||||||
|
configurationPath = (String) options.valueOf("p");
|
||||||
|
System.out.println("Configuraiton read from " + configurationPath + ".\n");
|
||||||
|
}
|
||||||
|
if (!options.has("o")){
|
||||||
|
outputPath = DEFAULT_OUTPUT_PATH;
|
||||||
|
}
|
||||||
|
if (options.has("o")){
|
||||||
|
outputPath = (String) options.valueOf("o");
|
||||||
|
}
|
||||||
|
|
||||||
|
VotingBoothConfiguration config = GetVotingBoothJsonConfiguration(configurationPath);
|
||||||
|
System.out.print("yeyyy");
|
||||||
|
ConvertJsonIntoBinaryFile(config, outputPath);
|
||||||
}
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
System.out.println("Exception thrown: " + e);
|
System.out.println("Exception thrown: " + e + ", " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ public class VotingBoothConfigurationCreator {
|
||||||
* @throws JSONException will be thrown if the parsing will fail
|
* @throws JSONException will be thrown if the parsing will fail
|
||||||
*/
|
*/
|
||||||
private JSONArray getJsonFromPath(String path) throws FileNotFoundException, JSONException {
|
private JSONArray getJsonFromPath(String path) throws FileNotFoundException, JSONException {
|
||||||
String content = new Scanner(new File(getClass().getResource(path).getPath())).useDelimiter("\\Z").next();
|
String content = new Scanner(new File(path)).next();
|
||||||
JSONObject jsonObject = new JSONObject(content);
|
JSONObject jsonObject = new JSONObject(content);
|
||||||
this.logger.debug("Created json object from from configuration path.");
|
this.logger.debug("Created json object from from configuration path.");
|
||||||
return (JSONArray)jsonObject.get("questions");
|
return (JSONArray)jsonObject.get("questions");
|
||||||
|
|
Loading…
Reference in New Issue