List of usage examples for org.apache.wicket.protocol.http ClientProperties getNavigatorPlatform
public String getNavigatorPlatform()
From source file:com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor.java
License:Open Source License
/** * @param component/*from w w w.j a v a 2s . c o m*/ */ @SuppressWarnings("nls") public static boolean setSelectedIndex(Component component, AjaxRequestTarget target, int modifiers, boolean bHandleMultiselect) { WebForm parentForm = component.findParent(WebForm.class); WebCellBasedView tableView = null; if (parentForm != null) { int parentFormViewType = parentForm.getController().getForm().getView(); if (parentFormViewType == FormController.TABLE_VIEW || parentFormViewType == FormController.LOCKED_TABLE_VIEW || parentFormViewType == IForm.LIST_VIEW || parentFormViewType == FormController.LOCKED_LIST_VIEW) { tableView = component.findParent(WebCellBasedView.class); if (tableView == null) { // the component is not part of the table view (it is on other form part), so ignore selection change return true; } else tableView.setSelectionMadeByCellAction(); if (parentFormViewType == IForm.LIST_VIEW || parentFormViewType == FormController.LOCKED_LIST_VIEW) { if (component instanceof WebCellBasedViewListViewItem) { ((WebCellBasedViewListViewItem) component).markSelected(target); } else { WebCellBasedViewListViewItem listViewItem = component .findParent(WebCellBasedView.WebCellBasedViewListViewItem.class); if (listViewItem != null) { listViewItem.markSelected(target); } } } } } //search for recordItem model Component recordItemModelComponent = component; IModel<?> someModel = recordItemModelComponent.getDefaultModel(); while (!(someModel instanceof RecordItemModel)) { recordItemModelComponent = recordItemModelComponent.getParent(); if (recordItemModelComponent == null) break; someModel = recordItemModelComponent.getDefaultModel(); } if (someModel instanceof RecordItemModel) { if (!(component instanceof WebCellBasedViewListViewItem)) { // update the last rendered value for the events component (if updated) ((RecordItemModel) someModel).updateRenderedValue(component); } IRecordInternal rec = (IRecordInternal) someModel.getObject(); if (rec != null) { int index; IFoundSetInternal fs = rec.getParentFoundSet(); if (someModel instanceof FoundsetRecordItemModel) { index = ((FoundsetRecordItemModel) someModel).getRowIndex(); } else { index = fs.getRecordIndex(rec); // this is used only on "else", because a "plugins.rawSQL.flushAllClientsCache" could result in index = -1 although the record has not changed (but record & underlying row instances changed) } if (fs instanceof FoundSet && ((FoundSet) fs).isMultiSelect()) { //set the selected record ClientProperties clp = ((WebClientInfo) Session.get().getClientInfo()).getProperties(); String navPlatform = clp.getNavigatorPlatform(); int controlMask = (navPlatform != null && navPlatform.toLowerCase().indexOf("mac") != -1) ? Event.META_MASK : Event.CTRL_MASK; boolean toggle = (modifiers != MODIFIERS_UNSPECIFIED) && ((modifiers & controlMask) != 0); boolean extend = (modifiers != MODIFIERS_UNSPECIFIED) && ((modifiers & Event.SHIFT_MASK) != 0); boolean isRightClick = (modifiers != MODIFIERS_UNSPECIFIED) && ((modifiers & Event.ALT_MASK) != 0); if (!isRightClick) { if (!toggle && !extend && tableView != null && tableView.getDragNDropController() != null && Arrays.binarySearch(((FoundSet) fs).getSelectedIndexes(), index) > -1) { return true; } if (toggle || extend) { if (bHandleMultiselect) { if (toggle) { int[] selectedIndexes = ((FoundSet) fs).getSelectedIndexes(); ArrayList<Integer> selectedIndexesA = new ArrayList<Integer>(); Integer selectedIndex = new Integer(index); for (int selected : selectedIndexes) selectedIndexesA.add(new Integer(selected)); if (selectedIndexesA.indexOf(selectedIndex) != -1) { if (selectedIndexesA.size() > 1) selectedIndexesA.remove(selectedIndex); } else selectedIndexesA.add(selectedIndex); selectedIndexes = new int[selectedIndexesA.size()]; for (int i = 0; i < selectedIndexesA.size(); i++) selectedIndexes[i] = selectedIndexesA.get(i).intValue(); ((FoundSet) fs).setSelectedIndexes(selectedIndexes); } else if (extend) { int anchor = ((FoundSet) fs).getSelectedIndex(); int min = Math.min(anchor, index); int max = Math.max(anchor, index); int[] newSelectedIndexes = new int[max - min + 1]; for (int i = min; i <= max; i++) newSelectedIndexes[i - min] = i; ((FoundSet) fs).setSelectedIndexes(newSelectedIndexes); } } } else if (index != -1 || fs.getSize() == 0) { fs.setSelectedIndex(index); } } } else if (!isIndexSelected(fs, index)) fs.setSelectedIndex(index); if (!isIndexSelected(fs, index) && !(fs instanceof FoundSet && ((FoundSet) fs).isMultiSelect())) { // setSelectedIndex failed, probably due to validation failed, do a blur() if (target != null) target.appendJavascript("var toBlur = document.getElementById(\"" + component.getMarkupId() + "\");if (toBlur) toBlur.blur();"); return false; } } } return true; }
From source file:com.servoy.j2db.server.headlessclient.WebClient.java
License:Open Source License
@Override public int getClientPlatform() { if (Session.exists()) { Session webClientSession = Session.get(); if (webClientSession != null) { try { WebClientInfo clientInfo = (WebClientInfo) webClientSession.getClientInfo(); if (clientInfo != null) { ClientProperties properties = clientInfo.getProperties(); if (properties != null) { return Utils.getPlatform(properties.getNavigatorPlatform()); }/*from w ww .j a v a 2s. c o m*/ } } catch (Exception e) { Debug.trace( "trying to get the client platform of a session, when destroying the client in a none request thread", e); } } } return super.getClientPlatform(); }
From source file:eu.uqasar.model.monitoring.WebEnvironment.java
License:Apache License
private void populateFromClientProperties(ClientProperties props) { setBrowser(Browser.getFromClientProperties(props)); setBrowserVersionMajor(props.getBrowserVersionMajor()); setBrowserVersionMinor(props.getBrowserVersionMinor()); setColorDepth(props.getScreenColorDepth()); setCookiesEnabled(props.isCookiesEnabled()); setHostname(props.getHostname());/*from w w w. j av a 2 s . com*/ setJavaEnabled(props.isJavaEnabled()); setNavigatorLanguage(props.getNavigatorLanguage()); setNavigatorPlatform(props.getNavigatorPlatform()); setNavigatorUserAgent(props.getNavigatorUserAgent()); setRemoteAddress(props.getRemoteAddress()); setScreenHeight(props.getScreenHeight()); setScreenWidth(props.getScreenWidth()); }
From source file:org.cast.cwm.service.EventService.java
License:Open Source License
@Override public LoginSession createLoginSession(Request r) { LoginSession loginSession = newLoginSession(); CwmSession cwmSession = CwmSession.get(); loginSession.setSessionId(cwmSession.getId()); loginSession.setStartTime(new Date()); loginSession.setUser(cwmSession.getUser()); if (r instanceof ServletWebRequest) loginSession.setIpAddress(((ServletWebRequest) r).getContainerRequest().getRemoteAddr()); loginSession.setCookiesEnabled(false); if (cwmSession.getClientInfo() != null) { ClientProperties info = cwmSession.getClientInfo().getProperties(); loginSession.setScreenHeight(info.getBrowserHeight()); loginSession.setScreenWidth(info.getBrowserWidth()); if (info.getTimeZone() != null) loginSession.setTimezoneOffset(info.getTimeZone().getOffset(new Date().getTime())); loginSession.setCookiesEnabled(info.isCookiesEnabled()); loginSession.setPlatform(info.getNavigatorPlatform()); loginSession.setUserAgent(cwmSession.getClientInfo().getUserAgent()); // TODO/* www. ja v a 2s . c om*/ //loginSession.setflashVersion(flashVersion) // isJavaEnabled } Databinder.getHibernateSession().save(loginSession); cwmService.flushChanges(); // register loginSession with Wicket session CwmSession.get().setLoginSessionModel(new HibernateObjectModel<LoginSession>(loginSession)); return loginSession; }