Updated to latest wicket milestone and fix upgrade errors

Some APIs changed like AjaxButton.onSubmit. All compile errors fixed and
also RuntimeExceptions caused by wrong ajax event usages are resolved.
diff --git a/build.moxie b/build.moxie
index 1431e5e..65ad953 100644
--- a/build.moxie
+++ b/build.moxie
@@ -104,7 +104,7 @@
 properties: {
   jetty.version  : 9.2.13.v20150730
   slf4j.version  : 1.7.12
-  wicket.version : 7.4.0
+  wicket.version : 8.0.0-M2
   lucene.version : 4.10.4
   jgit.version   : 4.1.1.201511131810-r
   groovy.version : 2.4.4
diff --git a/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java b/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java
index ccb807c..5ba57b4 100644
--- a/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java
@@ -120,7 +120,7 @@
 			private static final long serialVersionUID = 1L;

 

 			@Override

-			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

+			protected void onSubmit(AjaxRequestTarget target) {

 				String name = nameModel.getObject();

 				if (StringUtils.isEmpty(name)) {

 					return;

@@ -180,7 +180,7 @@
 			}

 		};

 

-		delete.add(new JavascriptEventConfirmation("onclick", MessageFormat.format(

+		delete.add(new JavascriptEventConfirmation("click", MessageFormat.format(

 			getString("gb.deleteMilestone"), oldName)));

 

 		form.add(delete);

diff --git a/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java
index 61e6b0c..a68f3d3 100644
--- a/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -28,6 +28,7 @@
 

 import org.apache.wicket.request.mapper.parameter.PageParameters;

 import org.apache.wicket.AttributeModifier;

+import org.apache.wicket.Component;

 import org.apache.wicket.ajax.AjaxRequestTarget;

 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;

 import org.apache.wicket.extensions.markup.html.form.palette.Palette;

@@ -369,8 +370,10 @@
 

 					// custom fields

 					repositoryModel.customFields = new LinkedHashMap<String, String>();

-					for (int i = 0; i < customFieldsListView.size(); i++) {

-						ListItem<String> child = (ListItem<String>) customFieldsListView.get(i);

+					Iterator<Component> customFieldsListViewIterator = customFieldsListView.iterator();

+					while(customFieldsListViewIterator.hasNext()){

+					    

+						ListItem<String> child = (ListItem<String>) customFieldsListViewIterator.next();

 						String key = child.getModelObject();

 

 						TextField<String> field = (TextField<String>) child.get("customFieldValue");

@@ -709,7 +712,7 @@
 		};

 

 		if (canDelete) {

-			delete.add(new JavascriptEventConfirmation("onclick", MessageFormat.format(

+			delete.add(new JavascriptEventConfirmation("click", MessageFormat.format(

 				getString("gb.deleteRepository"), repositoryModel)));

 		}

 		form.add(delete.setVisible(canDelete));

diff --git a/src/main/java/com/gitblit/wicket/pages/EditTicketPage.java b/src/main/java/com/gitblit/wicket/pages/EditTicketPage.java
index 8cc2c61..b3be019 100644
--- a/src/main/java/com/gitblit/wicket/pages/EditTicketPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EditTicketPage.java
@@ -62,7 +62,9 @@
  */

 public class EditTicketPage extends RepositoryPage {

 

-	static final String NIL = "<nil>";

+    private static final long serialVersionUID = 1L;

+

+    static final String NIL = "<nil>";

 

 	static final String ESC_NIL = StringUtils.escapeForHtml(NIL,  false);

 

@@ -261,7 +263,7 @@
 			private static final long serialVersionUID = 1L;

 

 			@Override

-			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

+			protected void onSubmit(AjaxRequestTarget target) {

 				long ticketId = 0L;

 				try {

 					String h = WicketUtils.getObject(getPageParameters());

diff --git a/src/main/java/com/gitblit/wicket/pages/NewMilestonePage.java b/src/main/java/com/gitblit/wicket/pages/NewMilestonePage.java
index 833c6d4..f78b1c4 100644
--- a/src/main/java/com/gitblit/wicket/pages/NewMilestonePage.java
+++ b/src/main/java/com/gitblit/wicket/pages/NewMilestonePage.java
@@ -87,7 +87,7 @@
 			private static final long serialVersionUID = 1L;

 

 			@Override

-			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

+			protected void onSubmit(AjaxRequestTarget target) {

 				String name = nameModel.getObject();

 				if (StringUtils.isEmpty(name)) {

 					// invalid name

diff --git a/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java b/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java
index 1fd5839..45478bc 100644
--- a/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java
@@ -191,7 +191,7 @@
 			private static final long serialVersionUID = 1L;

 

 			@Override

-			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

+			protected void onSubmit(AjaxRequestTarget target) {

 				String title = titleModel.getObject();

 				if (StringUtils.isEmpty(title)) {

 					return;

diff --git a/src/main/java/com/gitblit/wicket/pages/TicketPage.java b/src/main/java/com/gitblit/wicket/pages/TicketPage.java
index 290d643..77d2236 100644
--- a/src/main/java/com/gitblit/wicket/pages/TicketPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/TicketPage.java
@@ -1649,7 +1649,7 @@
 			// javascript: manual copy & paste with modal browser prompt dialog

 			Fragment copyFragment = new Fragment(wicketId, "jsPanel", TicketPage.this);

 			ContextImage img = WicketUtils.newImage("copyIcon", "clippy.png");

-			img.add(new JavascriptTextPrompt("onclick", "Copy to Clipboard (Ctrl+C, Enter)", text));

+			img.add(new JavascriptTextPrompt("click", "Copy to Clipboard (Ctrl+C, Enter)", text));

 			copyFragment.add(img);

 			return copyFragment;

 		}

@@ -1729,7 +1729,7 @@
 

 		WicketUtils.setHtmlTooltip(deleteLink, MessageFormat.format(getString("gb.deletePatchset"), patchset.number));

 		

-		deleteLink.add(new JavascriptEventConfirmation("onclick", MessageFormat.format(getString("gb.deletePatchset"), patchset.number)));

+		deleteLink.add(new JavascriptEventConfirmation("click", MessageFormat.format(getString("gb.deletePatchset"), patchset.number)));

 		

 		return deleteLink;

 	}

diff --git a/src/main/java/com/gitblit/wicket/pages/UserPage.java b/src/main/java/com/gitblit/wicket/pages/UserPage.java
index b37e75d..8908016 100644
--- a/src/main/java/com/gitblit/wicket/pages/UserPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/UserPage.java
@@ -273,7 +273,7 @@
 			private static final long serialVersionUID = 1L;

 

 			@Override

-			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

+			protected void onSubmit(AjaxRequestTarget target) {

 

 				UserModel user = GitBlitWebSession.get().getUser();

 

diff --git a/src/main/java/com/gitblit/wicket/panels/BooleanChoiceOption.java b/src/main/java/com/gitblit/wicket/panels/BooleanChoiceOption.java
index 9de3aa1..9c87a2a 100644
--- a/src/main/java/com/gitblit/wicket/panels/BooleanChoiceOption.java
+++ b/src/main/java/com/gitblit/wicket/panels/BooleanChoiceOption.java
@@ -61,7 +61,7 @@
 		add(choice.setMarkupId("choice").setEnabled(choice.getChoices().size() > 0));

 		choice.setEnabled(checkbox.getModelObject());

 

-		checkbox.add(new AjaxFormComponentUpdatingBehavior("onchange") {

+		checkbox.add(new AjaxFormComponentUpdatingBehavior("change") {

 

 			private static final long serialVersionUID = 1L;

 

diff --git a/src/main/java/com/gitblit/wicket/panels/BranchesPanel.java b/src/main/java/com/gitblit/wicket/panels/BranchesPanel.java
index 92e7fb6..a6ff921 100644
--- a/src/main/java/com/gitblit/wicket/panels/BranchesPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/BranchesPanel.java
@@ -236,7 +236,7 @@
 			}

 		};

 

-		deleteLink.add(new JavascriptEventConfirmation("onclick", MessageFormat.format(

+		deleteLink.add(new JavascriptEventConfirmation("click", MessageFormat.format(

 				"Delete branch \"{0}\"?", entry.displayName )));

 		return deleteLink;

 	}

diff --git a/src/main/java/com/gitblit/wicket/panels/CommentPanel.java b/src/main/java/com/gitblit/wicket/panels/CommentPanel.java
index 3de0734..4740130 100644
--- a/src/main/java/com/gitblit/wicket/panels/CommentPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/CommentPanel.java
@@ -69,7 +69,7 @@
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onSubmit(AjaxRequestTarget target, Form<?> form) {
+			public void onSubmit(AjaxRequestTarget target) {
 				String txt = markdownEditor.getText();
 				if (change == null) {
 					// new comment
diff --git a/src/main/java/com/gitblit/wicket/panels/FederationProposalsPanel.java b/src/main/java/com/gitblit/wicket/panels/FederationProposalsPanel.java
index b02e848..20d8a43 100644
--- a/src/main/java/com/gitblit/wicket/panels/FederationProposalsPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/FederationProposalsPanel.java
@@ -76,7 +76,7 @@
 						}

 					}

 				};

-				deleteLink.add(new JavascriptEventConfirmation("onclick", MessageFormat.format(

+				deleteLink.add(new JavascriptEventConfirmation("click", MessageFormat.format(

 						"Delete proposal \"{0}\"?", entry.name)));

 				item.add(deleteLink);

 				WicketUtils.setAlternatingBackground(item, counter);

diff --git a/src/main/java/com/gitblit/wicket/panels/MarkdownTextArea.java b/src/main/java/com/gitblit/wicket/panels/MarkdownTextArea.java
index f922686..c3fce62 100644
--- a/src/main/java/com/gitblit/wicket/panels/MarkdownTextArea.java
+++ b/src/main/java/com/gitblit/wicket/panels/MarkdownTextArea.java
@@ -38,7 +38,7 @@
 	public MarkdownTextArea(String id, final IModel<String> previewModel, final Label previewLabel) {
 		super(id);
 		setModel(new PropertyModel(this, "text"));
-		add(new AjaxFormComponentUpdatingBehavior("onblur") {
+		add(new AjaxFormComponentUpdatingBehavior("blur") {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -49,7 +49,7 @@
 				}
 			}
 		});
-		add(new AjaxFormComponentUpdatingBehavior("onchange") {
+		add(new AjaxFormComponentUpdatingBehavior("change") {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -97,7 +97,7 @@
 //		private static final long serialVersionUID = 1L;
 //
 //		public RichTextSetActiveTextFieldAttributeModifier(String markupId) {
-//			super("onClick", true, new Model("richTextSetActiveTextField('" + markupId + "');"));
+//			super("Click", true, new Model("richTextSetActiveTextField('" + markupId + "');"));
 //		}
 //	}
 
diff --git a/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java b/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java
index 839d80f..ce288a8 100644
--- a/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java
@@ -208,7 +208,7 @@
 				permissionChoice.setEnabled(entry.mutable);
 				permissionChoice.setOutputMarkupId(true);
 				if (entry.mutable) {
-					permissionChoice.add(new AjaxFormComponentUpdatingBehavior("onchange") {
+					permissionChoice.add(new AjaxFormComponentUpdatingBehavior("change") {
 
 						private static final long serialVersionUID = 1L;
 
@@ -254,9 +254,9 @@
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+			protected void onSubmit(AjaxRequestTarget target) {
 				// add permission to our list
-				RegistrantAccessPermission rp = (RegistrantAccessPermission) form.getModel().getObject();
+				RegistrantAccessPermission rp = (RegistrantAccessPermission) getForm().getModel().getObject();
 				if (rp.permission == null) {
 					return;
 				}
@@ -342,7 +342,7 @@
 		}
 
 		@Override
-		protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+		protected void onSubmit(AjaxRequestTarget target) {
 			RegistrantPermissionsPanel.this.activeState = buttonState;
 			target.add(RegistrantPermissionsPanel.this);
 		}
diff --git a/src/main/java/com/gitblit/wicket/panels/RepositoryUrlPanel.java b/src/main/java/com/gitblit/wicket/panels/RepositoryUrlPanel.java
index 19fe46c..262aa61 100644
--- a/src/main/java/com/gitblit/wicket/panels/RepositoryUrlPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/RepositoryUrlPanel.java
@@ -359,7 +359,7 @@
 			// javascript: manual copy & paste with modal browser prompt dialog

 			Fragment copyFragment = new Fragment("copyFunction", "jsPanel", RepositoryUrlPanel.this);

 			ContextImage img = WicketUtils.newImage("copyIcon", "clippy.png");

-			img.add(new JavascriptTextPrompt("onclick", "Copy to Clipboard (Ctrl+C, Enter)", text));

+			img.add(new JavascriptTextPrompt("click", "Copy to Clipboard (Ctrl+C, Enter)", text));

 			copyFragment.add(img);

 			return copyFragment;

 		}

diff --git a/src/main/java/com/gitblit/wicket/panels/SshKeysPanel.java b/src/main/java/com/gitblit/wicket/panels/SshKeysPanel.java
index a06f9c4..1ca3bb8 100644
--- a/src/main/java/com/gitblit/wicket/panels/SshKeysPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/SshKeysPanel.java
@@ -123,7 +123,7 @@
 			private static final long serialVersionUID = 1L;

 

 			@Override

-			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

+			protected void onSubmit(AjaxRequestTarget target) {

 

 				UserModel user = GitBlitWebSession.get().getUser();

 				String data = keyData.getObject();

diff --git a/src/main/java/com/gitblit/wicket/panels/TeamsPanel.java b/src/main/java/com/gitblit/wicket/panels/TeamsPanel.java
index 69c64fc..87e93e8 100644
--- a/src/main/java/com/gitblit/wicket/panels/TeamsPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/TeamsPanel.java
@@ -83,7 +83,7 @@
 						}

 					}

 				};

-				deleteLink.add(new JavascriptEventConfirmation("onclick", MessageFormat.format(

+				deleteLink.add(new JavascriptEventConfirmation("click", MessageFormat.format(

 						"Delete team \"{0}\"?", entry.name)));

 				teamLinks.add(deleteLink);

 				item.add(teamLinks);

diff --git a/src/main/java/com/gitblit/wicket/panels/UsersPanel.java b/src/main/java/com/gitblit/wicket/panels/UsersPanel.java
index 7200cb7..1a67bcb 100644
--- a/src/main/java/com/gitblit/wicket/panels/UsersPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/UsersPanel.java
@@ -103,7 +103,7 @@
 						}

 					}

 				};

-				deleteLink.add(new JavascriptEventConfirmation("onclick", MessageFormat.format(

+				deleteLink.add(new JavascriptEventConfirmation("click", MessageFormat.format(

 						getString("gb.deleteUser"), entry.username)));

 				userLinks.add(deleteLink);

 				item.add(userLinks);