response.setHeader("Content-Type", concatType.getMimeType() + "; charset=UTF8"); response.setHeader("Content-Disposition", "attachment;filename=p.txt");
for (Uri uri : concatUri.getUris()) { Element elemConcat = (Element)firstElem.cloneNode(true); elemConcat.setAttribute(type.getSrcAttrib(), uri.toString()); firstElem.getParentNode().insertBefore(elemConcat, firstElem);
elemConcat.setAttribute(type.getSrcAttrib(), concatUri.getUri().toString().replace("&", "&")); firstElem.getParentNode().insertBefore(elemConcat, firstElem);
elemConcat.setAttribute(type.getSrcAttrib(), concatUri.getUri().toString()); firstElem.getParentNode().insertBefore(elemConcat, firstElem);
assertEquals(CONTAINER, uri.getUri().getQueryParameter(Param.CONTAINER.getKey())); assertEquals(SPEC_URI.toString(), uri.getUri().getQueryParameter(Param.GADGET.getKey())); assertEquals(type.getType(), uri.getUri().getQueryParameter(Param.TYPE.getKey())); assertEquals("0", uri.getUri().getQueryParameter(Param.DEBUG.getKey())); assertEquals("0", uri.getUri().getQueryParameter(Param.NO_CACHE.getKey())); assertEquals(type.getType(), uri.getUri().getQueryParameter(Param.TYPE.getKey())); List<Uri> resList = (i % 2 == 0) ? RESOURCES_ONE : RESOURCES_TWO; assertEquals(resList.get(0).toString(), uri.getUri().getQueryParameter("1"));
assertEquals("1", uri.getUri().getQueryParameter(Param.DEBUG.getKey())); assertEquals("1", uri.getUri().getQueryParameter(Param.NO_CACHE.getKey())); assertEquals(type.getType(), uri.getUri().getQueryParameter(Param.TYPE.getKey())); List<Uri> resList = (i % 2 == 0) ? RESOURCES_ONE : RESOURCES_TWO; assertEquals(resList.get(0).toString(), uri.getUri().getQueryParameter("1"));
response.setHeader("Content-Type", concatType.getMimeType() + "; charset=UTF8"); response.setHeader("Content-Disposition", "attachment;filename=p.txt");
response.setHeader("Content-Type", concatType.getMimeType() + "; charset=UTF8"); response.setHeader("Content-Disposition", "attachment;filename=p.txt");
assertEquals("1", uri.getUri().getQueryParameter(Param.DEBUG.getKey())); assertEquals("1", uri.getUri().getQueryParameter(Param.NO_CACHE.getKey())); assertEquals(type.getType(), uri.getUri().getQueryParameter(Param.TYPE.getKey())); assertEquals(RESOURCES_ONE.get(0).toString(), uri.getUri().getQueryParameter("1"));
uriBuilder.setPath(concatPath); uriBuilder.addQueryParameter(Param.TYPE.getKey(), ctx.getType().getType()); List<Uri> resourceUris = ctx.getBatch(); Map<Uri, String> snippets = Maps.newHashMapWithExpectedSize(resourceUris.size());
uriBuilder.setPath(concatPath); uriBuilder.addQueryParameter(Param.TYPE.getKey(), ctx.getType().getType()); List<Uri> resourceUris = ctx.getBatch(); Map<Uri, String> snippets = Maps.newHashMapWithExpectedSize(resourceUris.size());
private void checkBasicParams(ConcatUriManager.Type type) throws Exception { Gadget gadget = mockGadget(false, false); String host = "host.com"; String path = "/concat/path"; DefaultConcatUriManager manager = makeManager(host, path, "token", null); List<List<Uri>> resourceUris = ImmutableList.<List<Uri>>of(RESOURCES_ONE); List<ConcatData> concatUris = manager.make(fromList(gadget, resourceUris, type), true); assertEquals(1, concatUris.size()); ConcatData uri = concatUris.get(0); assertNull(uri.getSnippet(RESOURCE_1)); assertNull(uri.getSnippet(RESOURCE_2)); assertNull(uri.getSnippet(RESOURCE_3)); assertNull(uri.getUri().getScheme()); assertEquals(host, uri.getUri().getAuthority()); assertEquals(path, uri.getUri().getPath()); assertEquals(8, uri.getUri().getQueryParameters().size()); assertEquals(CONTAINER, uri.getUri().getQueryParameter(Param.CONTAINER.getKey())); assertEquals(SPEC_URI.toString(), uri.getUri().getQueryParameter(Param.GADGET.getKey())); assertEquals("0", uri.getUri().getQueryParameter(Param.DEBUG.getKey())); assertEquals("0", uri.getUri().getQueryParameter(Param.NO_CACHE.getKey())); assertEquals(type.getType(), uri.getUri().getQueryParameter(Param.TYPE.getKey())); assertEquals(RESOURCES_ONE.get(0).toString(), uri.getUri().getQueryParameter("1")); assertEquals(RESOURCES_ONE.get(1).toString(), uri.getUri().getQueryParameter("2")); assertEquals(RESOURCES_ONE.get(2).toString(), uri.getUri().getQueryParameter("3")); }
private void checkUnversionedUri(ConcatUriManager.Type type, boolean hasSplit) { // Returns VALID_VERSIONED, but no version is present. ConcatUriManager.Versioner versioner = makeVersioner(UriStatus.VALID_VERSIONED); DefaultConcatUriManager manager = makeManager("host.com", "/path", null, versioner); ConcatUriManager.ConcatUri validated = manager.process( Uri.parse("http://host.com/path?" + Param.CONTAINER.getKey() + '=' + CONTAINER + "&1=http://legit.com/1.dat&2=http://another.com/2.dat&" + Param.TYPE.getKey() + '=' + type.getType() + '&' + Param.JSON.getKey() + "=split&" + Param.GADGET.getKey() + "=http://www.gadget.com/g.xml&" + Param.REFRESH.getKey() + "=123")); assertEquals(UriStatus.VALID_UNVERSIONED, validated.getStatus()); assertEquals(type, validated.getType()); assertEquals(CONTAINER, validated.getContainer()); assertEquals("http://www.gadget.com/g.xml", validated.getGadget()); assertEquals(2, validated.getBatch().size()); assertEquals("http://legit.com/1.dat", validated.getBatch().get(0).toString()); assertEquals("http://another.com/2.dat", validated.getBatch().get(1).toString()); assertEquals(123, validated.getRefresh().intValue()); assertEquals(hasSplit ? "split" : null, validated.getSplitParam()); }
private void addVersionAndSplitParam(UriBuilder uriBuilder, String splitParam, boolean doSplit, List<Uri> batchUris, String container, Type type) { // HashCode is used to differentiate splitParam paramter across ConcatUris // within single page/url. This value is appended to the splitParam value which // is recieved from config container. int hashCode = uriBuilder.hashCode(); if (doSplit) { uriBuilder.addQueryParameter(Param.JSON.getKey(), (splitParam + String.valueOf(Math.abs(hashCode)))); } if (versioner != null) { List<List<Uri>> batches = Lists.newArrayList(); List<String> resourceTags = Lists.newArrayList(); batches.add(batchUris); resourceTags.add(type.getTagName().toLowerCase()); List<String> versions = versioner.version(batches, container, resourceTags); if (versions != null && versions.size() == 1) { String version = versions.get(0); if (version != null) { uriBuilder.addQueryParameter(Param.VERSION.getKey(), version); } } } }
private void checkValidateUri(UriStatus status, ConcatUriManager.Type type, boolean hasSplit) { ConcatUriManager.Versioner versioner = makeVersioner(status); DefaultConcatUriManager manager = makeManager("host.com", "/path", null, versioner); ConcatUriManager.ConcatUri validated = manager.process( Uri.parse("http://host.com/path?" + Param.CONTAINER.getKey() + '=' + CONTAINER + "&1=http://legit.com/1.dat&2=http://another.com/2.dat&" + Param.TYPE.getKey() + '=' + type.getType() + '&' + Param.VERSION.getKey() + "=something&" + Param.JSON.getKey() + "=split&" + Param.GADGET.getKey() + "=http://www.gadget.com/g.xml&" + Param.REFRESH.getKey() + "=123")); assertEquals(status, validated.getStatus()); assertEquals(type, validated.getType()); assertEquals(CONTAINER, validated.getContainer()); assertEquals("http://www.gadget.com/g.xml", validated.getGadget()); assertEquals(2, validated.getBatch().size()); assertEquals("http://legit.com/1.dat", validated.getBatch().get(0).toString()); assertEquals("http://another.com/2.dat", validated.getBatch().get(1).toString()); assertEquals(123, validated.getRefresh().intValue()); assertEquals(hasSplit ? "split" : null, validated.getSplitParam()); }
/** * Contains Uri Basic Assert Checks */ private void checkBasicUriParameters(Uri uri, String host, String path, int queryParameterSize, ConcatUriManager.Type type, String debug, String noCache) { assertNull(uri.getScheme()); assertEquals(host, uri.getAuthority()); assertEquals(path, uri.getPath()); assertEquals(queryParameterSize, uri.getQueryParameters().size()); assertEquals(CONTAINER, uri.getQueryParameter(Param.CONTAINER.getKey())); assertEquals(SPEC_URI.toString(), uri.getQueryParameter(Param.GADGET.getKey())); assertEquals(type.getType(), uri.getQueryParameter(Param.TYPE.getKey())); assertEquals(debug, uri.getQueryParameter(Param.DEBUG.getKey())); assertEquals(noCache, uri.getQueryParameter(Param.NO_CACHE.getKey())); }