public static boolean isNotEmpty(String value) { return !isEmpty(value); }
@SuppressWarnings({"rawtypes", "unchecked"}) private void processParameters(GoogleAnalyticsRequest request, List<NameValuePair> postParms) { Map<GoogleAnalyticsParameter, String> requestParms = request.getParameters(); Map<GoogleAnalyticsParameter, String> defaultParms = defaultRequest.getParameters(); for (GoogleAnalyticsParameter parm : defaultParms.keySet()) { String value = requestParms.get(parm); String defaultValue = defaultParms.get(parm); if (isEmpty(value) && !isEmpty(defaultValue)) { requestParms.put(parm, defaultValue); } } for (GoogleAnalyticsParameter key : requestParms.keySet()) { postParms.add(new BasicNameValuePair(key.getParameterName(), requestParms.get(key))); } }
@Override public DefaultRequest discoverParameters(GoogleAnalyticsConfig config, DefaultRequest request) { try { if (isEmpty(config.getUserAgent())) { config.setUserAgent(getUserAgentString()); } if (isEmpty(request.userLanguage())) { String region = System.getProperty("user.region"); if (isEmpty(region)) { region = System.getProperty("user.country"); } request.userLanguage(System.getProperty("user.language") + "-" + region); } if (isEmpty(request.documentEncoding())) { request.documentEncoding(System.getProperty("file.encoding")); } } catch (Exception e) { // logger.warn("Exception while deriving the System properties for request " + request, e); } return request; }
@Override public DefaultRequest discoverParameters(GoogleAnalyticsConfig config, DefaultRequest request) { super.discoverParameters(config, request); Toolkit toolkit = Toolkit.getDefaultToolkit(); if (isEmpty(request.screenResolution())) { Dimension screenSize = toolkit.getScreenSize(); request.screenResolution(((int) screenSize.getWidth()) + "x" + ((int) screenSize.getHeight()) + ", " + toolkit.getScreenResolution() + " dpi"); } if (isEmpty(request.screenColors())) { GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] graphicsDevices = graphicsEnvironment.getScreenDevices(); StringBuilder sb = new StringBuilder(); for (GraphicsDevice graphicsDevice : graphicsDevices) { if (sb.length() != 0) { sb.append(", "); } sb.append(graphicsDevice.getDisplayMode().getBitDepth()); } request.screenColors(sb.toString()); } return request; } }