public void process()

in library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/headers/DeDuplicateNamingHeaders.java [55:90]


	public void process(Exchange ex) throws InvalidPayloadException {
		Map<String, Object> originalHeaders = ex.getMessage().getHeaders();
		Map<String, Object> newHeaders = new HashMap<>();
	    Iterator<Map.Entry<String, Object>> iterator = originalHeaders.entrySet().iterator();
	    while (iterator.hasNext()) {
	        Map.Entry<String, Object> entry = iterator.next();
			String key = entry.getKey();
			Object val = entry.getValue();
			if (prefix != null && mode.equalsIgnoreCase("all")) {
				if (key.startsWith(prefix)) {
					String newKey = key.replaceFirst(prefix, renamingPrefix);
					String subKey = newKey.substring(renamingPrefix.length());
					String suffix = subKey.toUpperCase();
					newHeaders.put(renamingPrefix + suffix, val);
					iterator.remove();
				}
			} else {
				if (selectedHeaders != null && mode.equalsIgnoreCase("filtering")) {
					List<String> headerList = Arrays.asList(selectedHeaders.split(","));
					for (Iterator iteratorHeader = headerList.iterator(); iteratorHeader.hasNext();) {
						String header = (String) iteratorHeader.next();
						if (key.equalsIgnoreCase(header)) {
							String newKey = key.replaceFirst(prefix, renamingPrefix);
							String subKey = newKey.substring(renamingPrefix.length());
							String suffix = subKey.toUpperCase();
							newHeaders.put(renamingPrefix + suffix, val);
							iterator.remove();
						} 
					}

				}
	       }
	    }
		originalHeaders.putAll(newHeaders);
		ex.getMessage().setHeaders(originalHeaders);
	}