Project

General

Profile

« Previous | Next » 

Revision 57157

Added by Enrico Ottonello over 4 years ago

solr 772 integration

View differences:

InputDocumentFactory.java
3 3
import java.text.ParseException;
4 4
import java.text.SimpleDateFormat;
5 5
import java.util.Arrays;
6
import java.util.Date;
6 7
import java.util.List;
7 8
import javax.xml.stream.XMLStreamException;
8 9

  
......
10 11
import org.dom4j.DocumentException;
11 12

  
12 13
/**
14
 *
13 15
 * @author claudio
16
 *
14 17
 */
15 18
public abstract class InputDocumentFactory {
16 19

  
......
30 33

  
31 34
	private final static List<String> dateFormats = Arrays.asList("yyyy-MM-dd'T'hh:mm:ss", "yyyy-MM-dd", "dd-MM-yyyy", "dd/MM/yyyy", "yyyy");
32 35

  
36
	public abstract SolrInputDocument parseDocument(final String version,
37
			final String inputDocument,
38
			final String dsId,
39
			final String resultName) throws XMLStreamException;
40

  
41
	public abstract SolrInputDocument parseDocument(final String version,
42
			final String inputDocument,
43
			final String dsId,
44
			final String resultName,
45
			final ResultTransformer resultTransformer) throws XMLStreamException;
46

  
33 47
	/**
34 48
	 * method return a solr-compatible string representation of a date
35 49
	 *
36 50
	 * @param date
37
	 * @return
51
	 * @return the parsed date
38 52
	 * @throws DocumentException
39 53
	 * @throws ParseException
40 54
	 */
41 55
	public static String getParsedDateField(final String date) {
56
		return new SimpleDateFormat(outFormat).format(tryParse(date));
57
	}
58

  
59
	public static Date tryParse(final String date) {
42 60
		for (String formatString : dateFormats) {
43 61
			try {
44
				return new SimpleDateFormat(outFormat).format(new SimpleDateFormat(formatString).parse(date));
62
				return new SimpleDateFormat(formatString).parse(date);
45 63
			} catch (ParseException e) {}
46 64
		}
47 65
		throw new IllegalStateException("unable to parse date: " + date);
48 66
	}
49 67

  
50
	public abstract SolrInputDocument parseDocument(final String version,
51
			final String inputDocument,
52
			final String dsId,
53
			final String resultName) throws XMLStreamException;
54

  
55
	public abstract SolrInputDocument parseDocument(final String version,
56
			final String inputDocument,
57
			final String dsId,
58
			final String resultName,
59
			final ResultTransformer resultTransformer) throws XMLStreamException;
60

  
61 68
	public String parseDate(final String date) {
62 69
		return getParsedDateField(date);
63 70
	}

Also available in: Unified diff