Package org.apache.shindig.common.uri

Examples of org.apache.shindig.common.uri.UriBuilder


          HttpRequest request, OAuthResponseParams responseParams) {
        SecurityToken st = request.getSecurityToken();
        Uri activeUrl = Uri.parse(st.getActiveUrl());
        assertEquals(GADGET_MAKE_REQUEST_URL, activeUrl.toString());
        assertEquals(GadgetTokenStoreTest.DEFAULT_CALLBACK, baseCallback);
        return new UriBuilder()
            .setScheme("http")
            .setAuthority(activeUrl.getAuthority())
            .setPath("/realcallback")
            .toString();
      }
View Full Code Here


    assertTrue(resource.isProxyCacheable());
  }

  @Test(expected=IllegalArgumentException.class)
  public void loadFileNothingAvailable() throws Exception {
    Uri nilUri = new UriBuilder().setScheme("file").setPath("/does/not/exist.js").toUri();
    loader.load(nilUri, null);
    fail("Should have failed indicating could not find: " + nilUri.toString());
  }
View Full Code Here

  }

  private Pair<Uri, File> makeFile(File file, String content) throws Exception {
    file.deleteOnExit();
    setFileContent(file, content);
    return Pair.of(new UriBuilder().setScheme("file").setPath(file.getPath()).toUri(), file);
  }
View Full Code Here

  // Provided for backward compatibility with existing feature loader configurations.
  // res://-prefixed URIs are actually scheme = res, host = "", path = "/stuff". We want res:path.
  // Package-private for use by FeatureParser as well.
  static Uri getComponentUri(String str) {
    return (str.startsWith("res://")) ?
      new UriBuilder().setScheme(RESOURCE_SCHEME).setPath(str.substring(6)).toUri() :
      Uri.parse(str);
  }
View Full Code Here

        if (LOG.isLoggable(Level.FINE)) {
          LOG.fine("Processing resource: " + resource);
        }

        String content = resourceLoader.getResourceContent(resource);
        Uri parent = new UriBuilder().setScheme(RESOURCE_SCHEME).setPath(resource).toUri();
        loadFeature(parent, content, featureMapBuilder);
      }
    } catch (IOException e) {
      throw new GadgetException(GadgetException.Code.INVALID_PATH, e);
    }
View Full Code Here

    View view = gadget.getCurrentView();
    return buildUri(view, gadget);
  }

  protected Uri buildUri(View view, Gadget gadget) {
    UriBuilder uri;
    GadgetContext context = gadget.getContext();
    String container = context.getContainer();
    if (View.ContentType.URL.equals(view.getType())) {
      // A. type=url. Initializes all except standard parameters.
      uri = new UriBuilder(view.getHref());

      addExtrasForTypeUrl(uri, gadget);

    } else {
      // B. Others, aka. type=html and html_sanitized.
      uri = new UriBuilder();

      // 1. Set base path.
      uri.setPath(getReqVal(container, IFRAME_BASE_PATH_KEY));

      // 2. Set host/authority.
      String ldDomain;
      try {
        ldDomain = ldService.getLockedDomainForGadget(gadget, container);
      } catch (GadgetException e) {
        throw new RuntimeException(e);
      }
      String host = "//" +
        (ldDomain == null ? getReqVal(container, UNLOCKED_DOMAIN_KEY) : ldDomain);

      Uri gadgetUri = Uri.parse(host);
      if (gadgetUri.getAuthority() == null
              && gadgetUri.getScheme() == null
              && gadgetUri.getPath().equals(host)) {
        // This is for backwards compatibility with unlocked domains like
        // "unlockeddomain.com"
        gadgetUri = Uri.parse("//" + host);
      }

      // 3. Set the scheme.
      if (StringUtils.isBlank(gadgetUri.getScheme())) {
        uri.setScheme(getScheme(gadget, container));
      } else {
        uri.setScheme(gadgetUri.getScheme());
      }

      // 4. Set the authority.
      uri.setAuthority(gadgetUri.getAuthority());

      // 5. Add the URL.
      uri.addQueryParameter(Param.URL.getKey(), context.getUrl().toString());
    }

    // Add container, whose input derived other components of the URI.
    uri.addQueryParameter(Param.CONTAINER.getKey(), container);

    // Add remaining non-url standard parameters, in templated or filled form.
    boolean useTpl = tplSignal != null ? tplSignal.useTemplates() : DEFAULT_USE_TEMPLATES;
    addParam(uri, Param.VIEW.getKey(), view.getName(), useTpl, false);
    addParam(uri, Param.LANG.getKey(), context.getLocale().getLanguage(), useTpl, false);
    addParam(uri, Param.COUNTRY.getKey(), context.getLocale().getCountry(), useTpl, false);
    addParam(uri, Param.DEBUG.getKey(), context.getDebug() ? "1" : "0", useTpl, false);
    addParam(uri, Param.NO_CACHE.getKey(), context.getIgnoreCache() ? "1" : "0", useTpl, false);
    addParam(uri, Param.SANITIZE.getKey(), context.getSanitize() ? "1" : "0", useTpl, false);
    if (context.getCajoled()) {
      addParam(uri, Param.CAJOLE.getKey(), "1", useTpl, false);
    }

    // Add all UserPrefs
    UserPrefs prefs = context.getUserPrefs();
    for (UserPref up : gadget.getSpec().getUserPrefs().values()) {
      String name = up.getName();
      String data = prefs.getPref(name);
      if (data == null) {
        data = up.getDefaultValue();
      }

      boolean upInFragment = !view.needsUserPrefSubstitution();
      addParam(uri, UriCommon.USER_PREF_PREFIX + up.getName(), data, useTpl, upInFragment);
    }

    if (versioner != null) {
      // Added on the query string, obviously not templated.
      addParam(uri, Param.VERSION.getKey(),
          versioner.version(gadget.getSpec().getUrl(), container), false, false);
    }

    if (wantsSecurityToken(gadget)) {
      boolean securityTokenOnQuery = isTokenNeededForRendering(gadget);

      String securityToken = generateSecurityToken(gadget);
      addParam(uri, Param.SECURITY_TOKEN.getKey(), securityToken, securityToken == null,
          !securityTokenOnQuery);
    }

    addExtras(uri, gadget);

    return uri.toUri();
  }
View Full Code Here

  protected boolean isTokenNeededForRendering(Gadget gadget) {
    return true;
  }

  public UriStatus validateRenderingUri(Uri inUri) {
    UriBuilder uri = new UriBuilder(inUri);

    String gadgetStr = uri.getQueryParameter(Param.URL.getKey());
    Uri gadgetUri;
    try {
      gadgetUri = Uri.parse(gadgetStr);
    } catch (Exception e) {
      // RuntimeException eg. InvalidArgumentException
      return UriStatus.BAD_URI;
    }

    String container = uri.getQueryParameter(Param.CONTAINER.getKey());
    if (container == null) {
      container = ContainerConfig.DEFAULT_CONTAINER;
    }

    String version = uri.getQueryParameter(Param.VERSION.getKey());
    if (versioner == null || version == null) {
      return UriStatus.VALID_UNVERSIONED;
    }

    return versioner.validate(gadgetUri, container, version);
View Full Code Here

   * @param forcedRefresh optional overwrite the refresh time
   * @param version optional version
   * @return Url with only query parameters set
   */
  public UriBuilder makeQueryParams(Integer forcedRefresh, String version) {
    UriBuilder queryBuilder = new UriBuilder();

    // Add all params common to both chained and query syntax.
    String container = getContainer();
    queryBuilder.addQueryParameter(Param.CONTAINER.getKey(), container);
    if (getGadget() != null) {
      queryBuilder.addQueryParameter(Param.GADGET.getKey(), getGadget());
    }
    queryBuilder.addQueryParameter(Param.DEBUG.getKey(), isDebug() ? "1" : "0");
    queryBuilder.addQueryParameter(Param.NO_CACHE.getKey(), isNoCache() ? "1" : "0");
    if (!isNoCache()) {
      if (forcedRefresh != null && forcedRefresh >= 0) {
        queryBuilder.addQueryParameter(Param.REFRESH.getKey(), forcedRefresh.toString());
      } else if (getRefresh() != null) {
        queryBuilder.addQueryParameter(Param.REFRESH.getKey(), getRefresh().toString());
      }
    }

    if (version != null) {
      queryBuilder.addQueryParameter(Param.VERSION.getKey(), version);
    }
    if (rewriteMimeType != null) {
      queryBuilder.addQueryParameter(Param.REWRITE_MIME_TYPE.getKey(), rewriteMimeType);
    }
    if (sanitizeContent) {
      queryBuilder.addQueryParameter(Param.SANITIZE.getKey(), "1");
    }
    if (cajoleContent) {
      queryBuilder.addQueryParameter(Param.CAJOLE.getKey(), "1");
    }
    if (extensionParams != null) {
      queryBuilder.addQueryParameters(extensionParams);
    }
    return queryBuilder;
  }
View Full Code Here

             "true".equalsIgnoreCase(this.returnOriginalContentOnError);
    }

    @Override
    public UriBuilder makeQueryParams(Integer forcedRefresh, String version) {
      UriBuilder builder = super.makeQueryParams(forcedRefresh, version);
      if (resizeHeight != null) {
        builder.addQueryParameter(Param.RESIZE_HEIGHT.getKey(), resizeHeight.toString());
      }
      if (resizeWidth != null) {
        builder.addQueryParameter(Param.RESIZE_WIDTH.getKey(), resizeWidth.toString());
      }
      if (resizeQuality != null) {
        builder.addQueryParameter(Param.RESIZE_QUALITY.getKey(), resizeQuality.toString());
      }
      if (resizeNoExpand) {
        builder.addQueryParameter(Param.NO_EXPAND.getKey(), "1");
      }
      if (fallbackUrl != null) {
        builder.addQueryParameter(Param.FALLBACK_URL_PARAM.getKey(), fallbackUrl);
      }

      if (returnOriginalContentOnError != null) {
        builder.addQueryParameter(Param.RETURN_ORIGINAL_CONTENT_ON_ERROR.getKey(),
                                  returnOriginalContentOnError);
      }
      if (htmlTagContext != null) {
        builder.addQueryParameter(Param.HTML_TAG_CONTEXT.getKey(), htmlTagContext);
      }
      return builder;
    }
View Full Code Here

        true);   // locked domain always required

    Uri result = manager.makeRenderingUri(gadget);
    assertNotNull(result);

    UriBuilder uri = new UriBuilder(result);
    assertEquals("", uri.getScheme());
    assertEquals(LD_PREFIX + LD_SUFFIX, uri.getAuthority());
    assertEquals(IFRAME_PATH, uri.getPath());

    // Basic sanity checks on params
    assertEquals(TYPE_HTML_NUM_BASE_PARAMS, uri.getQueryParameters().size());
    assertEquals(0, uri.getFragmentParameters().size());

    Map<String, Uri> uris = manager.makeAllRenderingUris(gadget);
    assertNotNull(uris);

    UriBuilder htmlGadgetUri = new UriBuilder(uris.get(VIEW));
    assertEquals("", htmlGadgetUri.getScheme());
    assertEquals(LD_PREFIX + LD_SUFFIX, htmlGadgetUri.getAuthority());
    assertEquals(IFRAME_PATH, htmlGadgetUri.getPath());

    // Basic sanity checks on params
    assertEquals(TYPE_HTML_NUM_BASE_PARAMS, htmlGadgetUri.getQueryParameters().size());
    assertEquals(0, htmlGadgetUri.getFragmentParameters().size());

    UriBuilder urlGadgetUri = new UriBuilder(uris.get(ANOTHER_VIEW));
    assertEquals("http", urlGadgetUri.getScheme());
    assertEquals("example.com", urlGadgetUri.getAuthority());
    assertEquals("/gadget.xml", urlGadgetUri.getPath());

    // Basic sanity checks on params
    assertEquals(TYPE_URL_NUM_BASE_PARAMS, urlGadgetUri.getQueryParameters().size());
    assertEquals(0, urlGadgetUri.getFragmentParameters().size());
  }
View Full Code Here

TOP

Related Classes of org.apache.shindig.common.uri.UriBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.