Revision 60200
Added by Michele Artini about 3 years ago
BibTexConverter.java | ||
---|---|---|
66 | 66 |
} |
67 | 67 |
|
68 | 68 |
private static void addSourceAndDate(final BibTeXEntry dbEntry, final MdRecord record) { |
69 |
String year = "" + record.getDate();
|
|
69 |
String year = Integer.toString(record.getDate());
|
|
70 | 70 |
|
71 |
switch (record.getType().toLowerCase()) { |
|
72 |
case "conference object": |
|
73 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_BOOKTITLE, record.getSource()); |
|
74 |
break; |
|
75 |
case "part of book or chapter of book": |
|
76 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_BOOKTITLE, record.getSource()); |
|
77 |
break; |
|
78 |
case "report": |
|
79 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_INSTITUTION, record.getSource()); |
|
80 |
break; |
|
81 |
case "article": |
|
82 |
final String regex = "^(.+) (\\d*) \\((\\d{4})\\)(: (\\d+\\–?\\d*))?"; |
|
83 |
final Pattern pattern = Pattern.compile(regex); |
|
84 |
final Matcher matcher = pattern.matcher(record.getSource()); |
|
71 |
if (record.getSource() != null) { |
|
72 |
switch (record.getType().toLowerCase()) { |
|
73 |
case "conference object": |
|
74 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_BOOKTITLE, record.getSource()); |
|
75 |
break; |
|
76 |
case "part of book or chapter of book": |
|
77 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_BOOKTITLE, record.getSource()); |
|
78 |
break; |
|
79 |
case "report": |
|
80 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_INSTITUTION, record.getSource()); |
|
81 |
break; |
|
82 |
case "article": |
|
85 | 83 |
|
86 |
if (matcher.find()) { |
|
87 |
if (matcher.groupCount() >= 1) { |
|
88 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_JOURNAL, matcher.group(1)); |
|
84 |
final String regex = "^(.+) (\\d*) \\((\\d{4})\\)(: (\\d+\\–?\\d*))?"; |
|
85 |
final Pattern pattern = Pattern.compile(regex); |
|
86 |
final Matcher matcher = pattern.matcher(record.getSource()); |
|
87 |
|
|
88 |
if (matcher.find()) { |
|
89 |
if (matcher.groupCount() >= 1) { |
|
90 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_JOURNAL, matcher.group(1)); |
|
91 |
} |
|
92 |
if (matcher.groupCount() >= 2) { |
|
93 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_VOLUME, matcher.group(2)); |
|
94 |
} |
|
95 |
if (matcher.groupCount() >= 3) { |
|
96 |
year = matcher.group(3); |
|
97 |
} |
|
98 |
if (matcher.groupCount() >= 5) { |
|
99 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_PAGES, matcher.group(5)); |
|
100 |
} |
|
89 | 101 |
} |
90 |
if (matcher.groupCount() >= 2) { |
|
91 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_VOLUME, matcher.group(2)); |
|
92 |
} |
|
93 |
if (matcher.groupCount() >= 3) { |
|
94 |
year = matcher.group(3); |
|
95 |
} |
|
96 |
if (matcher.groupCount() >= 5) { |
|
97 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_PAGES, matcher.group(5)); |
|
98 |
} |
|
102 |
break; |
|
103 |
case "patent": |
|
104 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_HOWPUBLISHED, record.getSource()); |
|
105 |
break; |
|
99 | 106 |
} |
100 |
|
|
101 |
break; |
|
102 |
case "patent": |
|
103 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_HOWPUBLISHED, record.getSource()); |
|
104 |
break; |
|
105 | 107 |
} |
106 | 108 |
|
107 | 109 |
addSimpleStringValue(dbEntry, BibTeXEntry.KEY_YEAR, year); |
Also available in: Unified diff
fixed NPE