@Override public String toString() { StringBuilder buf = new StringBuilder(32); buf.append("Name: "); buf.append(getName()); buf.append(", URL: "); buf.append(getURL()); return buf.toString(); }
@Override public String toString() { StringBuilder buf = new StringBuilder(32); buf.append("Name: "); buf.append(getName()); buf.append(", URL: "); buf.append(getURL()); return buf.toString(); }
@Override public String toString() { StringBuilder buf = new StringBuilder(32); buf.append("Name: "); buf.append(getName()); buf.append(", URL: "); buf.append(getURL()); return buf.toString(); }
private static void decoupleOtherGroups(Set<WebXml> group) { Set<String> names = new HashSet<>(); for (WebXml fragment : group) { names.add(fragment.getName()); } for (WebXml fragment : group) { Iterator<String> after = fragment.getAfterOrdering().iterator(); while (after.hasNext()) { String entry = after.next(); if (!names.contains(entry)) { after.remove(); } } } } private static void orderFragments(Set<WebXml> orderedFragments,
private static void decoupleOtherGroups(Set<WebXml> group) { Set<String> names = new HashSet<>(); for (WebXml fragment : group) { names.add(fragment.getName()); } for (WebXml fragment : group) { Iterator<String> after = fragment.getAfterOrdering().iterator(); while (after.hasNext()) { String entry = after.next(); if (!names.contains(entry)) { after.remove(); } } } } private static void orderFragments(Set<WebXml> orderedFragments,
private static void decoupleOtherGroups(Set<WebXml> group) { Set<String> names = new HashSet<>(); for (WebXml fragment : group) { names.add(fragment.getName()); } for (WebXml fragment : group) { Iterator<String> after = fragment.getAfterOrdering().iterator(); while (after.hasNext()) { String entry = after.next(); if (!names.contains(entry)) { after.remove(); } } } } private static void orderFragments(Set<WebXml> orderedFragments,
private boolean mergeLifecycleCallback( Map<String, String> fragmentMap, Map<String, String> tempMap, WebXml fragment, String mapName) { for (Entry<String, String> entry : fragmentMap.entrySet()) { final String key = entry.getKey(); final String value = entry.getValue(); if (tempMap.containsKey(key)) { if (value != null && !value.equals(tempMap.get(key))) { log.error(sm.getString("webXml.mergeConflictString", mapName, key, fragment.getName(), fragment.getURL())); return false; } } else { tempMap.put(key, value); } } return true; }
private static <T> boolean mergeLifecycleCallback( Map<String, String> fragmentMap, Map<String, String> tempMap, WebXml fragment, String mapName) { for (Entry<String, String> entry : fragmentMap.entrySet()) { final String key = entry.getKey(); final String value = entry.getValue(); if (tempMap.containsKey(key)) { if (value != null && !value.equals(tempMap.get(key))) { log.error(sm.getString("webXml.mergeConflictString", mapName, key, fragment.getName(), fragment.getURL())); return false; } } else { tempMap.put(key, value); } } return true; }
private boolean mergeLifecycleCallback( Map<String, String> fragmentMap, Map<String, String> tempMap, WebXml fragment, String mapName) { for (Entry<String, String> entry : fragmentMap.entrySet()) { final String key = entry.getKey(); final String value = entry.getValue(); if (tempMap.containsKey(key)) { if (value != null && !value.equals(tempMap.get(key))) { log.error(sm.getString("webXml.mergeConflictString", mapName, key, fragment.getName(), fragment.getURL())); return false; } } else { tempMap.put(key, value); } } return true; }
private static void orderFragments(Set<WebXml> orderedFragments, Set<WebXml> unordered) { Set<WebXml> addedThisRound = new HashSet<>(); Set<WebXml> addedLastRound = new HashSet<>(); while (unordered.size() > 0) { Iterator<WebXml> source = unordered.iterator(); while (source.hasNext()) { WebXml fragment = source.next(); for (WebXml toRemove : addedLastRound) { fragment.getAfterOrdering().remove(toRemove.getName()); } if (fragment.getAfterOrdering().isEmpty()) { addedThisRound.add(fragment); orderedFragments.add(fragment); source.remove(); } } if (addedThisRound.size() == 0) { // Circular throw new IllegalArgumentException( sm.getString("webXml.mergeConflictOrder")); } addedLastRound.clear(); addedLastRound.addAll(addedThisRound); addedThisRound.clear(); } }
private static void orderFragments(Set<WebXml> orderedFragments, Set<WebXml> unordered) { Set<WebXml> addedThisRound = new HashSet<>(); Set<WebXml> addedLastRound = new HashSet<>(); while (unordered.size() > 0) { Iterator<WebXml> source = unordered.iterator(); while (source.hasNext()) { WebXml fragment = source.next(); for (WebXml toRemove : addedLastRound) { fragment.getAfterOrdering().remove(toRemove.getName()); } if (fragment.getAfterOrdering().isEmpty()) { addedThisRound.add(fragment); orderedFragments.add(fragment); source.remove(); } } if (addedThisRound.size() == 0) { // Circular throw new IllegalArgumentException( sm.getString("webXml.mergeConflictOrder")); } addedLastRound.clear(); addedLastRound.addAll(addedThisRound); addedThisRound.clear(); } }
private static void orderFragments(Set<WebXml> orderedFragments, Set<WebXml> unordered) { Set<WebXml> addedThisRound = new HashSet<>(); Set<WebXml> addedLastRound = new HashSet<>(); while (unordered.size() > 0) { Iterator<WebXml> source = unordered.iterator(); while (source.hasNext()) { WebXml fragment = source.next(); for (WebXml toRemove : addedLastRound) { fragment.getAfterOrdering().remove(toRemove.getName()); } if (fragment.getAfterOrdering().isEmpty()) { addedThisRound.add(fragment); orderedFragments.add(fragment); source.remove(); } } if (addedThisRound.size() == 0) { // Circular throw new IllegalArgumentException( sm.getString("webXml.mergeConflictOrder")); } addedLastRound.clear(); addedLastRound.addAll(addedThisRound); addedThisRound.clear(); } }
private <T> boolean mergeMap(Map<String,T> fragmentMap, Map<String,T> mainMap, Map<String,T> tempMap, WebXml fragment, String mapName) { for (Entry<String, T> entry : fragmentMap.entrySet()) { final String key = entry.getKey(); if (!mainMap.containsKey(key)) { // Not defined in main web.xml T value = entry.getValue(); if (tempMap.containsKey(key)) { if (value != null && !value.equals( tempMap.get(key))) { log.error(sm.getString( "webXml.mergeConflictString", mapName, key, fragment.getName(), fragment.getURL())); return false; } } else { tempMap.put(key, value); } } } return true; }
private <T> boolean mergeMap(Map<String,T> fragmentMap, Map<String,T> mainMap, Map<String,T> tempMap, WebXml fragment, String mapName) { for (Entry<String, T> entry : fragmentMap.entrySet()) { final String key = entry.getKey(); if (!mainMap.containsKey(key)) { // Not defined in main web.xml T value = entry.getValue(); if (tempMap.containsKey(key)) { if (value != null && !value.equals( tempMap.get(key))) { log.error(sm.getString( "webXml.mergeConflictString", mapName, key, fragment.getName(), fragment.getURL())); return false; } } else { tempMap.put(key, value); } } } return true; }
private static <T> boolean mergeMap(Map<String,T> fragmentMap, Map<String,T> mainMap, Map<String,T> tempMap, WebXml fragment, String mapName) { for (Entry<String, T> entry : fragmentMap.entrySet()) { final String key = entry.getKey(); if (!mainMap.containsKey(key)) { // Not defined in main web.xml T value = entry.getValue(); if (tempMap.containsKey(key)) { if (value != null && !value.equals( tempMap.get(key))) { log.error(sm.getString( "webXml.mergeConflictString", mapName, key, fragment.getName(), fragment.getURL())); return false; } } else { tempMap.put(key, value); } } } return true; }
@Override public void scan(File file, String webappPath, boolean isWebapp) throws IOException { InputStream stream = null; WebXml fragment = new WebXml(); fragment.setWebappJar(isWebapp); fragment.setDelegate(delegate); try { File fragmentFile = new File(file, FRAGMENT_LOCATION); if (fragmentFile.isFile()) { stream = new FileInputStream(fragmentFile); InputSource source = new InputSource(fragmentFile.toURI().toURL().toString()); source.setByteStream(stream); if (!webXmlParser.parseWebXml(source, fragment, true)) { ok = false; } } else { // If there is no web.xml, normal folder no impact on // distributable fragment.setDistributable(true); } } finally { fragment.setURL(file.toURI().toURL()); if (fragment.getName() == null) { fragment.setName(fragment.getURL().toString()); } fragment.setJarName(file.getName()); fragments.put(fragment.getName(), fragment); } }
@Override public void scan(File file, String webappPath, boolean isWebapp) throws IOException { WebXml fragment = new WebXml(); fragment.setWebappJar(isWebapp); fragment.setDelegate(delegate); File fragmentFile = new File(file, FRAGMENT_LOCATION); try { if (fragmentFile.isFile()) { try (InputStream stream = new FileInputStream(fragmentFile)) { InputSource source = new InputSource(fragmentFile.toURI().toURL().toString()); source.setByteStream(stream); if (!webXmlParser.parseWebXml(source, fragment, true)) { ok = false; } } } else { // If there is no web.xml, normal folder no impact on // distributable fragment.setDistributable(true); } } finally { fragment.setURL(file.toURI().toURL()); if (fragment.getName() == null) { fragment.setName(fragment.getURL().toString()); } fragment.setJarName(file.getName()); fragments.put(fragment.getName(), fragment); } }
private <T extends ResourceBase> boolean mergeResourceMap( Map<String, T> fragmentResources, Map<String, T> mainResources, Map<String, T> tempResources, WebXml fragment) { for (T resource : fragmentResources.values()) { String resourceName = resource.getName(); if (mainResources.containsKey(resourceName)) { mainResources.get(resourceName).getInjectionTargets().addAll( resource.getInjectionTargets()); } else { // Not defined in main web.xml T existingResource = tempResources.get(resourceName); if (existingResource != null) { if (!existingResource.equals(resource)) { log.error(sm.getString( "webXml.mergeConflictResource", resourceName, fragment.getName(), fragment.getURL())); return false; } } else { tempResources.put(resourceName, resource); } } } return true; }
private <T extends ResourceBase> boolean mergeResourceMap( Map<String, T> fragmentResources, Map<String, T> mainResources, Map<String, T> tempResources, WebXml fragment) { for (T resource : fragmentResources.values()) { String resourceName = resource.getName(); if (mainResources.containsKey(resourceName)) { mainResources.get(resourceName).getInjectionTargets().addAll( resource.getInjectionTargets()); } else { // Not defined in main web.xml T existingResource = tempResources.get(resourceName); if (existingResource != null) { if (!existingResource.equals(resource)) { log.error(sm.getString( "webXml.mergeConflictResource", resourceName, fragment.getName(), fragment.getURL())); return false; } } else { tempResources.put(resourceName, resource); } } } return true; }
private static <T extends ResourceBase> boolean mergeResourceMap( Map<String, T> fragmentResources, Map<String, T> mainResources, Map<String, T> tempResources, WebXml fragment) { for (T resource : fragmentResources.values()) { String resourceName = resource.getName(); if (mainResources.containsKey(resourceName)) { mainResources.get(resourceName).getInjectionTargets().addAll( resource.getInjectionTargets()); } else { // Not defined in main web.xml T existingResource = tempResources.get(resourceName); if (existingResource != null) { if (!existingResource.equals(resource)) { log.error(sm.getString( "webXml.mergeConflictResource", resourceName, fragment.getName(), fragment.getURL())); return false; } } else { tempResources.put(resourceName, resource); } } } return true; }