for (Element elem : sourceBatch) { Uri elemOrigUri = uriIt.next(); String snippet = concatUri.getSnippet(elemOrigUri); if (!StringUtils.isEmpty(snippet)) { Node scriptNode = elem.getOwnerDocument().createElement("script");
for (Element elem : sourceBatch) { Uri elemOrigUri = uriIt.next(); String snippet = concatUri.getSnippet(elemOrigUri); if (!StringUtils.isEmpty(snippet)) { Node scriptNode = elem.getOwnerDocument().createElement("script");
for (Element elem : sourceBatch) { Uri elemOrigUri = uriIt.next(); String snippet = concatUri.getSnippet(elemOrigUri); if (!Strings.isNullOrEmpty(snippet)) { Node scriptNode = elem.getOwnerDocument().createElement("script");
uri.getSnippet(RESOURCE_1)); assertEquals(DefaultConcatUriManager.getJsSnippet(json, RESOURCE_2), uri.getSnippet(RESOURCE_2)); assertNull(uri.getSnippet(RESOURCE_3_NOSCHEMA)); assertEquals(DefaultConcatUriManager.getJsSnippet(json, RESOURCE_3_HTTP), uri.getSnippet(RESOURCE_3_HTTP)); checkBasicUriParameters(uri.getUris().get(0), host, path, 10, type, "0", "0", versions[0]); List<Uri> resList = (i % 2 == 0) ? RESOURCES_ONE : RESOURCES_TWO;
uri.getSnippet(RESOURCE_1)); assertEquals(DefaultConcatUriManager.getJsSnippet(json, RESOURCE_2), uri.getSnippet(RESOURCE_2)); assertNull(uri.getSnippet(RESOURCE_3_NOSCHEMA)); assertEquals(DefaultConcatUriManager.getJsSnippet(json, RESOURCE_3_HTTP), uri.getSnippet(RESOURCE_3_HTTP)); checkBasicUriParameters(uri.getUris().get(0), host, path, 10, type, "0", "0", versions[0]); List<Uri> resList = (i % 2 == 0) ? RESOURCES_ONE : RESOURCES_TWO;
ConcatData uri = concatUris.get(i); assertEquals(DefaultConcatUriManager.getJsSnippet(splitParam, RESOURCE_1), uri.getSnippet(RESOURCE_1)); assertEquals(DefaultConcatUriManager.getJsSnippet(splitParam, RESOURCE_2), uri.getSnippet(RESOURCE_2)); assertEquals(DefaultConcatUriManager.getJsSnippet(splitParam, RESOURCE_3), uri.getSnippet(RESOURCE_3)); assertNull(uri.getUri().getScheme()); assertEquals(host, uri.getUri().getAuthority());
assertEquals(urlA.toString(), concatUris.get(0).getUris().get(0).getQueryParameter("1")); assertEquals(DefaultConcatUriManager.getJsSnippet(jsonFirst, urlA), concatUris.get(0).getSnippet(urlA)); assertEquals(urlB.toString(), concatUris.get(0).getUris().get(0).getQueryParameter("2")); assertEquals(DefaultConcatUriManager.getJsSnippet(jsonFirst, urlB), concatUris.get(0).getSnippet(urlB)); assertNull(concatUris.get(0).getUris().get(0).getQueryParameter("3")); assertEquals(urlC.toString(), concatUris.get(0).getUris().get(1).getQueryParameter("1")); assertEquals(DefaultConcatUriManager.getJsSnippet(jsonSecond, urlC), concatUris.get(0).getSnippet(urlC)); assertNull(concatUris.get(0).getUris().get(1).getQueryParameter("2"));
assertEquals(urlA.toString(), concatUris.get(0).getUris().get(0).getQueryParameter("1")); assertEquals(DefaultConcatUriManager.getJsSnippet(jsonFirst, urlA), concatUris.get(0).getSnippet(urlA)); assertEquals(urlB.toString(), concatUris.get(0).getUris().get(0).getQueryParameter("2")); assertEquals(DefaultConcatUriManager.getJsSnippet(jsonFirst, urlB), concatUris.get(0).getSnippet(urlB)); assertNull(concatUris.get(0).getUris().get(0).getQueryParameter("3")); assertEquals(urlC.toString(), concatUris.get(0).getUris().get(1).getQueryParameter("1")); assertEquals(DefaultConcatUriManager.getJsSnippet(jsonSecond, urlC), concatUris.get(0).getSnippet(urlC)); assertNull(concatUris.get(0).getUris().get(1).getQueryParameter("2"));
assertNull(uri.getSnippet(RESOURCE_1)); assertNull(uri.getSnippet(RESOURCE_2)); assertNull(uri.getSnippet(RESOURCE_3)); assertNull(uri.getUri().getScheme()); assertEquals(host, uri.getUri().getAuthority());
@Test public void dontConcatMultipleResourceBeyoundUrlLimitAdjacentBatched() throws Exception { Gadget gadget = mockGadget(true, true); String host = "bar.com"; String path = "/other/path"; ConcatUriManager.Type type = ConcatUriManager.Type.JS; String[] versions = new String[] { "v1" }; ConcatUriManager.Versioner versioner = makeVersioner(null, versions); DefaultConcatUriManager manager = makeManager(host, path, null, versioner); Uri urlA = Uri.parse(generateUrl(manager.getUrlMaxLength() / 4)); Uri urlB = Uri.parse(generateUrl(manager.getUrlMaxLength() / 4)); Uri urlC = Uri.parse(generateUrl(manager.getUrlMaxLength() / 2)); List<Uri> urlList = ImmutableList.of(urlA, urlB, urlC); List<List<Uri>> resourceUris = ImmutableList.of(urlList); List<ConcatData> concatUris = manager.make(fromList(gadget, resourceUris, type), true); assertEquals(2, concatUris.get(0).getUris().size()); checkBasicUriParameters(concatUris.get(0).getUris().get(0), host, path, 8, type, "1", "1", versions[0]); assertEquals(urlA.toString(), concatUris.get(0).getUris().get(0).getQueryParameter("1")); assertNull(concatUris.get(0).getSnippet(urlA)); assertEquals(urlB.toString(), concatUris.get(0).getUris().get(0).getQueryParameter("2")); assertNull(concatUris.get(0).getSnippet(urlB)); assertNull(concatUris.get(0).getUris().get(0).getQueryParameter("3")); checkBasicUriParameters(concatUris.get(0).getUris().get(1), host, path, 7, type, "1", "1", versions[0]); assertEquals(urlC.toString(), concatUris.get(0).getUris().get(1).getQueryParameter("1")); assertNull(concatUris.get(0).getSnippet(urlC)); assertNull(concatUris.get(0).getUris().get(1).getQueryParameter("2")); }
@Test public void dontConcatMultipleResourceBeyoundUrlLimitAdjacentBatched() throws Exception { Gadget gadget = mockGadget(true, true); String host = "bar.com"; String path = "/other/path"; ConcatUriManager.Type type = ConcatUriManager.Type.JS; String[] versions = new String[] { "v1" }; ConcatUriManager.Versioner versioner = makeVersioner(null, versions); DefaultConcatUriManager manager = makeManager(host, path, null, versioner); Uri urlA = Uri.parse(generateUrl(manager.getUrlMaxLength() / 4)); Uri urlB = Uri.parse(generateUrl(manager.getUrlMaxLength() / 4)); Uri urlC = Uri.parse(generateUrl(manager.getUrlMaxLength() / 2)); List<Uri> urlList = ImmutableList.of(urlA, urlB, urlC); List<List<Uri>> resourceUris = ImmutableList.of(urlList); List<ConcatData> concatUris = manager.make(fromList(gadget, resourceUris, type), true); assertEquals(2, concatUris.get(0).getUris().size()); checkBasicUriParameters(concatUris.get(0).getUris().get(0), host, path, 8, type, "1", "1", versions[0]); assertEquals(urlA.toString(), concatUris.get(0).getUris().get(0).getQueryParameter("1")); assertNull(concatUris.get(0).getSnippet(urlA)); assertEquals(urlB.toString(), concatUris.get(0).getUris().get(0).getQueryParameter("2")); assertNull(concatUris.get(0).getSnippet(urlB)); assertNull(concatUris.get(0).getUris().get(0).getQueryParameter("3")); checkBasicUriParameters(concatUris.get(0).getUris().get(1), host, path, 7, type, "1", "1", versions[0]); assertEquals(urlC.toString(), concatUris.get(0).getUris().get(1).getQueryParameter("1")); assertNull(concatUris.get(0).getSnippet(urlC)); assertNull(concatUris.get(0).getUris().get(1).getQueryParameter("2")); }
assertNull(uri.getSnippet(RESOURCE_1)); assertNull(uri.getSnippet(RESOURCE_2)); assertNull(uri.getSnippet(RESOURCE_3)); assertNull(uri.getUri().getScheme()); assertEquals(host, uri.getUri().getAuthority());
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 checkBatchAdjacent(ConcatUriManager.Type type) throws Exception { Gadget gadget = mockGadget(true, true); String host = "bar.com"; String path = "/other/path"; String[] versions = new String[] { "version1"}; ConcatUriManager.Versioner versioner = makeVersioner(null, versions); DefaultConcatUriManager manager = makeManager(host, path, "token", versioner); List<List<Uri>> resourceUris = ImmutableList.of(RESOURCES_ONE, RESOURCES_TWO, RESOURCES_ONE); List<ConcatData> concatUris = manager.make(fromList(gadget, resourceUris, type), true); assertEquals(3, concatUris.size()); for (int i = 0; i < 3; ++i) { ConcatData uri = concatUris.get(i); assertNull(uri.getSnippet(RESOURCE_1)); assertNull(uri.getSnippet(RESOURCE_2)); assertNull(uri.getSnippet(RESOURCE_3_NOSCHEMA)); assertEquals(1, uri.getUris().size()); checkBasicUriParameters(uri.getUris().get(0), host, path, 9, type, "1", "1", versions[0]); List<Uri> resList = (i % 2 == 0) ? RESOURCES_ONE : RESOURCES_TWO; assertEquals(resList.get(0).toString(), uri.getUris().get(0).getQueryParameter("1")); assertEquals(resList.get(1).toString(), uri.getUris().get(0).getQueryParameter("2")); assertEquals(resList.get(2).toString(), uri.getUris().get(0).getQueryParameter("3")); } }
private void checkBatchAdjacent(ConcatUriManager.Type type) throws Exception { Gadget gadget = mockGadget(true, true); String host = "bar.com"; String path = "/other/path"; String[] versions = new String[] { "version1"}; ConcatUriManager.Versioner versioner = makeVersioner(null, versions); DefaultConcatUriManager manager = makeManager(host, path, "token", versioner); List<List<Uri>> resourceUris = ImmutableList.of(RESOURCES_ONE, RESOURCES_TWO, RESOURCES_ONE); List<ConcatData> concatUris = manager.make(fromList(gadget, resourceUris, type), true); assertEquals(3, concatUris.size()); for (int i = 0; i < 3; ++i) { ConcatData uri = concatUris.get(i); assertNull(uri.getSnippet(RESOURCE_1)); assertNull(uri.getSnippet(RESOURCE_2)); assertNull(uri.getSnippet(RESOURCE_3_NOSCHEMA)); assertEquals(1, uri.getUris().size()); checkBasicUriParameters(uri.getUris().get(0), host, path, 9, type, "1", "1", versions[0]); List<Uri> resList = (i % 2 == 0) ? RESOURCES_ONE : RESOURCES_TWO; assertEquals(resList.get(0).toString(), uri.getUris().get(0).getQueryParameter("1")); assertEquals(resList.get(1).toString(), uri.getUris().get(0).getQueryParameter("2")); assertEquals(resList.get(2).toString(), uri.getUris().get(0).getQueryParameter("3")); } }
private void checkAltParams(ConcatUriManager.Type type) throws Exception { Gadget gadget = mockGadget(true, true); String host = "bar.com"; String path = "/other/path"; String version = "version"; ConcatUriManager.Versioner versioner = makeVersioner(null, version); DefaultConcatUriManager manager = makeManager(host, path, "token", versioner); List<List<Uri>> resourceUris = ImmutableList.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_NOSCHEMA)); assertEquals(1, uri.getUris().size()); checkBasicUriParameters(uri.getUris().get(0), host, path, 9, type, "1", "1", version); assertEquals(RESOURCES_ONE.get(0).toString(), uri.getUris().get(0).getQueryParameter("1")); assertEquals(RESOURCES_ONE.get(1).toString(), uri.getUris().get(0).getQueryParameter("2")); assertEquals(RESOURCES_ONE.get(2).toString(), uri.getUris().get(0).getQueryParameter("3")); }
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.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_NOSCHEMA)); assertEquals(1, uri.getUris().size()); checkBasicUriParameters(uri.getUris().get(0), host, path, 8, type, "0", "0"); assertEquals(RESOURCES_ONE.get(0).toString(), uri.getUris().get(0).getQueryParameter("1")); assertEquals(RESOURCES_ONE.get(1).toString(), uri.getUris().get(0).getQueryParameter("2")); assertEquals(RESOURCES_ONE.get(2).toString(), uri.getUris().get(0).getQueryParameter("3")); }
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.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_NOSCHEMA)); assertEquals(1, uri.getUris().size()); checkBasicUriParameters(uri.getUris().get(0), host, path, 8, type, "0", "0"); assertEquals(RESOURCES_ONE.get(0).toString(), uri.getUris().get(0).getQueryParameter("1")); assertEquals(RESOURCES_ONE.get(1).toString(), uri.getUris().get(0).getQueryParameter("2")); assertEquals(RESOURCES_ONE.get(2).toString(), uri.getUris().get(0).getQueryParameter("3")); }
private void checkAltParams(ConcatUriManager.Type type) throws Exception { Gadget gadget = mockGadget(true, true); String host = "bar.com"; String path = "/other/path"; String version = "version"; ConcatUriManager.Versioner versioner = makeVersioner(null, version); DefaultConcatUriManager manager = makeManager(host, path, "token", versioner); List<List<Uri>> resourceUris = ImmutableList.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_NOSCHEMA)); assertEquals(1, uri.getUris().size()); checkBasicUriParameters(uri.getUris().get(0), host, path, 9, type, "1", "1", version); assertEquals(RESOURCES_ONE.get(0).toString(), uri.getUris().get(0).getQueryParameter("1")); assertEquals(RESOURCES_ONE.get(1).toString(), uri.getUris().get(0).getQueryParameter("2")); assertEquals(RESOURCES_ONE.get(2).toString(), uri.getUris().get(0).getQueryParameter("3")); }