Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Feature GUI Prozesschritt Szenarien #14

Merged
merged 7 commits into from

2 participants

@juliushacker

Fertige Implementierung des Prozessschrittes zur Eingabe von Szenarien.

@juliushacker

Merge mit dem aktuellen Master erfolgt noch.

@juliushacker juliushacker Merge remote-tracking branch 'origin/master' into feature-gui-szenarien
Conflicts:
	src/main/java/applicationContext.xml
	src/main/java/dhbw/ka/mwi/businesshorizon2/BHApplication.java
	src/main/java/dhbw/ka/mwi/businesshorizon2/ui/initialscreen/projectlist/ProjectListPresenter.java
adec824
@juliushacker

Merge mit dem Master soweit fertig. @extr3m0 schaust du über den Code mal drüber? Thx! :-)

pom.xml
@@ -202,6 +202,11 @@
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <version>4.3.1.Final</version>
+ </dependency>
@chrisgahlert Owner

Wozu die Hibernate-Dependency?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@chrisgahlert

Sieht sonst gut aus! ;)

@juliushacker

@extr3m0 danke für den Hinweis mit der Dependency. Hatte testweise mit der Validation nach JSR 303 rumgespielt und da ist der Hibernate Validator die Referenzimplementierung. Leider taugt die JSR 303-Validierung aufgrund der fehlenden bedingten Validierung für uns nicht. Hatte dann schlicht vergessen, die Dependency wieder zu entfernen.

@juliushacker juliushacker merged commit b3b27b9 into master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Jan 9, 2013
  1. @juliushacker
Commits on Jan 10, 2013
  1. @juliushacker
  2. @juliushacker
Commits on Jan 11, 2013
  1. @juliushacker
  2. @juliushacker

    Bugfix Szenarienview

    juliushacker authored
    Eine Veraenderung des Status, ob das Szenario in die Berechnung
    einbezogen werden soll, wurde durch den Presenter nicht ins Model
    uebernommen.
  3. @juliushacker

    Merge remote-tracking branch 'origin/master' into feature-gui-szenarien

    juliushacker authored
    Conflicts:
    	src/main/java/applicationContext.xml
    	src/main/java/dhbw/ka/mwi/businesshorizon2/BHApplication.java
    	src/main/java/dhbw/ka/mwi/businesshorizon2/ui/initialscreen/projectlist/ProjectListPresenter.java
Commits on Jan 12, 2013
  1. @juliushacker
This page is out of date. Refresh to see the latest.
Showing with 745 additions and 13 deletions.
  1. +2 −2 src/main/java/applicationContext.xml
  2. +1 −2  src/main/java/dhbw/ka/mwi/businesshorizon2/BHApplication.java
  3. +1 −0  src/main/java/dhbw/ka/mwi/businesshorizon2/BusinessHorizonException.java
  4. +10 −1 src/main/java/dhbw/ka/mwi/businesshorizon2/models/Project.java
  5. +19 −1 src/main/java/dhbw/ka/mwi/businesshorizon2/models/Szenario.java
  6. +5 −2 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/initialscreen/projectlist/ProjectListPresenter.java
  7. +12 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/IllegalValueException.java
  8. +24 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/InvalidStateEvent.java
  9. +2 −0  src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/ScreenPresenter.java
  10. +24 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/ValidStateEvent.java
  11. +8 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/ValidateContentStateEvent.java
  12. +17 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/contentcontainer/ContentContainerPresenter.java
  13. +2 −1  src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/contentcontainer/ContentContainerViewImpl.java
  14. +7 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/method/MethodPresenter.java
  15. +15 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/method/ShowMethodViewEvent.java
  16. +14 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/navigation/NavigationPresenter.java
  17. +17 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/navigation/NavigationViewImpl.java
  18. +2 −0  src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/navigation/NavigationViewInterface.java
  19. +7 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/output/OutputPresenter.java
  20. +15 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/output/ShowOutputViewEvent.java
  21. +8 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/parameter/ParameterPresenter.java
  22. +15 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/parameter/ShowParameterViewEvent.java
  23. +8 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/period/PeriodPresenter.java
  24. +15 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/period/ShowPeriodViewEvent.java
  25. +237 −2 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/scenario/ScenarioPresenter.java
  26. +192 −2 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/scenario/ScenarioViewImpl.java
  27. +52 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/scenario/ScenarioViewInterface.java
  28. +14 −0 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/scenario/ShowScenarioViewEvent.java
View
4 src/main/java/applicationContext.xml
@@ -33,7 +33,7 @@
<!-- Models -->
<bean name="project" class="dhbw.ka.mwi.businesshorizon2.models.Project"
- scope="session" />
+ scope="session" />
<bean name="user" class="dhbw.ka.mwi.businesshorizon2.models.User"
scope="session" />
@@ -41,7 +41,7 @@
<bean name="logInPresenter" class="dhbw.ka.mwi.businesshorizon2.ui.login.LogInScreenPresenter"
scope="session" />
<bean name="logInScreenView" class="dhbw.ka.mwi.businesshorizon2.ui.login.LogInScreenViewImpl"
- scope="session" />
+ scope="session" />
<!-- Initial-Screen -->
View
3  src/main/java/dhbw/ka/mwi/businesshorizon2/BHApplication.java
@@ -104,6 +104,5 @@ public void showProcessView(ShowProjectEvent event) {
eventBus.fireEvent(new ShowProcessViewEvent());
logger.debug("ShowProzessViewEvent gefeuert");
- }
-
+ }
}
View
1  src/main/java/dhbw/ka/mwi/businesshorizon2/BusinessHorizonException.java
@@ -9,6 +9,7 @@
*
*/
public class BusinessHorizonException extends Exception {
+ private static final long serialVersionUID = 1L;
public BusinessHorizonException(String s) {
super("Business Horizon Application Error: " + s);
View
11 src/main/java/dhbw/ka/mwi/businesshorizon2/models/Project.java
@@ -26,6 +26,8 @@
protected Date lastChanged;
protected String name;
+
+ protected List<Szenario> scenarios = new ArrayList<Szenario>();
/**
* Konstruktor des Projekts, mit dessen der Name gesetzt wird.
@@ -133,5 +135,12 @@ public void setLastChanged(Date lastChanged) {
public String getName() {
return name;
}
-
+
+ public List<Szenario> getScenarios() {
+ return this.scenarios;
+ }
+
+ public void addScenario(Szenario scenario) {
+ this.scenarios.add(scenario);
+ }
}
View
20 src/main/java/dhbw/ka/mwi/businesshorizon2/models/Szenario.java
@@ -2,17 +2,27 @@
public class Szenario {
private double rateReturnEquity;
+
private double rateReturnCapitalStock;
+
private double businessTax;
+
private double corporateAndSolitaryTax;
+
+ private boolean includeInCalculation;
public Szenario(double rateReturnEquity, double rateReturnCapitalStock,
- double businessTax, double corporateAndSolitaryTax) {
+ double businessTax, double corporateAndSolitaryTax, boolean includeInCalculation) {
super();
this.rateReturnEquity = rateReturnEquity;
this.rateReturnCapitalStock = rateReturnCapitalStock;
this.businessTax = businessTax;
this.corporateAndSolitaryTax = corporateAndSolitaryTax;
+ this.includeInCalculation = includeInCalculation;
+ }
+
+ public Szenario() {
+ super();
}
public double getRateReturnEquity() {
@@ -47,4 +57,12 @@ public void setCorporateAndSolitaryTax(double corporateAndSolitaryTax) {
this.corporateAndSolitaryTax = corporateAndSolitaryTax;
}
+ public boolean isIncludeInCalculation() {
+ return includeInCalculation;
+ }
+
+ public void setIncludeInCalculation(boolean includeInCalculation) {
+ this.includeInCalculation = includeInCalculation;
+ }
+
}
View
7 .../java/dhbw/ka/mwi/businesshorizon2/ui/initialscreen/projectlist/ProjectListPresenter.java
@@ -34,7 +34,7 @@
@Autowired
private EventBus eventBus;
- @Autowired
+ //@Autowired
private User user;
@Autowired
@@ -50,8 +50,11 @@
*/
@PostConstruct
private void init() {
- eventBus.addHandler(this);
+ eventBus.addHandler(this);
logger.debug("Eventhandler Hinzugefügt");
+
+ user = new User("", "", "", "", ""); // TODO Hier sollte der User des
+ // Authetifizierungsprozesses ausgewaehlt werden
}
/**
View
12 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/IllegalValueException.java
@@ -0,0 +1,12 @@
+package dhbw.ka.mwi.businesshorizon2.ui.process;
+
+import dhbw.ka.mwi.businesshorizon2.BusinessHorizonException;
+
+public class IllegalValueException extends BusinessHorizonException {
+ private static final long serialVersionUID = 1L;
+
+ public IllegalValueException(String s) {
+ super(s);
+ }
+
+}
View
24 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/InvalidStateEvent.java
@@ -0,0 +1,24 @@
+package dhbw.ka.mwi.businesshorizon2.ui.process;
+
+import com.mvplite.event.Event;
+
+import dhbw.ka.mwi.businesshorizon2.ui.process.navigation.NavigationSteps;
+
+public class InvalidStateEvent extends Event {
+ private static final long serialVersionUID = 1L;
+
+ private NavigationSteps navigationStep;
+
+ public InvalidStateEvent(NavigationSteps navigationStep) {
+ this.setNavigationStep(navigationStep);
+ }
+
+ public NavigationSteps getNavigationStep() {
+ return navigationStep;
+ }
+
+ public void setNavigationStep(NavigationSteps navigationStep) {
+ this.navigationStep = navigationStep;
+ }
+
+}
View
2  src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/ScreenPresenter.java
@@ -36,4 +36,6 @@
* @author Julius Hacker
*/
public abstract boolean isSelectable();
+
+ public abstract void validate(ValidateContentStateEvent event);
}
View
24 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/ValidStateEvent.java
@@ -0,0 +1,24 @@
+package dhbw.ka.mwi.businesshorizon2.ui.process;
+
+import com.mvplite.event.Event;
+
+import dhbw.ka.mwi.businesshorizon2.ui.process.navigation.NavigationSteps;
+
+public class ValidStateEvent extends Event {
+ private static final long serialVersionUID = 1L;
+
+ private NavigationSteps navigationStep;
+
+ public ValidStateEvent(NavigationSteps navigationStep) {
+ this.setNavigationStep(navigationStep);
+ }
+
+ public NavigationSteps getNavigationStep() {
+ return navigationStep;
+ }
+
+ public void setNavigationStep(NavigationSteps navigationStep) {
+ this.navigationStep = navigationStep;
+ }
+
+}
View
8 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/ValidateContentStateEvent.java
@@ -0,0 +1,8 @@
+package dhbw.ka.mwi.businesshorizon2.ui.process;
+
+import com.mvplite.event.Event;
+
+public class ValidateContentStateEvent extends Event {
+ private static final long serialVersionUID = 1L;
+
+}
View
17 ...a/dhbw/ka/mwi/businesshorizon2/ui/process/contentcontainer/ContentContainerPresenter.java
@@ -10,12 +10,18 @@
import com.mvplite.presenter.Presenter;
import dhbw.ka.mwi.businesshorizon2.ui.process.ShowNavigationStepEvent;
+import dhbw.ka.mwi.businesshorizon2.ui.process.ValidateContentStateEvent;
import dhbw.ka.mwi.businesshorizon2.ui.process.method.MethodViewInterface;
+import dhbw.ka.mwi.businesshorizon2.ui.process.method.ShowMethodViewEvent;
import dhbw.ka.mwi.businesshorizon2.ui.process.navigation.NavigationSteps;
import dhbw.ka.mwi.businesshorizon2.ui.process.output.OutputViewInterface;
+import dhbw.ka.mwi.businesshorizon2.ui.process.output.ShowOutputViewEvent;
import dhbw.ka.mwi.businesshorizon2.ui.process.parameter.ParameterViewInterface;
+import dhbw.ka.mwi.businesshorizon2.ui.process.parameter.ShowParameterViewEvent;
import dhbw.ka.mwi.businesshorizon2.ui.process.period.PeriodViewInterface;
+import dhbw.ka.mwi.businesshorizon2.ui.process.period.ShowPeriodViewEvent;
import dhbw.ka.mwi.businesshorizon2.ui.process.scenario.ScenarioViewInterface;
+import dhbw.ka.mwi.businesshorizon2.ui.process.scenario.ShowScenarioViewEvent;
/**
* Die Klasse ist kuemmert sich als Container darum, dass in der Prozesssicht
@@ -74,18 +80,23 @@ public void onShowNavigationStep(ShowNavigationStepEvent event) {
switch(event.getStep()) {
case METHOD:
newView = methodView;
+ eventBus.fireEvent(new ShowMethodViewEvent());
break;
case PERIOD:
newView = periodView;
+ eventBus.fireEvent(new ShowPeriodViewEvent());
break;
case PARAMETER:
newView = parameterView;
+ eventBus.fireEvent(new ShowParameterViewEvent());
break;
case SCENARIO:
newView = processingView;
+ eventBus.fireEvent(new ShowScenarioViewEvent());
break;
case OUTPUT:
newView = outputView;
+ eventBus.fireEvent(new ShowOutputViewEvent());
break;
default:
newView = null;
@@ -98,7 +109,13 @@ public void onShowNavigationStep(ShowNavigationStepEvent event) {
logger.debug("Prozesschritt " + event.getStep().getCaption() + " wird angezeigt");
+ // (De-)Aktiviere je nachdem, ob ein vorheriger bzw. nachfolgender Prozessschritt existiert
+ // die entsprechenden Buttons.
this.switchStepButtons();
+
+ // Feuere event, um die ScreenPresenter anzuweisen, ihren Zustand zu validieren und dem
+ // User gegebenenfalls einen Fehlerhinweis zu geben
+ eventBus.fireEvent(new ValidateContentStateEvent());
}
public void showNextStep() {
View
3  ...va/dhbw/ka/mwi/businesshorizon2/ui/process/contentcontainer/ContentContainerViewImpl.java
@@ -44,7 +44,8 @@ public void init() {
this.layout = new VerticalLayout();
layout.setSizeFull();
- this.setSizeFull();
+ this.setSizeUndefined();
+ this.setWidth(100, UNITS_PERCENTAGE);
this.backButton = new Button("Vorheriger Schritt");
this.nextButton = new Button("N\u00e4chster Schritt");
View
7 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/method/MethodPresenter.java
@@ -8,6 +8,7 @@
import dhbw.ka.mwi.businesshorizon2.models.Project;
import dhbw.ka.mwi.businesshorizon2.ui.process.ScreenPresenter;
+import dhbw.ka.mwi.businesshorizon2.ui.process.ValidateContentStateEvent;
/**
* Der Presenter fuer die Maske des Prozessschrittes zur Auswahl der Berechnungsmethoden.
@@ -47,4 +48,10 @@ public boolean isSelectable() {
// TODO Auto-generated method stub
return false;
}
+
+ @Override
+ public void validate(ValidateContentStateEvent event) {
+ // TODO Auto-generated method stub
+
+ }
}
View
15 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/method/ShowMethodViewEvent.java
@@ -0,0 +1,15 @@
+package dhbw.ka.mwi.businesshorizon2.ui.process.method;
+
+import com.mvplite.event.Event;
+
+/**
+ * Der Event, der zum Anzeigen des Haupt-Fensters z.B. in der BHApplication-Klasse
+ * abgesetzt wird.
+ *
+ * @author Christian Gahlert
+ *
+ */
+public class ShowMethodViewEvent extends Event {
+ private static final long serialVersionUID = 1L;
+
+}
View
14 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/navigation/NavigationPresenter.java
@@ -5,9 +5,12 @@
import org.springframework.beans.factory.annotation.Autowired;
import com.mvplite.event.EventBus;
+import com.mvplite.event.EventHandler;
import com.mvplite.presenter.Presenter;
+import dhbw.ka.mwi.businesshorizon2.ui.process.InvalidStateEvent;
import dhbw.ka.mwi.businesshorizon2.ui.process.ShowNavigationStepEvent;
+import dhbw.ka.mwi.businesshorizon2.ui.process.ValidStateEvent;
/**
* Der Presenter zur Navigation der Prozessansicht.
@@ -29,6 +32,7 @@
*/
@PostConstruct
public void init() {
+ eventBus.addHandler(this);
}
/**
@@ -40,4 +44,14 @@ public void init() {
public void showStep(NavigationSteps step) {
eventBus.fireEvent(new ShowNavigationStepEvent(step));
}
+
+ @EventHandler
+ public void handleInvalidState(InvalidStateEvent event) {
+ getView().setButtonToInvalid(event.getNavigationStep(), true);
+ }
+
+ @EventHandler
+ public void handleValidState(ValidStateEvent event) {
+ getView().setButtonToInvalid(event.getNavigationStep(), false);
+ }
}
View
17 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/navigation/NavigationViewImpl.java
@@ -1,10 +1,14 @@
package dhbw.ka.mwi.businesshorizon2.ui.process.navigation;
+import java.util.HashMap;
+import java.util.Map;
+
import javax.annotation.PostConstruct;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
+import com.vaadin.terminal.UserError;
import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
@@ -28,6 +32,8 @@
private HorizontalLayout layout;
private HorizontalLayout innerlayout;
+ private Map<NavigationSteps, Button> navigationButtons = new HashMap<NavigationSteps, Button>();
+
/**
* Dies ist der Konstruktor, der von Spring nach der Initialierung der Dependencies
* aufgerufen wird. Er registriert sich selbst beim Presenter und initialisiert die
@@ -81,6 +87,7 @@ private void generateUi() {
@Override
public void addNavigationButton(final NavigationSteps navigationStep) {
Button navigationButton = new Button(navigationStep.getCaption());
+ this.navigationButtons.put(navigationStep, navigationButton);
navigationButton.addListener(new Button.ClickListener() {
private static final long serialVersionUID = 7411091035775152765L;
@@ -95,5 +102,15 @@ public void buttonClick(ClickEvent event) {
this.innerlayout.setComponentAlignment(navigationButton, Alignment.BOTTOM_CENTER);
}
+
+ public void setButtonToInvalid(NavigationSteps navigationStep, boolean invalid) {
+ logger.debug("Setze Fehlerzustand von Navigationsbutton");
+ if(invalid) {
+ this.navigationButtons.get(navigationStep).setComponentError(new UserError("Ungueltige Daten - Aenderungen noetig!"));
+ }
+ else {
+ this.navigationButtons.get(navigationStep).setComponentError(null);
+ }
+ }
}
View
2  ...main/java/dhbw/ka/mwi/businesshorizon2/ui/process/navigation/NavigationViewInterface.java
@@ -16,4 +16,6 @@
* @author Julius Hacker
*/
public void addNavigationButton(NavigationSteps value);
+
+ public void setButtonToInvalid(NavigationSteps navigationStep, boolean invalid);
}
View
7 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/output/OutputPresenter.java
@@ -7,6 +7,7 @@
import com.mvplite.event.EventBus;
import dhbw.ka.mwi.businesshorizon2.ui.process.ScreenPresenter;
+import dhbw.ka.mwi.businesshorizon2.ui.process.ValidateContentStateEvent;
/**
* Der Presenter fuer die Maske des Prozessschrittes zur Ergebnisausgabe.
@@ -42,5 +43,11 @@ public boolean isSelectable() {
// TODO Auto-generated method stub
return false;
}
+
+ @Override
+ public void validate(ValidateContentStateEvent event) {
+ // TODO Auto-generated method stub
+
+ }
}
View
15 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/output/ShowOutputViewEvent.java
@@ -0,0 +1,15 @@
+package dhbw.ka.mwi.businesshorizon2.ui.process.output;
+
+import com.mvplite.event.Event;
+
+/**
+ * Der Event, der zum Anzeigen des Haupt-Fensters z.B. in der BHApplication-Klasse
+ * abgesetzt wird.
+ *
+ * @author Christian Gahlert
+ *
+ */
+public class ShowOutputViewEvent extends Event {
+ private static final long serialVersionUID = 1L;
+
+}
View
8 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/parameter/ParameterPresenter.java
@@ -3,6 +3,7 @@
import javax.annotation.PostConstruct;
import dhbw.ka.mwi.businesshorizon2.ui.process.ScreenPresenter;
+import dhbw.ka.mwi.businesshorizon2.ui.process.ValidateContentStateEvent;
import dhbw.ka.mwi.businesshorizon2.ui.process.parameter.ParameterViewInterface;
/**
@@ -39,4 +40,11 @@ public boolean isSelectable() {
// TODO Auto-generated method stub
return false;
}
+
+
+ @Override
+ public void validate(ValidateContentStateEvent event) {
+ // TODO Auto-generated method stub
+
+ }
}
View
15 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/parameter/ShowParameterViewEvent.java
@@ -0,0 +1,15 @@
+package dhbw.ka.mwi.businesshorizon2.ui.process.parameter;
+
+import com.mvplite.event.Event;
+
+/**
+ * Der Event, der zum Anzeigen des Haupt-Fensters z.B. in der BHApplication-Klasse
+ * abgesetzt wird.
+ *
+ * @author Christian Gahlert
+ *
+ */
+public class ShowParameterViewEvent extends Event {
+ private static final long serialVersionUID = 1L;
+
+}
View
8 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/period/PeriodPresenter.java
@@ -3,6 +3,7 @@
import javax.annotation.PostConstruct;
import dhbw.ka.mwi.businesshorizon2.ui.process.ScreenPresenter;
+import dhbw.ka.mwi.businesshorizon2.ui.process.ValidateContentStateEvent;
import dhbw.ka.mwi.businesshorizon2.ui.process.period.PeriodViewInterface;
/**
@@ -39,5 +40,12 @@ public boolean isSelectable() {
// TODO Auto-generated method stub
return false;
}
+
+
+ @Override
+ public void validate(ValidateContentStateEvent event) {
+ // TODO Auto-generated method stub
+
+ }
}
View
15 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/period/ShowPeriodViewEvent.java
@@ -0,0 +1,15 @@
+package dhbw.ka.mwi.businesshorizon2.ui.process.period;
+
+import com.mvplite.event.Event;
+
+/**
+ * Der Event, der zum Anzeigen des Haupt-Fensters z.B. in der BHApplication-Klasse
+ * abgesetzt wird.
+ *
+ * @author Christian Gahlert
+ *
+ */
+public class ShowPeriodViewEvent extends Event {
+ private static final long serialVersionUID = 1L;
+
+}
View
239 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/scenario/ScenarioPresenter.java
@@ -1,12 +1,23 @@
package dhbw.ka.mwi.businesshorizon2.ui.process.scenario;
+import java.util.List;
+
import javax.annotation.PostConstruct;
+import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import com.mvplite.event.EventBus;
+import com.mvplite.event.EventHandler;
+import dhbw.ka.mwi.businesshorizon2.models.Project;
+import dhbw.ka.mwi.businesshorizon2.models.Szenario;
+import dhbw.ka.mwi.businesshorizon2.ui.process.IllegalValueException;
+import dhbw.ka.mwi.businesshorizon2.ui.process.InvalidStateEvent;
import dhbw.ka.mwi.businesshorizon2.ui.process.ScreenPresenter;
+import dhbw.ka.mwi.businesshorizon2.ui.process.ValidStateEvent;
+import dhbw.ka.mwi.businesshorizon2.ui.process.ValidateContentStateEvent;
+import dhbw.ka.mwi.businesshorizon2.ui.process.navigation.NavigationSteps;
import dhbw.ka.mwi.businesshorizon2.ui.process.scenario.ScenarioViewInterface;
/**
@@ -19,9 +30,14 @@
public class ScenarioPresenter extends ScreenPresenter<ScenarioViewInterface> {
private static final long serialVersionUID = 1L;
+ private Logger logger = Logger.getLogger("ScenarioPresenter.class");
+
@Autowired
private EventBus eventBus;
+ @Autowired
+ private Project project;
+
/**
* Dies ist der Konstruktor, der von Spring nach der Initialierung der Dependencies
* aufgerufen wird. Er registriert lediglich sich selbst als einen EventHandler.
@@ -30,12 +46,35 @@
*/
@PostConstruct
public void init() {
+ eventBus.addHandler(this);
}
+ /**
+ * Diese Methode ueberprueft, ob die im Screen getaetigten Eingaben valide und somit korrekt
+ * sind. Er nutzt hierbei die Validierungsmethoden zur Ueberpruefung der einzelnen Dateneingabefelder.
+ *
+ * @author Julius Hacker
+ * @return true: Die Eingabewerte der Maske sind insgesamt korrekt
+ * false: Die Eingabewerte der Maske sind an mindestens einer Stelle nicht korrekt.
+ */
@Override
public boolean isValid() {
- // TODO Auto-generated method stub
- return false;
+ boolean isValid = true;
+
+ List<Szenario> scenarios = this.project.getScenarios();
+
+ int scenarioNumber = 1;
+ for(Szenario scenario : scenarios) {
+ if(scenario.isIncludeInCalculation()) {
+ if(!isValidCorporateAndSolitaryTax(scenarioNumber) || !isValidBusinessTax(scenarioNumber) || !isValidRateReturnCapitalStock(scenarioNumber) || !isValidRateReturnEquity(scenarioNumber)) {
+ isValid = false;
+ }
+ }
+
+ scenarioNumber++;
+ }
+
+ return isValid;
}
@Override
@@ -44,4 +83,200 @@ public boolean isSelectable() {
return false;
}
+ /**
+ * Diese Methode fuegt dem Projekt ein neues Szenario hinzu und zeigt die dazugehoerigen
+ * Eingabefelder auf dem Screen an.
+ *
+ * @author Julius Hacker
+ */
+ public void addScenario() {
+ Szenario scenario = new Szenario();
+ this.project.addScenario(scenario);
+
+ getView().addScenario(Double.toString(scenario.getRateReturnEquity()), Double.toString(scenario.getRateReturnCapitalStock()), Double.toString(scenario.getCorporateAndSolitaryTax()), Double.toString(scenario.getBusinessTax()), scenario.isIncludeInCalculation(), this.project.getScenarios().size());
+ }
+
+ /**
+ * Dieser EventHandler reagiert auf die Nachricht, dass der Prozesschritt zur Szenarienanzeige
+ * angezeigt werden soll. Er legt hierbei, falls noch kein Szenario existiert, zunaechst das im
+ * Fachkonzept angegebene Standardszenario an und baut den Screen danach komplett neu auf.
+ */
+ @EventHandler
+ public void showScenarios(ShowScenarioViewEvent event) {
+ List<Szenario> scenarios = this.project.getScenarios();
+ if(scenarios.size() < 1) {
+ scenarios.add(new Szenario(14.0, 10.0, 3.5, 15.0, true));
+ }
+
+ getView().clear();
+
+ int numberOfScenario = 1;
+ for(Szenario scenario : scenarios) {
+ getView().addScenario(Double.toString(scenario.getRateReturnEquity()), Double.toString(scenario.getRateReturnCapitalStock()), Double.toString(scenario.getCorporateAndSolitaryTax()), Double.toString(scenario.getBusinessTax()), scenario.isIncludeInCalculation(), numberOfScenario);
+ numberOfScenario++;
+ }
+ }
+
+ /**
+ * Dieser Handler reagiert auf die Nachricht, dass der Prozesschritt seinen Inhalt validieren soll.
+ * Er bedient sich dabei der Methode isValid und setzt den Status des Screens entsprechend des Ergebnisses
+ * auf valide oder invalide.
+ *
+ * @author Julius Hacker
+ */
+ @EventHandler
+ public void validate(ValidateContentStateEvent event) {
+ if(!this.isValid()) {
+ eventBus.fireEvent(new InvalidStateEvent(NavigationSteps.SCENARIO));
+ logger.debug("Scenario not valid, InvalidStateEvent fired");
+ }
+ else {
+ eventBus.fireEvent(new ValidStateEvent(NavigationSteps.SCENARIO));
+ logger.debug("Scenario valid, ValidStateEvent fired");
+ }
+ }
+
+ /**
+ * Diese Methode ueberprueft, ob die Eingabe im Eingabefeld zur Renditeforderung Eigenkapital korrekt ist.
+ *
+ * @author Julius Hacker
+ * @return true: Eingabe ist korrekt und gueltig.
+ * false: Eingabe ist nicht korrekt.
+ */
+ public boolean isValidRateReturnEquity(int scenarioNumber) {
+ boolean isValid = true;
+
+ try {
+ Double rateReturnEquity = Double.parseDouble(getView().getValue(scenarioNumber, "rateReturnEquity"));
+
+ if(rateReturnEquity < 0) {
+ throw new IllegalValueException("corporateAndSolitaryTax kleiner 0");
+ }
+
+ getView().setValid(scenarioNumber, "rateReturnEquity");
+ }
+ catch(Exception exception) {
+ getView().setInvalid(scenarioNumber, "rateReturnEquity");
+ isValid = false;
+ }
+
+ return isValid;
+ }
+
+ /**
+ * Diese Methode ueberprueft, ob die Eingabe im Eingabefeld zur Renditeforderung Fremdkapital korrekt ist.
+ *
+ * @author Julius Hacker
+ * @return true: Eingabe ist korrekt und gueltig.
+ * false: Eingabe ist nicht korrekt.
+ */
+ public boolean isValidRateReturnCapitalStock(int scenarioNumber) {
+ boolean isValid = true;
+
+ try {
+ Double rateReturnCapitalStock = Double.parseDouble(getView().getValue(scenarioNumber, "rateReturnCapitalStock"));
+
+ if(rateReturnCapitalStock < 0) {
+ throw new IllegalValueException("corporateAndSolitaryTax kleiner 0");
+ }
+
+ getView().setValid(scenarioNumber, "rateReturnCapitalStock");
+ }
+ catch(Exception exception) {
+ getView().setInvalid(scenarioNumber, "rateReturnCapitalStock");
+ isValid = false;
+ }
+
+ return isValid;
+ }
+
+ /**
+ * Diese Methode ueberprueft, ob die Eingabe im Eingabefeld zur Gewerbesteuer korrekt ist.
+ *
+ * @author Julius Hacker
+ * @return true: Eingabe ist korrekt und gueltig.
+ * false: Eingabe ist nicht korrekt.
+ */
+ public boolean isValidBusinessTax(int scenarioNumber) {
+ boolean isValid = true;
+
+ try {
+ Double businessTax = Double.parseDouble(getView().getValue(scenarioNumber, "businessTax"));
+
+ if(businessTax < 0) {
+ throw new IllegalValueException("corporateAndSolitaryTax kleiner 0");
+ }
+
+ getView().setValid(scenarioNumber, "businessTax");
+ }
+ catch(Exception exception) {
+ getView().setInvalid(scenarioNumber, "businessTax");
+ isValid = false;
+ }
+
+ return isValid;
+ }
+
+ /**
+ * Diese Methode ueberprueft, ob die Eingabe im Eingabefeld zur Koerperschaftssteuer
+ * mit Solidaritaetszuschlag korrekt ist.
+ *
+ * @author Julius Hacker
+ * @return true: Eingabe ist korrekt und gueltig.
+ * false: Eingabe ist nicht korrekt.
+ */
+ public boolean isValidCorporateAndSolitaryTax(int scenarioNumber) {
+ boolean isValid = true;
+
+ try {
+ Double corporateAndSolitaryTax = Double.parseDouble(getView().getValue(scenarioNumber, "corporateAndSolitaryTax"));
+
+ if(corporateAndSolitaryTax < 0) {
+ throw new IllegalValueException("corporateAndSolitaryTax kleiner 0");
+ }
+
+ getView().setValid(scenarioNumber, "corporateAndSolitaryTax");
+ }
+ catch(Exception exception) {
+ getView().setInvalid(scenarioNumber, "corporateAndSolitaryTax");
+ isValid = false;
+ }
+
+ return isValid;
+ }
+
+ /**
+ * Diese Methode holt sich die in den Eingabefeldern der View eingetragenen Werte und
+ * speichert sie nach einer Validierung im Szenarien-Model. Die Methode wird insbesondere
+ * durch die EventHandler der View genutzt, die auf entsprechende Textaenderungen reagieren.
+ *
+ * @author Julius Hacker
+ * @param scenarioNumber Nummer des Szenarios, dessen Werte geaendert wurden.
+ */
+ public void updateScenario(int scenarioNumber) {
+ Szenario scenario = this.project.getScenarios().get(scenarioNumber-1);
+
+ if(isValidRateReturnEquity(scenarioNumber)) {
+ scenario.setRateReturnEquity(Double.parseDouble(getView().getValue(scenarioNumber, "rateReturnEquity")));
+ logger.debug("Renditeforderung Eigenkapital Szenario " + scenarioNumber + " auf " + scenario.getRateReturnEquity() + " (" + getView().getValue(scenarioNumber, "rateReturnEquity") + ")");
+ }
+
+ if(isValidRateReturnCapitalStock(scenarioNumber)) {
+ scenario.setRateReturnCapitalStock(Double.parseDouble(getView().getValue(scenarioNumber, "rateReturnCapitalStock")));
+ logger.debug("Renditeforderung Fremdkapital Szenario " + scenarioNumber + " auf " + scenario.getRateReturnCapitalStock() + " (" + getView().getValue(scenarioNumber, "rateReturnCapitalStock") + ")");
+ }
+
+ if(isValidBusinessTax(scenarioNumber)) {
+ scenario.setBusinessTax(Double.parseDouble(getView().getValue(scenarioNumber, "businessTax")));
+ logger.debug("Gewerbesteuer Szenario " + scenarioNumber + " auf " + scenario.getBusinessTax() + " (" + getView().getValue(scenarioNumber, "businessTax") + ")");
+ }
+
+ if(isValidCorporateAndSolitaryTax(scenarioNumber)) {
+ scenario.setCorporateAndSolitaryTax(Double.parseDouble(getView().getValue(scenarioNumber, "corporateAndSolitaryTax")));
+ logger.debug("Koerperschaftssteuer und Solidaritaetszuschlag Szenario " + scenarioNumber + " auf " + scenario.getCorporateAndSolitaryTax() + " (" + getView().getValue(scenarioNumber, "corporateAndSolitaryTax") + ")");
+ }
+
+ scenario.setIncludeInCalculation(getView().getIncludeInCalculation(scenarioNumber));
+ }
+
}
View
194 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/scenario/ScenarioViewImpl.java
@@ -1,11 +1,28 @@
package dhbw.ka.mwi.businesshorizon2.ui.process.scenario;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
import javax.annotation.PostConstruct;
+import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
+import com.vaadin.data.Property;
+import com.vaadin.data.Property.ValueChangeEvent;
+import com.vaadin.terminal.UserError;
+import com.vaadin.ui.AbstractComponent;
+import com.vaadin.ui.AbstractField;
+import com.vaadin.ui.Alignment;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.CheckBox;
+import com.vaadin.ui.FormLayout;
+import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
+import com.vaadin.ui.TextField;
import com.vaadin.ui.VerticalLayout;
+import com.vaadin.ui.Button.ClickEvent;
/**
* Diese Klasse implementiert das GUI fuer den Prozessschritt "Methoden" in Vaadin.
@@ -16,8 +33,14 @@
public class ScenarioViewImpl extends VerticalLayout implements ScenarioViewInterface {
private static final long serialVersionUID = 1L;
+ private final Logger logger = Logger.getLogger("ScenarioViewImpl.class");
+
@Autowired
private ScenarioPresenter presenter;
+
+ private VerticalLayout vlScenarios;
+
+ private List<HashMap<String, AbstractComponent>> scenarios = new ArrayList<HashMap<String, AbstractComponent>>();
/**
* Dies ist der Konstruktor, der von Spring nach der Initialierung der Dependencies
@@ -38,8 +61,175 @@ public void init() {
* @author Julius Hacker
*/
private void generateUi() {
- Label testlabel = new Label("szenarientest");
- this.addComponent(testlabel);
+ this.vlScenarios = new VerticalLayout();
+
+ Button newScenario = new Button("Weiteres Szenario");
+
+ newScenario.addListener(new Button.ClickListener() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ presenter.addScenario();
+ }
+ });
+
+ this.addComponent(this.vlScenarios);
+ this.addComponent(newScenario);
+ this.setComponentAlignment(newScenario, Alignment.BOTTOM_RIGHT);
}
+
+ /**
+ * Die Methode fuegt der View ein Szenario hinzu. Sie baut hierzu saemtliche
+ * notwendigen GUI-Elemente und entsprecheenden Listener hinzu.
+ *
+ * @author Julius Hacker
+ * @param rateReturnEquity Standardwert fuer die Renditeforderung Eigenkapital
+ * @param rateReturnCapitalStock Standardwert fuer die Renditeforderung Fremdkapital
+ * @param businessTax Standardwert fuer die Gewerbesteuer
+ * @param corporateAndSolitaryTax Standardwert fuer die Koerperschaftssteuer mit Solidaritaetszuschlag.
+ */
+ @Override
+ public void addScenario(String rateReturnEquity,
+ String rateReturnCapitalStock, String corporateAndSolitaryTax,
+ String businessTax, boolean isIncludeInCalculation, final int number) {
+ HashMap<String, AbstractComponent> scenarioComponents = new HashMap<String, AbstractComponent>();
+
+ Property.ValueChangeListener changeListener = new Property.ValueChangeListener() {
+ private static final long serialVersionUID = 1L;
+ @Override
+ public void valueChange(ValueChangeEvent event) {
+ presenter.updateScenario(number);
+ logger.debug("TextChange ausgeloest");
+ logger.debug("ChangeListener " + System.identityHashCode(this));
+ }
+ };
+
+ HorizontalLayout hlScenario = new HorizontalLayout();
+ hlScenario.setSizeFull();
+
+ FormLayout formLeft = new FormLayout();
+ FormLayout formRight = new FormLayout();
+ hlScenario.addComponent(formLeft);
+ hlScenario.addComponent(formRight);
+
+ final Label scenarioName = new Label("<strong>Szenario " + number + "</strong>");
+ scenarioName.setContentMode(Label.CONTENT_XHTML);
+ formLeft.addComponent(scenarioName);
+
+ final CheckBox cbBerechnungEinbezug = new CheckBox("In Berechnung einbeziehen");
+ cbBerechnungEinbezug.setValue(isIncludeInCalculation);
+ cbBerechnungEinbezug.setImmediate(true);
+ cbBerechnungEinbezug.addListener(new ClickListener() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ presenter.updateScenario(number);
+ logger.debug("ChangeListener " + System.identityHashCode(this));
+ }
+
+ });
+ scenarioComponents.put("isIncludeInCalculation", cbBerechnungEinbezug);
+ formRight.addComponent(cbBerechnungEinbezug);
+
+ final TextField tfEigenkapital = new TextField("Renditeforderung Eigenkapital: ");
+ tfEigenkapital.setValue(rateReturnEquity);
+ tfEigenkapital.setImmediate(true);
+ tfEigenkapital.addListener(changeListener);
+ scenarioComponents.put("rateReturnEquity", tfEigenkapital);
+ formLeft.addComponent(tfEigenkapital);
+
+ final TextField tfFremdkapital = new TextField("Renditeforderung Fremdkapital: ");
+ tfFremdkapital.setValue(rateReturnCapitalStock);
+ tfFremdkapital.setImmediate(true);
+ tfFremdkapital.addListener(changeListener);
+ scenarioComponents.put("rateReturnCapitalStock", tfFremdkapital);
+ formLeft.addComponent(tfFremdkapital);
+
+ final TextField tfGewerbesteuer = new TextField("Gewerbesteuer: ");
+ tfGewerbesteuer.setValue(businessTax);
+ tfGewerbesteuer.setImmediate(true);
+ tfGewerbesteuer.addListener(changeListener);
+ scenarioComponents.put("businessTax", tfGewerbesteuer);
+ formRight.addComponent(tfGewerbesteuer);
+
+ final TextField tfKoerperschaftssteuer = new TextField("K\u00F6rperschaftssteuer mit Solidarit\u00E4tszuschlag: ");
+ tfKoerperschaftssteuer.setValue(corporateAndSolitaryTax);
+ tfKoerperschaftssteuer.setImmediate(true);
+ tfKoerperschaftssteuer.addListener(changeListener);
+ scenarioComponents.put("corporateAndSolitaryTax", tfKoerperschaftssteuer);
+ formRight.addComponent(tfKoerperschaftssteuer);
+
+ this.scenarios.add(scenarioComponents);
+ this.vlScenarios.addComponent(hlScenario);
+ }
+
+ public boolean getIncludedInCalculation(int scenarioNumber) {
+ return (boolean) ((CheckBox) this.scenarios.get(scenarioNumber-1).get("isIncludeInCalculation")).getValue();
+ }
+
+ public String getValue(int scenarioNumber, String identifier) {
+ return (String) ((AbstractField) this.scenarios.get(scenarioNumber-1).get(identifier)).getValue();
+ }
+
+ public Boolean getIncludeInCalculation(int scenarioNumber) {
+ return (Boolean) ((CheckBox) this.scenarios.get(scenarioNumber-1).get("isIncludeInCalculation")).getValue();
+ }
+
+
+ public void setIncludedInCalculation(int scenarioNumber, boolean newValue) {
+ ((CheckBox) this.scenarios.get(scenarioNumber-1).get("isIncludeInCalculation")).setValue(newValue);
+ }
+
+ public void setRateReturnEquity(int scenarioNumber, String newValue) {
+ ((Button) this.scenarios.get(scenarioNumber-1).get("rateReturnEquity")).setValue(newValue);
+ }
+
+ public void setRateReturnCapitalStock(int scenarioNumber, String newValue) {
+ ((Button) this.scenarios.get(scenarioNumber-1).get("rateReturnCapitalStock")).setValue(newValue);
+ }
+
+ public void setBusinessTax(int scenarioNumber, String newValue) {
+ ((Button) this.scenarios.get(scenarioNumber-1).get("businessTax")).setValue(newValue);
+ }
+
+ public void setCorporateAndSolitaryTax(int scenarioNumber, String newValue) {
+ ((Button) this.scenarios.get(scenarioNumber-1).get("corporateAndSolitaryTax")).setValue(newValue);
+ }
+
+ /**
+ * Diese Methode setzt das betreffende Eingabefeld auf den Status ungueltig.
+ * Hierbei wird neben dem Eingabefeld ein kleins Fehlericon mit entsprechendem Tooltip-Fehlertext angezeigt.
+ *
+ * @author Julius Hacker
+ * @param scenarioNumber Die Nummer des Szenarios, zu dem das Eingabefeld gehoert
+ * @param identifier Der Eingabewert (Renditeforderungen, Steuern, ...), zu dem das Eingabefeld gehoert.
+ */
+ public void setInvalid(int scenarioNumber, String identifier) {
+ this.scenarios.get(scenarioNumber-1).get(identifier).setComponentError(new UserError("Nur Zahlen gr\u00F6\u00DFer gleich 0 und kleiner gleich 100 sind erlaubt!"));
+ }
+
+ /**
+ * Diese Methode setzt das betreffende Eingabefeld auf den Status gueltig.
+ *
+ * @author Julius Hacker
+ * @param scenarioNumber Die Nummer des Szenarios, zu dem das Eingabefeld gehoert
+ * @param identifier Der Eingabewert (Renditeforderungen, Steuern, ...), zu dem das Eingabefeld gehoert.
+ */
+ public void setValid(int scenarioNumber, String identifier) {
+ this.scenarios.get(scenarioNumber-1).get(identifier).setComponentError(null);
+ }
+
+ /**
+ * Diese Methode entfernt alle GUI-Elemente aus der View. Diese Methode kann so zur Vorbereitung
+ * des Neuaufbaus der View dienen.
+ *
+ * @author Julius Hacker
+ */
+ public void clear() {
+ vlScenarios.removeAllComponents();
+ scenarios.clear();
+ }
}
View
52 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/scenario/ScenarioViewInterface.java
@@ -4,4 +4,56 @@
public interface ScenarioViewInterface extends ContentView {
+ /**
+ * Diese Methode entfernt alle GUI-Elemente aus der View. Diese Methode kann so zur Vorbereitung
+ * des Neuaufbaus der View dienen.
+ *
+ * @author Julius Hacker
+ */
+ public void clear();
+
+ /**
+ * Die Methode fuegt der View ein Szenario hinzu. Sie baut hierzu saemtliche
+ * notwendigen GUI-Elemente und entsprecheenden Listener hinzu.
+ *
+ * @author Julius Hacker
+ * @param rateReturnEquity Standardwert fuer die Renditeforderung Eigenkapital
+ * @param rateReturnCapitalStock Standardwert fuer die Renditeforderung Fremdkapital
+ * @param businessTax Standardwert fuer die Gewerbesteuer
+ * @param corporateAndSolitaryTax Standardwert fuer die Koerperschaftssteuer mit Solidaritaetszuschlag.
+ */
+ public void addScenario(String rateReturnEquity,
+ String rateReturnCapitalStock, String corporateAndSolitaryTax,
+ String businessTax, boolean isIncludeInCalculation, int numberOfScenario);
+
+ public boolean getIncludedInCalculation(int scenarioNumber);
+ public String getValue(int scenarioNumber, String identifier);
+
+
+ public void setIncludedInCalculation(int scenarioNumber, boolean newValue);
+ public void setRateReturnEquity(int scenarioNumber, String newValue);
+ public void setRateReturnCapitalStock(int scenarioNumber, String newValue);
+ public void setBusinessTax(int scenarioNumber, String newValue);
+ public void setCorporateAndSolitaryTax(int scenarioNumber, String newValue);
+
+ /**
+ * Diese Methode setzt das betreffende Eingabefeld auf den Status ungueltig.
+ * Hierbei wird neben dem Eingabefeld ein kleins Fehlericon mit entsprechendem Tooltip-Fehlertext angezeigt.
+ *
+ * @author Julius Hacker
+ * @param scenarioNumber Die Nummer des Szenarios, zu dem das Eingabefeld gehoert
+ * @param identifier Der Eingabewert (Renditeforderungen, Steuern, ...), zu dem das Eingabefeld gehoert.
+ */
+ public void setInvalid(int scenarioNumber, String identifier);
+
+ /**
+ * Diese Methode setzt das betreffende Eingabefeld auf den Status gueltig.
+ *
+ * @author Julius Hacker
+ * @param scenarioNumber Die Nummer des Szenarios, zu dem das Eingabefeld gehoert
+ * @param identifier Der Eingabewert (Renditeforderungen, Steuern, ...), zu dem das Eingabefeld gehoert.
+ */
+ public void setValid(int scenarioNumber, String identifier);
+
+ public Boolean getIncludeInCalculation(int scenarioNumber);
}
View
14 src/main/java/dhbw/ka/mwi/businesshorizon2/ui/process/scenario/ShowScenarioViewEvent.java
@@ -0,0 +1,14 @@
+package dhbw.ka.mwi.businesshorizon2.ui.process.scenario;
+
+import com.mvplite.event.Event;
+
+/**
+ * Der Event, der zum Anzeigen des Szenario-Prozessschrittes z.B. im ContentContainer
+ * abgesetzt wird.
+ *
+ * @author Julius Hacker
+ */
+public class ShowScenarioViewEvent extends Event {
+ private static final long serialVersionUID = 1L;
+
+}
Something went wrong with that request. Please try again.