Revision 57157
Added by Enrico Ottonello over 4 years ago
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
solr 772 integration