/*
 * The MIT License
 *
 * Copyright 2016 Pawel Marynowski.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
package pattypan;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.stage.Stage;
import javafx.stage.WindowEvent;
import org.wikipedia.Wiki;
import pattypan.panes.StartPane;

public class Main extends Application {

  @Override
  public void start(Stage stage) {
    Settings.readProperties();
    Image logo = new Image(getClass().getResourceAsStream("/pattypan/resources/logo.png"));

    Scene scene = new Scene(new StartPane(stage), Settings.getSettingInt("windowWidth"), Settings.getSettingInt("windowHeight"));
    stage.setResizable(true);
    stage.setTitle("pattypan " + Settings.VERSION);
    stage.getIcons().add(logo);
    stage.setScene(scene);
    stage.show();

    stage.setOnCloseRequest((WindowEvent we) -> {
      Settings.setSetting("windowWidth", (int) scene.getWidth() + "");
      Settings.setSetting("windowHeight", (int) scene.getHeight() + "");
      Settings.saveProperties();
    });
  }

  /**
   * @param args the command line arguments
   */
  public static void main(String[] args) {
    if (args.length > 0) {
      Session.WIKI = new Wiki(args[0].equals("-test") ? "test.wikipedia.org" : args[0]);
    }
    launch(args);
  }

}

@@ -1152,16 +1152,81 @@
 typan;%0A%0A
+import java.util.logging.Level;%0Aimport java.util.logging.Logger;%0A
 import j
@@ -1256,16 +1256,16 @@
 cation;%0A
-
 import j
@@ -1478,16 +1478,96 @@
 tion %7B%0A%0A
+  private static final Logger LOGGER = Logger.getLogger(Main.class.getName());%0A%0A
   @Overr
@@ -2366,125 +2366,642 @@
     
-if (args.length %3E 0) %7B%0A      Session.WIKI = new Wiki(args%5B0%5D.equals(%22-test%22) ? %22test.wikipedia.org%22 : args%5B0%5D);%0A    %7D
+String wiki = %22commons.wikimedia.org%22;%0A    String protocol = %22https://%22;%0A    String scriptPath = %22/w%22;%0A%0A    for (String arg : args) %7B%0A      String%5B%5D pair = arg.split(%22=%22);%0A      if (pair%5B0%5D.contains(%22wiki%22)) %7B%0A        wiki = pair%5B1%5D;%0A      %7D else if (pair%5B0%5D.contains(%22protocol%22)) %7B%0A        protocol = pair%5B1%5D;%0A      %7D else if (pair%5B0%5D.contains(%22scriptPath%22)) %7B%0A        scriptPath = pair%5B1%5D;%0A      %7D%0A    %7D%0A%0A    LOGGER.log(Level.INFO,%0A            %22Wiki set as: %7B0%7D%5CnProtocol set as: %7B1%7D%5CnScript path set as: %7B2%7D%22,%0A            new String%5B%5D%7Bwiki, protocol, scriptPath%7D%0A    );%0A    %0A    Session.WIKI = new Wiki(wiki, scriptPath, protocol);
 %0A   

rewrite setting up wiki