# HG changeset patch # User Ingo Weinzierl # Date 1274773291 0 # Node ID b7c6bf3cd7c9a8a08f6ea7778becb2361e9408b0 # Parent 3549253ecd7b4a1353ef20a29390d91e4ce90300 Switching the language in the initial state is possible now (issue266). gnv/trunk@1121 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 3549253ecd7b -r b7c6bf3cd7c9 gnv/ChangeLog --- a/gnv/ChangeLog Tue May 18 11:14:09 2010 +0000 +++ b/gnv/ChangeLog Tue May 25 07:41:31 2010 +0000 @@ -1,3 +1,11 @@ +2010-05-25 Ingo Weinzierl + + Issue266 + + * src/main/java/de/intevation/gnv/action/SwitchLanguageAction.java: + Switching the language in the initial state will not throw an exception + anymore, but the language is toggled. + 2010-05-18 Tim Englich * src/main/java/de/intevation/gnv/action/sessionmodel/DiagrammOptions.java (getValue), diff -r 3549253ecd7b -r b7c6bf3cd7c9 gnv/src/main/java/de/intevation/gnv/action/SwitchLanguageAction.java --- a/gnv/src/main/java/de/intevation/gnv/action/SwitchLanguageAction.java Tue May 18 11:14:09 2010 +0000 +++ b/gnv/src/main/java/de/intevation/gnv/action/SwitchLanguageAction.java Tue May 25 07:41:31 2010 +0000 @@ -2,6 +2,7 @@ import de.intevation.gnv.action.sessionmodel.SessionModel; import de.intevation.gnv.action.sessionmodel.SessionModelFactory; +import de.intevation.gnv.artifactdatabase.objects.ArtifactObject; import java.util.Locale; @@ -10,6 +11,7 @@ import org.apache.log4j.Logger; +import org.apache.struts.Globals; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; @@ -34,8 +36,15 @@ { SessionModelFactory factory = SessionModelFactory.getInstance(); SessionModel sm = factory.getSessionModel(request); + Locale locale = switchLanguage(sm.getCurrentLocale()); - sm.setCurrentLocale(switchLanguage(sm.getCurrentLocale())); + sm.setCurrentLocale(locale); + ArtifactObject artifactFactory = sm.getSelectedArtifactFactory(); + + if (artifactFactory == null) { + request.getSession().setAttribute(Globals.LOCALE_KEY, locale); + return mapping.findForward(SUCCSESS_FORWARD_ID); + } return super.execute(mapping, form, request, response); }