diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/AvailableDependenciesBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/AvailableDependenciesBean.java index 9dc7602e5c1ce5ae67ca6a9dd64bf9f37697116d..d2655e0a843d99181cc9f7ffedde94616eb3c5db 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/AvailableDependenciesBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/application/AvailableDependenciesBean.java @@ -9,6 +9,7 @@ import javax.faces.bean.ManagedBean; import kieker.analysis.model.analysisMetaModel.MIDependency; import kieker.analysis.model.analysisMetaModel.impl.MAnalysisMetaModelFactory; import kieker.webgui.common.FileManager; +import org.primefaces.model.UploadedFile; @ManagedBean @ApplicationScoped @@ -25,4 +26,16 @@ public class AvailableDependenciesBean { public List<MIDependency> getDependencies() { return dependencies; } + + public void upload(final UploadedFile file) { + FileManager.getInstance().uploadDependency(file); + this.dependencies.clear(); + this.dependencies.addAll(FileManager.getInstance().loadAllDependencies()); + } + + public void delete(final MIDependency dependency) { + FileManager.getInstance().deleteDependency(dependency); + this.dependencies.clear(); + this.dependencies.addAll(FileManager.getInstance().loadAllDependencies()); + } } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DependencyUploadController.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DependencyUploadController.java index 1a1272101306e7179a547b7febdcad49aff8df3b..f73d1ae12c9793b5e43a24bafa7717dca19edec6 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DependencyUploadController.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/DependencyUploadController.java @@ -10,26 +10,24 @@ import kieker.webgui.common.FileManager; import org.primefaces.model.UploadedFile; /** - * + * * @author Nils Christian Ehmke */ @ManagedBean @SessionScoped public class DependencyUploadController { - private UploadedFile file; + private UploadedFile file; - public UploadedFile getFile() { - return file; - } + public UploadedFile getFile() { + return file; + } - public void setFile(UploadedFile file) { - this.file = file; - } + public void setFile(UploadedFile file) { + this.file = file; + } - public void upload() { - FacesMessage msg = new FacesMessage("Succesful", file.getFileName() + " is uploaded."); - FacesContext.getCurrentInstance().addMessage(null, msg); - // FileManager.getInstance().uploadDependency(file); - } + public void upload() { + FileManager.getInstance().uploadDependency(file); + } } diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java index 7d1d7194f0b100452bf17b5dacfde1123c680172..26ba8ae5f72b647784b00ebe03bad267aebab994 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/FileManager.java @@ -6,6 +6,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import org.primefaces.model.UploadedFile; @@ -172,7 +173,6 @@ public final class FileManager { * @return true iff the file has been uploaded successfully. */ public boolean uploadDependency(final UploadedFile file) { - System.out.println(file); final File depFile = new File(LIB_DIR, file.getFileName()); InputStream in = null; @@ -245,4 +245,11 @@ public final class FileManager { return resultList; } + + public void deleteDependency(final MIDependency dependency) { + File file = new File(dependency.getFilePath()); + if (file.isFile()) { + file.delete(); + } + } } diff --git a/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml b/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml index 79b98996e225e7173af8e639f8848fdaba904005..7cc7ba4aa99c4e21f5953a50e16bb6708547e91b 100644 --- a/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml +++ b/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml @@ -5,7 +5,7 @@ http://ocpsoft.com/xml/ns/prettyfaces/ocpsoft-pretty-faces-3.3.2.xsd"> <url-mapping id="home"> - <pattern value="/Kieker.WebGUI" /> + <pattern value="/Kieker.WebGUI/main" /> <view-id value="/faces/main.xhtml" /> </url-mapping> diff --git a/Kieker.WebGUI/src/main/webapp/main.xhtml b/Kieker.WebGUI/src/main/webapp/main.xhtml index fab1ec87f41ad598872de96c862aa4a915c8b31e..3cef4dc5e4ad45a5989241797e1895119a2161ad 100644 --- a/Kieker.WebGUI/src/main/webapp/main.xhtml +++ b/Kieker.WebGUI/src/main/webapp/main.xhtml @@ -8,7 +8,7 @@ <f:view contentType="text/html"> <h:head> <title>Kieker.WebGUI</title> - <link rel="stylesheet" type="text/css" href="main.css" /> + <link rel="stylesheet" type="text/css" href="../main.css" /> </h:head> <h:body> diff --git a/Kieker.WebGUI/src/main/webapp/manageDependencies.css b/Kieker.WebGUI/src/main/webapp/manageDependencies.css index f6fc4c8afef2bc781eaff3fea5273aa2ae49ba6b..4f9b12fd3116141d257c9ede86522175e40f977f 100644 --- a/Kieker.WebGUI/src/main/webapp/manageDependencies.css +++ b/Kieker.WebGUI/src/main/webapp/manageDependencies.css @@ -8,6 +8,19 @@ font-size: 5px; } +.ui-layout-center { + font-size: 15px; +} + +.ui-layout-north { + font-size: 15px; +} + +.ui-layout-south { + font-size: 15px; +} + + .ui-datatable { font-size: 15px; } diff --git a/Kieker.WebGUI/src/main/webapp/manageDependencies.xhtml b/Kieker.WebGUI/src/main/webapp/manageDependencies.xhtml index 23481b11e4491eee922e356572415fd748e49629..6675184084b2b8dba6b701e2d98a773c181d2469 100644 --- a/Kieker.WebGUI/src/main/webapp/manageDependencies.xhtml +++ b/Kieker.WebGUI/src/main/webapp/manageDependencies.xhtml @@ -10,69 +10,75 @@ <title>Kieker.WebGUI - Dependencies</title> <link rel="stylesheet" type="text/css" href="../manageDependencies.css" /> </h:head> + <h:body> - <!-- The control panel to get back. --> - <p:panel> - <h:form> - <p:commandButton icon="ui-icon-circle-arrow-w" value="Mainmenu"/> - </h:form> - </p:panel> - <p:spacer height="20px"/> + <p:layout fullPage="true"> + <p:layoutUnit header="Navigation" position="north" collapsible="true" resizable="true"> + <!-- The control panel to get back. --> + <h:form> + Click + <p:commandLink ajax="false" action="/main"> + <h:outputText value="here" /> + </p:commandLink> + to get back to the main menu. + </h:form> + </p:layoutUnit> - <!-- This is the form for the uploading. --> - <p:panel header="Upload Dependencies"> - <h:outputText value="Currently only *.jar-Dependencies can be uploaded. The maximal file size is limited to 100 [MiByte]." /> - <br /> - <br /> - <h:form enctype="multipart/form-data"> - <p:fileUpload value="#{dependencyUploadController.file}" - allowTypes="/(\.|\/)(jar)$/" - sizeLimit="104857600" - mode="simple" /> - <br /> - <br /> - <p:commandButton value="Upload" ajax="true" - actionListener="#{dependencyUploadController.upload}" /> + <p:layoutUnit header="Currently available Dependencies" position="center" > + <!-- This form shows the currently available dependencies. --> + <h:form> + <p:dataTable id="currentDependencies" value="#{availableDependenciesBean.dependencies}" var="dependency" paginator="true" rows="10" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" > + + <p:column> + <f:facet name="header"> + Filename + </f:facet> + <h:outputText value="#{dependency}" > + <f:converter converterId="kieker.webgui.converter.MIDependencyToStringConverter" /> + </h:outputText> + </p:column> - </h:form> - </p:panel> + <p:column> + <f:facet name="header"> + Size + </f:facet> + <div align="center"> + <h:outputText value="#{dependency}" > + <f:converter converterId="kieker.webgui.converter.MIDependencyToIntConverter" /> + </h:outputText> + </div> + </p:column> - <p:spacer height="20px"/> + <p:column style="width:40px"> + <div align="center"> + <p:commandButton icon="ui-icon-trash" title="Delete" action="{availableDependenciesBean(dependency)}"/> + </div> + </p:column> + </p:dataTable> + </h:form> + </p:layoutUnit> + + <p:layoutUnit header="Upload Dependencies" position="south" collapsible="true" resizable="true"> + <!-- This is the form for the uploading. --> + <h:outputText value="Currently only *.jar-Dependencies can be uploaded. The maximal file size is limited to 100 [MiByte]." /> + <br /> + <br /> + <h:form enctype="multipart/form-data"> + <p:fileUpload value="#{dependencyUploadController.file}" + allowTypes="/(\.|\/)(jar)$/" + sizeLimit="104857600" + mode="simple" /> - <!-- This form shows the currently available dependencies. --> - <h:form> - <p:dataTable id="currentDependencies" value="#{availableDependenciesBean.dependencies}" var="dependency" paginator="true" rows="10" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15"> - <f:facet name="header"> - Currently available Dependencies - </f:facet> - <p:column> - <f:facet name="header"> - Filename - </f:facet> - <h:outputText value="#{dependency}" > - <f:converter converterId="kieker.webgui.converter.MIDependencyToStringConverter" /> - </h:outputText> - </p:column> + <p:spacer width ="50px" height="0px"/> + <p:commandLink ajax="false" actionListener="#{dependencyUploadController.upload}"> + <h:outputText value="Upload File" /> + </p:commandLink> + </h:form> - <p:column> - <f:facet name="header"> - Size - </f:facet> - <center> - <h:outputText value="#{dependency}" > - <f:converter converterId="kieker.webgui.converter.MIDependencyToIntConverter" /> - </h:outputText> - </center> - </p:column> + </p:layoutUnit> - <p:column style="width:40px"> - <center> - <p:commandButton icon="ui-icon-trash" title="Delete"/> - </center> - </p:column> - </p:dataTable> - </h:form> + </p:layout> </h:body> </f:view>