// Path: disambiguation-author/disambiguation-author-logic/src/main/java/pl/edu/icm/coansys/disambiguation/author/normalizers/DiacriticsRemover.java
// public class DiacriticsRemover implements PigNormalizer {
// 
// 	@Override
// 	public String normalize(String text) {
// 
// 		if (text == null) {
// 			return null;
// 		}
// 		String tmp;
// 
// 		if (text instanceof String) {
// 			tmp = (String) text;
// 		} else {
// 			tmp = text.toString();
// 		}
// 
// 		//alternative function: org.apache.commons.lang3.StringUtils.stripAccents(tmp);
// 		tmp = pl.edu.icm.coansys.commons.java.DiacriticsRemover.removeDiacritics(tmp);
// 		tmp = tmp.trim();
// 
// 		if (tmp.isEmpty()) {
// 			return null;
// 		}
// 
// 		return tmp;
// 	}
// }
// 
// Path: disambiguation-author/disambiguation-author-logic/src/main/java/pl/edu/icm/coansys/disambiguation/author/normalizers/PigNormalizer.java
// public interface PigNormalizer {
// 	
//     String normalize( String text );
// 	
// }
// 
// Path: disambiguation-author/disambiguation-author-logic/src/main/java/pl/edu/icm/coansys/disambiguation/author/normalizers/ToHashCode.java
// public class ToHashCode  {
//     
// 	public Integer normalize(String text) {
// 
// 		if (text == null) {
// 			return null;
// 		}
// 
// 		Integer tmp=null ;
//         boolean parsed=false;
//         try {
//             tmp=Integer.parseInt(text);
//             parsed=true;
//         } catch (Exception e){
//             
//         }
// 
// 		if (! parsed) {
// 			tmp = text.hashCode();
// 		} 
// 
// 		return tmp;
// 	}
// }
// 
// Path: disambiguation-author/disambiguation-author-logic/src/main/java/pl/edu/icm/coansys/disambiguation/author/normalizers/ToLowerCase.java
// public class ToLowerCase implements PigNormalizer {
// 
// 	@Override
// 	public String normalize(String text) {
// 
// 		if (text == null) {
// 			return null;
// 		}
// 		String tmp;
// 
// 		if (text instanceof String) {
// 			tmp = (String) text;
// 		} else {
// 			tmp = text.toString();
// 		}
// 
// 		if (tmp.isEmpty()) {
// 			return null;
// 		}
// 
// 		tmp = tmp.toLowerCase();
// 
// 		if (tmp.isEmpty()) {
// 			return null;
// 		}
// 
// 		return tmp;
// 	}
// }


import pl.edu.icm.coansys.disambiguation.author.normalizers.DiacriticsRemover;
import pl.edu.icm.coansys.disambiguation.author.normalizers.PigNormalizer;
import pl.edu.icm.coansys.disambiguation.author.normalizers.ToHashCode;
import pl.edu.icm.coansys.disambiguation.author.normalizers.ToLowerCase;
/*
 * This file is part of CoAnSys project.
 * Copyright (c) 2012-2015 ICM-UW
 * 
 * CoAnSys 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.

 * CoAnSys 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 CoAnSys. If not, see <http://www.gnu.org/licenses/>.
 */
package pl.edu.icm.coansys.disambiguation.author.features.extractors.indicators;


public class DisambiguationExtractor {

	private final PigNormalizer normalizers[];

	public DisambiguationExtractor(){
		normalizers = new PigNormalizer[] {
				new DiacriticsRemover(), 
// Path: disambiguation-author/disambiguation-author-logic/src/main/java/pl/edu/icm/coansys/disambiguation/author/normalizers/DiacriticsRemover.java
// public class DiacriticsRemover implements PigNormalizer {
// 
// 	@Override
// 	public String normalize(String text) {
// 
// 		if (text == null) {
// 			return null;
// 		}
// 		String tmp;
// 
// 		if (text instanceof String) {
// 			tmp = (String) text;
// 		} else {
// 			tmp = text.toString();
// 		}
// 
// 		//alternative function: org.apache.commons.lang3.StringUtils.stripAccents(tmp);
// 		tmp = pl.edu.icm.coansys.commons.java.DiacriticsRemover.removeDiacritics(tmp);
// 		tmp = tmp.trim();
// 
// 		if (tmp.isEmpty()) {
// 			return null;
// 		}
// 
// 		return tmp;
// 	}
// }
// 
// Path: disambiguation-author/disambiguation-author-logic/src/main/java/pl/edu/icm/coansys/disambiguation/author/normalizers/PigNormalizer.java
// public interface PigNormalizer {
// 	
//     String normalize( String text );
// 	
// }
// 
// Path: disambiguation-author/disambiguation-author-logic/src/main/java/pl/edu/icm/coansys/disambiguation/author/normalizers/ToHashCode.java
// public class ToHashCode  {
//     
// 	public Integer normalize(String text) {
// 
// 		if (text == null) {
// 			return null;
// 		}
// 
// 		Integer tmp=null ;
//         boolean parsed=false;
//         try {
//             tmp=Integer.parseInt(text);
//             parsed=true;
//         } catch (Exception e){
//             
//         }
// 
// 		if (! parsed) {
// 			tmp = text.hashCode();
// 		} 
// 
// 		return tmp;
// 	}
// }
// 
// Path: disambiguation-author/disambiguation-author-logic/src/main/java/pl/edu/icm/coansys/disambiguation/author/normalizers/ToLowerCase.java
// public class ToLowerCase implements PigNormalizer {
// 
// 	@Override
// 	public String normalize(String text) {
// 
// 		if (text == null) {
// 			return null;
// 		}
// 		String tmp;
// 
// 		if (text instanceof String) {
// 			tmp = (String) text;
// 		} else {
// 			tmp = text.toString();
// 		}
// 
// 		if (tmp.isEmpty()) {
// 			return null;
// 		}
// 
// 		tmp = tmp.toLowerCase();
// 
// 		if (tmp.isEmpty()) {
// 			return null;
// 		}
// 
// 		return tmp;
// 	}
// }


// Path: disambiguation-author/disambiguation-author-logic/src/main/java/pl/edu/icm/coansys/disambiguation/author/features/extractors/indicators/DisambiguationExtractor.java
import pl.edu.icm.coansys.disambiguation.author.normalizers.DiacriticsRemover;
import pl.edu.icm.coansys.disambiguation.author.normalizers.PigNormalizer;
import pl.edu.icm.coansys.disambiguation.author.normalizers.ToHashCode;
import pl.edu.icm.coansys.disambiguation.author.normalizers.ToLowerCase;

/*
 * This file is part of CoAnSys project.
 * Copyright (c) 2012-2015 ICM-UW
 * 
 * CoAnSys 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.

 * CoAnSys 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 CoAnSys. If not, see <http://www.gnu.org/licenses/>.
 */
package pl.edu.icm.coansys.disambiguation.author.features.extractors.indicators;


public class DisambiguationExtractor {

	private final PigNormalizer normalizers[];

	public DisambiguationExtractor(){
		normalizers = new PigNormalizer[] {
				new DiacriticsRemover(), 
				new ToLowerCase()