package org.docear.plugin.bibtex.jabref;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.regex.Pattern;
import org.docear.plugin.bibtex.actions.IPreOpenAction;
import org.docear.plugin.core.logging.DocearLogger;
public class ZoteroAnnoteFieldRemoverAction implements IPreOpenAction {
public final static Pattern FIELD_END_1 = Pattern.compile("\\},$");
public final static Pattern FIELD_END_2 = Pattern.compile("\\}$");
@Override
public boolean isActionNecessary(File file) {
return true;
}
@Override
public void performAction(File file) {
StringBuffer sb = new StringBuffer();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
if (line.trim().startsWith("annote = {")) {
while (!line.endsWith("},") && !line.endsWith("}")) {
line = br.readLine();
}
}
else {
sb.append(line);
sb.append("\r\n");
}
}
br.close();
FileWriter fw = new FileWriter(file);
fw.write(sb.toString());
fw.close();
}
catch (IOException e) {
DocearLogger.error(e);
}
}
}