Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *  streams library
   *
   *  Copyright (C) 2011-2012 by Christian Bockermann, Hendrik Blom
   * 
   *  streams is a library, API and runtime environment for processing high
   *  volume data streams. It is composed of three submodules "stream-api",
   *  "stream-core" and "stream-runtime".
   *
  *  The streams library (and its submodules) is free software: you can 
  *  redistribute it and/or modify it under the terms of the 
  *  GNU Affero General Public License as published by the Free Software 
  *  Foundation, either version 3 of the License, or (at your option) any 
  *  later version.
  *
  *  The stream.ai library (and its submodules) is distributed in the hope
  *  that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 
  *  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU Affero General Public License for more details.
  *
  *  You should have received a copy of the GNU Affero General Public License
  *  along with this program.  If not, see http://www.gnu.org/licenses/.
  */
 package stream.data;
 
 import java.io.File;
 import java.net.URL;
 import java.util.Map;
 
 
 import stream.Data;

Author(s):
chris
 
 @Description(text = "", group = "Data Stream.Processing.Transformations.Attributes")
 public class MapKeys implements Processor {
 
 	static Logger log = LoggerFactory.getLogger(MapKeys.class);
 
 	public MapKeys(String oldKeyString newKey) {
 		this. = oldKey;
 		this. = newKey;
 	}
 
 	public MapKeys() {
 		this. = "";
 		this. = "";
 	}

Returns:
the oldKey
 
 	public String getFrom() {
 		return ;
 	}

Parameters:
oldKey the oldKey to set
 
 	public void setFrom(String oldKey) {
 		this. = oldKey;
 	}

Returns:
the newKey
 
 	public String getTo() {
 		return ;
 	}

Parameters:
newKey the newKey to set
 
 	public void setTo(String newKey) {
 		this. = newKey;
 	}

Returns:
the map
 
 	public String getMap() {
		return ;
	}

Parameters:
map the map to set
	@Parameter(name = "map", required = false)
	public void setMap(String map) {
		try {
			if (map == null || map.trim().isEmpty()) {
				.debug("No valid value '{}' for 'map' parameter."map);
				return;
			}
			InputStream input = null;
			if (map.startsWith("classpath:")) {
				URL url = MapKeys.class.getResource(map.substring("classpath:"
						.length()));
				.debug("Reading mapping from {}"url);
				input = url.openStream();
else {
				File file;
				if (map.startsWith("file:"))
					file = new File(map.substring("file:".length()));
				else
					file = new File(map);
				.debug("Reading mappings from file {}"file);
				input = new FileInputStream(file);
			}
			Properties p = new Properties();
			p.load(input);
			for (Object key : p.keySet()) {
				.debug("  adding mapping '{}' => '{}'"key,
			}
			this. = map;
catch (Exception e) {
		}
	}

	public Data process(Data input) {
		if ( != null &&  != null && input.containsKey()) {
			if (input.containsKey())
				.warn("Overwriting existing key '{}'!");
			Serializable o = input.remove();
			input.put(o);
		}
		for (String key : .keySet()) {
			if (input.containsKey(key)) {
				Serializable value = input.remove(key);
				input.put(.get(key), value);
			}
		}
		return input;
	}

Returns:
the mapping
	public Map<StringStringgetMapping() {
		return ;
	}

Parameters:
mapping the mapping to set
	@Parameter(required = true, description = "A list of key mappings.")
	public void setMapping(Map<StringStringmapping) {
		this. = mapping;
	}
New to GrepCode? Check out our FAQ X