gluu
公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.gluu.credmanager.ui.vm.HomeViewModel クラス
org.gluu.credmanager.ui.vm.HomeViewModel 連携図
Collaboration graph

公開メンバ関数

void init ()
 
void afterCompose (@ContextParam(ContextType.VIEW) Component view)
 
void notified (Event evt)
 

非公開メンバ関数

void updateOffset (Object value)
 
void updateMobile (Object width)
 
void updateBrowserInfo (Object browserName, Object browserVersion, boolean mobile)
 

非公開変数類

Logger logger = LoggerFactory.getLogger(getClass())
 
SessionContext sessionContext
 

詳解

This class is employed to store in session some user settings

著者
jgomer

関数詳解

◆ afterCompose()

void org.gluu.credmanager.ui.vm.HomeViewModel.afterCompose ( @ContextParam(ContextType.VIEW) Component  view)
inline
48  {
49  Selectors.wireEventListeners(view, this);
50  }

◆ init()

void org.gluu.credmanager.ui.vm.HomeViewModel.init ( )
inline
43  {
44  Clients.response(new AuInvoke("sendBrowserData"));
45  }

◆ notified()

void org.gluu.credmanager.ui.vm.HomeViewModel.notified ( Event  evt)
inline
53  {
54 
55  Optional<JSONObject> opt = Optional.ofNullable(evt.getData()).map(JSONObject.class::cast);
56  if (opt.isPresent()) {
57  JSONObject jsonObject = opt.get();
58  logger.info("Browser data is {} ", jsonObject.toJSONString());
59 
60  boolean mobile = Executions.getCurrent().getBrowser("mobile") != null;
61  logger.trace("Detected browser is {} mobile", mobile ? "" : "not");
62 
63  updateOffset(jsonObject.get("offset"));
64  if (mobile) {
65  updateMobile(jsonObject.get("screenWidth"));
66  }
67  updateBrowserInfo(jsonObject.get("name"), jsonObject.get("version"), mobile);
68  }
70  //reloads this page so the navigation flow proceeds (see HomeInitiator class)
71  Executions.sendRedirect(null);
72 
73  }
SessionContext sessionContext
Definition: HomeViewModel.java:40
Logger logger
Definition: HomeViewModel.java:37
void updateMobile(Object width)
Definition: HomeViewModel.java:92
void updateCssPath()
Definition: SessionContext.java:57
void updateBrowserInfo(Object browserName, Object browserVersion, boolean mobile)
Definition: HomeViewModel.java:105
void updateOffset(Object value)
Definition: HomeViewModel.java:75

◆ updateBrowserInfo()

void org.gluu.credmanager.ui.vm.HomeViewModel.updateBrowserInfo ( Object  browserName,
Object  browserVersion,
boolean  mobile 
)
inlineprivate
105  {
106 
107  try {
108  if (sessionContext.getBrowser() == null) {
109  BrowserInfo binfo = new BrowserInfo();
110  sessionContext.setBrowser(binfo);
111 
112  binfo.setMobile(mobile);
113  binfo.setName(browserName.toString());
114 
115  String version = browserVersion.toString();
116  int browserVer = version.indexOf(".");
117  if (browserVer > 0) {
118  browserVer = Integer.parseInt(version.substring(0, browserVer));
119  }
120  binfo.setMainVersion(browserVer);
121  }
122  } catch (Exception e) {
123  logger.error(e.getMessage(), e);
124  }
125 
126  }
SessionContext sessionContext
Definition: HomeViewModel.java:40
void setBrowser(BrowserInfo browser)
Definition: SessionContext.java:122
Logger logger
Definition: HomeViewModel.java:37
BrowserInfo getBrowser()
Definition: SessionContext.java:82

◆ updateMobile()

void org.gluu.credmanager.ui.vm.HomeViewModel.updateMobile ( Object  width)
inlineprivate
92  {
93 
94  try {
95  int w = (int) width;
97  //This attrib should be in the session, but it's more comfortable at the desktop level for testing purposes
98  sessionContext.setOnMobile(w < 992); //If screen is wide enough, behave as desktop
99  } catch (Exception e) {
100  logger.error(e.getMessage(), e);
101  }
102 
103  }
SessionContext sessionContext
Definition: HomeViewModel.java:40
void setScreenWidth(int screenWidth)
Definition: SessionContext.java:118
Logger logger
Definition: HomeViewModel.java:37
void setOnMobile(boolean onMobile)
Definition: SessionContext.java:110

◆ updateOffset()

void org.gluu.credmanager.ui.vm.HomeViewModel.updateOffset ( Object  value)
inlineprivate
75  {
76 
77  try {
78  if (sessionContext.getZoneOffset() == null) {
79  int offset = (int) value;
80  ZoneOffset zoffset = ZoneOffset.ofTotalSeconds(offset);
82  logger.trace("Time offset for session is {}", zoffset.toString());
83  //Ideally zone should be associated to something like "America/Los_Angeles", not a raw offset like "GMT+0010"
84  //but this is not achievable unless the user is asked to directly provide his zone
85  }
86  } catch (Exception e) {
87  logger.error(e.getMessage(), e);
88  }
89 
90  }
SessionContext sessionContext
Definition: HomeViewModel.java:40
Logger logger
Definition: HomeViewModel.java:37
void setZoneOffset(ZoneOffset zoneOffset)
Definition: SessionContext.java:106
ZoneOffset getZoneOffset()
Definition: SessionContext.java:66

メンバ詳解

◆ logger

Logger org.gluu.credmanager.ui.vm.HomeViewModel.logger = LoggerFactory.getLogger(getClass())
private

◆ sessionContext

SessionContext org.gluu.credmanager.ui.vm.HomeViewModel.sessionContext
private

このクラス詳解は次のファイルから抽出されました: