aboutsummaryrefslogtreecommitdiffstats
path: root/winery/org.eclipse.winery.repository/src/main/webapp/jsp/admin/repository.jsp
diff options
context:
space:
mode:
Diffstat (limited to 'winery/org.eclipse.winery.repository/src/main/webapp/jsp/admin/repository.jsp')
-rw-r--r--winery/org.eclipse.winery.repository/src/main/webapp/jsp/admin/repository.jsp101
1 files changed, 101 insertions, 0 deletions
diff --git a/winery/org.eclipse.winery.repository/src/main/webapp/jsp/admin/repository.jsp b/winery/org.eclipse.winery.repository/src/main/webapp/jsp/admin/repository.jsp
new file mode 100644
index 0000000..446bd46
--- /dev/null
+++ b/winery/org.eclipse.winery.repository/src/main/webapp/jsp/admin/repository.jsp
@@ -0,0 +1,101 @@
+<%--
+/*******************************************************************************
+ * Copyright (c) 2012-2013 University of Stuttgart.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and the Apache License 2.0 which both accompany this distribution,
+ * and are available at http://www.eclipse.org/legal/epl-v10.html
+ * and http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Contributors:
+ * Oliver Kopp - initial API and implementation and/or initial documentation
+ *******************************************************************************/
+--%>
+<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+
+<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@taglib prefix="t" tagdir="/WEB-INF/tags" %>
+
+<h4>General Repository Commands</h4>
+<div>
+ <a href="repository/?dump" class="btn btn-primary">Dump Repository</a>
+ <button class="btn btn-danger" onclick="clearRepository();" id="btnclearrepository" data-loading-text="Deleting...">Clear Repository</button>
+ <button class="btn btn-default" onclick="$('#upRepoZipDiag').modal('show');">Import Repository</button>
+</div>
+
+<%
+org.eclipse.winery.repository.backend.IRepository rep;
+rep = org.eclipse.winery.repository.Prefs.INSTANCE.getRepository();
+boolean isGitBasedRepo = (rep instanceof org.eclipse.winery.repository.backend.filebased.GitBasedRepository);
+
+org.eclipse.winery.repository.backend.filebased.GitBasedRepository repo = null;
+if (isGitBasedRepo) {
+ repo = (org.eclipse.winery.repository.backend.filebased.GitBasedRepository) rep;
+}
+
+// We only support the commit and reset buttons if we can authenticate at the repository
+// This is a hack to offer different versions of winery at dev.winery.opentosca.org and winery.opentosca.org
+isGitBasedRepo = isGitBasedRepo && (repo.authenticationInfoAvailable());
+
+if (isGitBasedRepo) {
+%>
+<h4>Versioning</h4>
+<div>
+<button id="commitBtn" class="btn btn-default" onclick="doCommit();" data-loading-text="committing...">Commit</button>
+<button id="resetBtn" class="btn btn-danger" onclick="doReset();" data-loading-text="resetting...">Reset</button>
+</div>
+
+<script>
+function doCommit() {
+ $("#commitBtn").button("loading");
+ $.ajax({
+ url: "repository/?commit",
+ async: false,
+ error: function(jqXHR, textStatus, errorThrown) {
+ $("#commitBtn").button("reset");
+ vShowAJAXError("Could not commit", jqXHR, errorThrown);
+ },
+ success: function(data, textSTatus, jqXHR) {
+ $("#commitBtn").button("reset");
+ vShowSuccess("Successfully committed changes.");
+ }
+ });
+}
+
+function doReset() {
+ $("#resetBtn").button("loading");
+ $.ajax({
+ url: "repository/?reset",
+ async: false,
+ error: function(jqXHR, textStatus, errorThrown) {
+ $("#resetBtn").button("reset");
+ vShowAJAXError("Could not reset", jqXHR, errorThrown);
+ },
+ success: function(data, textSTatus, jqXHR) {
+ $("#resetBtn").button("reset");
+ vShowSuccess("Successfully reset to last known state.");
+ }
+ });
+}
+</script>
+<%
+}
+%>
+
+<t:simpleSingleFileUpload
+ title="Upload Repository Content"
+ text="Repository dump file"
+ URL="repository/"
+ type="POST"
+ id="upRepoZip"
+ accept="application/zip" />
+
+<script>
+function clearRepository() {
+ deleteResource('the complete repository', 'repository/',
+ function() {$("#btnclearrepository").button("reset");},
+ function() {$("#btnclearrepository").button("reset");},
+ function() {$("#btnclearrepository").button("loading");}
+ );
+}
+</script>