MCPcopy Create free account
hub / github.com/apache/tomcat / mergeServlet

Method mergeServlet

java/org/apache/tomcat/util/descriptor/web/WebXml.java:2540–2614  ·  view source on GitHub ↗
(ServletDef src, ServletDef dest, boolean failOnConflict)

Source from the content-addressed store, hash-verified

2538 }
2539
2540 private static boolean mergeServlet(ServletDef src, ServletDef dest, boolean failOnConflict) {
2541 // These tests should be unnecessary...
2542 if (dest.getServletClass() != null && dest.getJspFile() != null) {
2543 return false;
2544 }
2545 if (src.getServletClass() != null && src.getJspFile() != null) {
2546 return false;
2547 }
2548
2549
2550 if (dest.getServletClass() == null && dest.getJspFile() == null) {
2551 dest.setServletClass(src.getServletClass());
2552 dest.setJspFile(src.getJspFile());
2553 } else if (failOnConflict) {
2554 if (src.getServletClass() != null &&
2555 (dest.getJspFile() != null || !src.getServletClass().equals(dest.getServletClass()))) {
2556 return false;
2557 }
2558 if (src.getJspFile() != null &&
2559 (dest.getServletClass() != null || !src.getJspFile().equals(dest.getJspFile()))) {
2560 return false;
2561 }
2562 }
2563
2564 // Additive
2565 for (SecurityRoleRef securityRoleRef : src.getSecurityRoleRefs()) {
2566 dest.addSecurityRoleRef(securityRoleRef);
2567 }
2568
2569 if (dest.getLoadOnStartup() == null) {
2570 if (src.getLoadOnStartup() != null) {
2571 dest.setLoadOnStartup(src.getLoadOnStartup().toString());
2572 }
2573 } else if (src.getLoadOnStartup() != null) {
2574 if (failOnConflict && !src.getLoadOnStartup().equals(dest.getLoadOnStartup())) {
2575 return false;
2576 }
2577 }
2578
2579 if (dest.getEnabled() == null) {
2580 if (src.getEnabled() != null) {
2581 dest.setEnabled(src.getEnabled().toString());
2582 }
2583 } else if (src.getEnabled() != null) {
2584 if (failOnConflict && !src.getEnabled().equals(dest.getEnabled())) {
2585 return false;
2586 }
2587 }
2588
2589 for (Map.Entry<String,String> srcEntry : src.getParameterMap().entrySet()) {
2590 if (dest.getParameterMap().containsKey(srcEntry.getKey())) {
2591 if (failOnConflict && !dest.getParameterMap().get(srcEntry.getKey()).equals(srcEntry.getValue())) {
2592 return false;
2593 }
2594 } else {
2595 dest.addInitParameter(srcEntry.getKey(), srcEntry.getValue());
2596 }
2597 }

Callers 1

mergeMethod · 0.95

Calls 15

mergeMultipartDefMethod · 0.95
setJspFileMethod · 0.80
getSecurityRoleRefsMethod · 0.80
addSecurityRoleRefMethod · 0.80
getMultipartDefMethod · 0.80
setMultipartDefMethod · 0.80
getServletClassMethod · 0.65
setServletClassMethod · 0.65
equalsMethod · 0.65
getLoadOnStartupMethod · 0.65
setLoadOnStartupMethod · 0.65
toStringMethod · 0.65

Tested by

no test coverage detected