@Nonnull public SimpleURL getLinkToMenuItem (@Nonnull @Nonempty final String sAppID, @Nonnull final IRequestWebScopeWithoutResponse aRequestScope, @Nonnull final Locale aDisplayLocale, @Nonnull final String sMenuItemID) { // Get the servlet path from the app ID final String sServletPath = PhotonGlobalState.state (sAppID).getServletPath (); // Prepend the context path final String sBasePath = aRequestScope.getContextPath () + sServletPath; return m_aRequestParamHdl.buildURL (aRequestScope, sBasePath, aDisplayLocale, sMenuItemID); }
@Override protected void initMenu () { // Determine backend // Required before menu! SMPMetaManager.initBackendFromConfiguration (); // Create all menu items { final MenuTree aMenuTree = new MenuTree (); MenuPublic.init (aMenuTree); PhotonGlobalState.state (CApplicationID.APP_ID_PUBLIC).setMenuTree (aMenuTree); } { final MenuTree aMenuTree = new MenuTree (); MenuSecure.init (aMenuTree); PhotonGlobalState.state (CApplicationID.APP_ID_SECURE).setMenuTree (aMenuTree); } }
@Override protected void initMenu () { // Determine backend // Required before menu! SMPMetaManager.initBackendFromConfiguration (); // Create all menu items { final MenuTree aMenuTree = new MenuTree (); MenuPublic.init (aMenuTree); PhotonGlobalState.state (CApplicationID.APP_ID_PUBLIC).setMenuTree (aMenuTree); } { final MenuTree aMenuTree = new MenuTree (); MenuSecure.init (aMenuTree); PhotonGlobalState.state (CApplicationID.APP_ID_SECURE).setMenuTree (aMenuTree); } }
@Nullable private static PhotonRequestState _getRequestStateOrNull (@Nonnull final IRequestWebScopeWithoutResponse aRequestScope) { PhotonRequestState ret = aRequestScope.attrs ().getCastedValue (REQUEST_ATTR_STATE); if (ret == null) { // Fallback to last saved state from session final String sAppID = _getApplicationIDOrNull (aRequestScope); if (StringHelper.hasText (sAppID)) { final PhotonSessionState aSessionState = PhotonSessionState.getInstanceIfInstantiated (); if (aSessionState != null) { final PhotonSessionStatePerApp aSessionStatePerApp = aSessionState.state (sAppID); // Is e.g. empty if a new session state was created! if (aSessionStatePerApp.isNotEmpty ()) ret = new PhotonRequestState (aSessionStatePerApp); } // Global state as last resort if (ret == null) ret = new PhotonRequestState (PhotonGlobalState.state (sAppID)); } // else - no app ID - we're lost } return ret; }
aRequestState = new PhotonRequestState (PhotonGlobalState.state (sAppID));
final PhotonGlobalStatePerApp aAppGlobalState = PhotonGlobalState.state (sAppID);
PhotonGlobalState.state (CApplicationID.APP_ID_PUBLIC) .setServletPath (AbstractPublicApplicationServlet.SERVLET_DEFAULT_PATH); PhotonGlobalState.state (CApplicationID.APP_ID_SECURE) .setServletPath (AbstractSecureApplicationServlet.SERVLET_DEFAULT_PATH); PhotonGlobalState.getInstance ().setDefaultApplicationID (CApplicationID.APP_ID_PUBLIC);