From 765eada9271ead1de98f25c6f4a4d51bc7dfeae9 Mon Sep 17 00:00:00 2001 From: Nils Christian Ehmke <nie@informatik.uni-kiel.de> Date: Mon, 1 Apr 2013 13:29:34 +0200 Subject: [PATCH] Minor modifications for CS and FB; Advanced the cockpit editor --- .../persistence/impl/FSProjectDAOImpl.java | 4 +++- .../beans/view/CurrentAnalysisEditorBean.java | 6 ++---- .../web/beans/view/CurrentCockpitEditorBean.java | 10 ++++++++++ .../main/webapp/pages/CockpitEditorPage.xhtml | 16 +++++++++++----- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/FSProjectDAOImpl.java b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/FSProjectDAOImpl.java index d831a6f9..6ee0d3cf 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/FSProjectDAOImpl.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/persistence/impl/FSProjectDAOImpl.java @@ -320,7 +320,9 @@ public class FSProjectDAOImpl implements IProjectDAO, ReleaseListener { + FSProjectDAOImpl.KAX_EXTENSION); final File realDstKaxFile = FSProjectDAOImpl.assembleKaxFile(newProjectName); - dstKaxFile.renameTo(realDstKaxFile); + if (!dstKaxFile.renameTo(realDstKaxFile)) { + throw new IOException("Could not rename KAX file."); + } this.initializeAvailableComponentsListContainers(newProjectName); } catch (final IOException ex) { diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentAnalysisEditorBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentAnalysisEditorBean.java index 387210a5..e43eaac1 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentAnalysisEditorBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentAnalysisEditorBean.java @@ -280,10 +280,8 @@ public final class CurrentAnalysisEditorBean { } /** - * This method tries to save the current project and informs the user about success or fail. - * - * @param overwriteNewerProject - * This flag determines whether a newer project should be overwritten. + * This method tries to save the current project and informs the user about success or fail. There should be two parameters within the request parameter map + * (layoutString and overwriteNewerProject) as this method is called via javascript. */ public synchronized void saveProject() { // Get the parameters diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentCockpitEditorBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentCockpitEditorBean.java index ad9ec6f0..94d56c45 100644 --- a/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentCockpitEditorBean.java +++ b/Kieker.WebGUI/src/main/java/kieker/webgui/web/beans/view/CurrentCockpitEditorBean.java @@ -17,6 +17,7 @@ package kieker.webgui.web.beans.view; import java.io.IOException; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; @@ -226,6 +227,15 @@ public final class CurrentCockpitEditorBean { return this.project; } + /** + * This is a dummy method returning just a collection of null objects. This is necessary due to Primefaces. + * + * @return A collection with two null objects. + */ + public synchronized Collection<Object> getProperties() { + return Collections.nCopies(3, null); + } + /** * This method sets the project stored within this bean and returns the new page for the navigation. * diff --git a/Kieker.WebGUI/src/main/webapp/pages/CockpitEditorPage.xhtml b/Kieker.WebGUI/src/main/webapp/pages/CockpitEditorPage.xhtml index 99a38f3a..bd0356c2 100644 --- a/Kieker.WebGUI/src/main/webapp/pages/CockpitEditorPage.xhtml +++ b/Kieker.WebGUI/src/main/webapp/pages/CockpitEditorPage.xhtml @@ -86,9 +86,9 @@ </div> </p:column> <p:column headerText="# Elements"><div align="center">#{viewElem.displayConnectors.size()}</div></p:column> - <p:column headerText="Description"> + <p:column headerText="Description" width="50"> <div align="center"> - <p:inplace id="normalEditor" editor="true"> + <p:inplace id="normalEditor" editor="true" > <p:inputText value="#{viewElem.description}" /> </p:inplace> </div> @@ -113,13 +113,19 @@ <!-- This is the component presenting the available properties. --> <p:layoutUnit style="font-size: 12px" position="south" size="150" header="#{localizedMessages.properties}" resizable="true" collapsible="true"> <h:form id="propertiesForm" > - <p:dataTable editable="true" var="property" value="[1]" rowIndexVar="rowIndex" emptyMessage="#{localizedMessages.noPropertiesAvailable}" rendered="#{not empty currentCockpitEditorBean.selectedNode}"> + <p:dataTable editable="true" var="property" value="#{currentCockpitEditorBean.properties}" rowIndexVar="rowIndex" emptyMessage="#{localizedMessages.noPropertiesAvailable}" rendered="#{not empty currentCockpitEditorBean.selectedNode}"> <p:column headerText="#{localizedMessages.property}" style="width:125px"> - <h:outputText id="nameProperty" value="#{localizedCockpitEditorPageMessages.name}" rendered="#{rowIndex == 0}"/> + <h:outputText value="Plugin-Name" rendered="#{rowIndex == 0}"/> + <h:outputText value="Display-Name" rendered="#{rowIndex == 1}"/> + <h:outputText value="#{localizedCockpitEditorPageMessages.name}" rendered="#{rowIndex == 2}"/> </p:column> <p:column headerText="#{localizedMessages.value}" style="width:125px"> - <h:outputText value="#{currentCockpitEditorBean.selectedNode.name}" /> + <h:outputText value="#{currentCockpitEditorBean.selectedNode.display.parent.name}" rendered="#{rowIndex == 0}" /> + <h:outputText value="#{currentCockpitEditorBean.selectedNode.display.name}" rendered="#{rowIndex == 1}" /> + <p:inplace editor="true" rendered="#{rowIndex == 2}"> + <p:inputText value="#{currentCockpitEditorBean.selectedNode.name}"/> + </p:inplace> </p:column> </p:dataTable> </h:form> -- GitLab