Weitere Warnungen über seltsame Datensätze im DaBInImporter.

git-svn-id: https://svn.libreccm.org/ccm/trunk@739 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2011-02-07 10:55:39 +00:00
parent 4f844cad39
commit 1ac3d33cd9
1 changed files with 79 additions and 59 deletions

View File

@ -1294,8 +1294,9 @@ public class DaBInImporter extends Program {
+ "GROUP BY Verlag"); + "GROUP BY Verlag");
} else { } else {
result = stmt.executeQuery(String.format("SELECT Verlag FROM publikation " result = stmt.executeQuery(String.format("SELECT Verlag FROM publikation "
+ "WHERE (Typ = 'Monographie' OR Typ = 'Sammelband' OR Typ = 'Artikel / Aufsatz') AND Timestamp > '%s' " + "WHERE (Typ = 'Monographie' OR Typ = 'Sammelband' OR Typ = 'Artikel / Aufsatz') AND Timestamp > '%s' "
+ "GROUP BY Verlag", timestamp)); + "GROUP BY Verlag",
timestamp));
} }
result.last(); result.last();
number = result.getRow(); number = result.getRow();
@ -1340,18 +1341,18 @@ public class DaBInImporter extends Program {
long number; long number;
if (timestamp == null) { if (timestamp == null) {
result = stmt.executeQuery( result = stmt.executeQuery(
"SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn " "SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn "
+ "FROM publikation " + "FROM publikation "
+ "WHERE Typ = 'Monographie' " + "WHERE Typ = 'Monographie' "
+ "ORDER BY Name"); + "ORDER BY Name");
} else { } else {
result = stmt.executeQuery(String.format( result = stmt.executeQuery(String.format(
"SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn " "SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn "
+ "FROM publikation " + "FROM publikation "
+ "WHERE Typ = 'Monographie' AND Timestamp > '%s' " + "WHERE Typ = 'Monographie' AND Timestamp > '%s' "
+ "ORDER BY Name", + "ORDER BY Name",
timestamp)); timestamp));
} }
result.last(); result.last();
number = result.getRow(); number = result.getRow();
@ -1425,17 +1426,17 @@ public class DaBInImporter extends Program {
long number; long number;
if (timestamp == null) { if (timestamp == null) {
result = stmt.executeQuery( result = stmt.executeQuery(
"SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit " "SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit "
+ "FROM publikation " + "FROM publikation "
+ "WHERE (Typ = 'Sammelband' AND (ErschienenIn IS NULL OR CHAR_LENGTH(ErschienenIn) = 0)) " + "WHERE (Typ = 'Sammelband' AND (ErschienenIn IS NULL OR CHAR_LENGTH(ErschienenIn) = 0)) "
+ "ORDER BY Name"); + "ORDER BY Name");
} else { } else {
result = stmt.executeQuery(String.format( result = stmt.executeQuery(String.format(
"SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit " "SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit "
+ "FROM publikation " + "FROM publikation "
+ "WHERE (Typ = 'Sammelband' AND (ErschienenIn IS NULL OR CHAR_LENGTH(ErschienenIn) = 0)) AND Timestamp > '%s' " + "WHERE (Typ = 'Sammelband' AND (ErschienenIn IS NULL OR CHAR_LENGTH(ErschienenIn) = 0)) AND Timestamp > '%s' "
+ "ORDER BY Name", timestamp)); + "ORDER BY Name", timestamp));
} }
result.last(); result.last();
number = result.getRow(); number = result.getRow();
@ -1507,22 +1508,22 @@ public class DaBInImporter extends Program {
long number; long number;
if (timestamp == null) { if (timestamp == null) {
result = stmt.executeQuery( result = stmt.executeQuery(
"SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn " "SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn "
+ "FROM publikation " + "FROM publikation "
+ "WHERE (Typ = 'Sammelband' AND ErschienenIn IS NOT NULL AND CHAR_LENGTH(ErschienenIn) > 0) " + "WHERE (Typ = 'Sammelband' AND ErschienenIn IS NOT NULL AND CHAR_LENGTH(ErschienenIn) > 0) "
+ "OR (Typ = 'Monograph' AND ErschienenIn IS NOT NULL AND CHAR_LENGTH(ErschienenIn) > 0) " + "OR (Typ = 'Monograph' AND ErschienenIn IS NOT NULL AND CHAR_LENGTH(ErschienenIn) > 0) "
+ "OR (Typ = 'Artikel / Aufsatz' AND SUBSTRING(ErschienenIn, 1, 2) = 'in') " + "OR (Typ = 'Artikel / Aufsatz' AND SUBSTRING(ErschienenIn, 1, 2) = 'in') "
+ "ORDER BY Name"); + "ORDER BY Name");
} else { } else {
result = stmt.executeQuery(String.format( result = stmt.executeQuery(String.format(
"SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn " "SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn "
+ "FROM publikation " + "FROM publikation "
+ "WHERE ((Typ = 'Sammelband' AND ErschienenIn IS NOT NULL AND CHAR_LENGTH(ErschienenIn) > 0) " + "WHERE ((Typ = 'Sammelband' AND ErschienenIn IS NOT NULL AND CHAR_LENGTH(ErschienenIn) > 0) "
+ "OR (Typ = 'Monograph' AND ErschienenIn IS NOT NULL AND CHAR_LENGTH(ErschienenIn) > 0) " + "OR (Typ = 'Monograph' AND ErschienenIn IS NOT NULL AND CHAR_LENGTH(ErschienenIn) > 0) "
+ "OR (Typ = 'Artikel / Aufsatz' AND SUBSTRING(ErschienenIn, 1, 2) = 'in')) " + "OR (Typ = 'Artikel / Aufsatz' AND SUBSTRING(ErschienenIn, 1, 2) = 'in')) "
+ "AND Timestamp > '%s' " + "AND Timestamp > '%s' "
+ "ORDER BY Name", timestamp)); + "ORDER BY Name", timestamp));
} }
result.last(); result.last();
number = result.getRow(); number = result.getRow();
@ -1596,17 +1597,17 @@ public class DaBInImporter extends Program {
long number; long number;
if (timestamp == null) { if (timestamp == null) {
result = stmt.executeQuery( result = stmt.executeQuery(
"SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn " "SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn "
+ "FROM publikation " + "FROM publikation "
+ "WHERE (Typ = 'Artikel / Aufsatz' AND SUBSTRING(ErschienenIn, 1, 2) <> 'in') " + "WHERE (Typ = 'Artikel / Aufsatz' AND SUBSTRING(ErschienenIn, 1, 2) <> 'in') "
+ "ORDER BY Name"); + "ORDER BY Name");
} else { } else {
result = stmt.executeQuery(String.format( result = stmt.executeQuery(String.format(
"SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn " "SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn "
+ "FROM publikation " + "FROM publikation "
+ "WHERE (Typ = 'Artikel / Aufsatz' AND SUBSTRING(ErschienenIn, 1, 2) <> 'in') AND Timestamp > '%s' " + "WHERE (Typ = 'Artikel / Aufsatz' AND SUBSTRING(ErschienenIn, 1, 2) <> 'in') AND Timestamp > '%s' "
+ "ORDER BY Name", timestamp)); + "ORDER BY Name", timestamp));
} }
result.last(); result.last();
number = result.getRow(); number = result.getRow();
@ -1681,17 +1682,17 @@ public class DaBInImporter extends Program {
long number; long number;
if (timestamp == null) { if (timestamp == null) {
result = stmt.executeQuery( result = stmt.executeQuery(
"SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn " "SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn "
+ "FROM publikation " + "FROM publikation "
+ "WHERE Typ = 'Sonstiges' " + "WHERE Typ = 'Sonstiges' "
+ "ORDER BY Name"); + "ORDER BY Name");
} else { } else {
result = stmt.executeQuery(String.format( result = stmt.executeQuery(String.format(
"SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn " "SELECT Publikation_Id, Name, Verlag, Jahr, Link, Beschreibung, Abteilung_Id, Sichtbarkeit, ErschienenIn "
+ "FROM publikation " + "FROM publikation "
+ "WHERE Typ = 'Sonstiges' AND Timestamp > '%s' " + "WHERE Typ = 'Sonstiges' AND Timestamp > '%s' "
+ "ORDER BY Name", timestamp)); + "ORDER BY Name", timestamp));
} }
result.last(); result.last();
number = result.getRow(); number = result.getRow();
@ -1761,12 +1762,13 @@ public class DaBInImporter extends Program {
List<String> workingPaperIds = new ArrayList<String>(); List<String> workingPaperIds = new ArrayList<String>();
if (timestamp == null) { if (timestamp == null) {
result = stmt.executeQuery("SELECT DISTINCT Arbeitspapier_Id FROM arbeitspapier " result = stmt.executeQuery("SELECT DISTINCT Arbeitspapier_Id FROM arbeitspapier "
+ "ORDER BY Jahr, Name"); + "ORDER BY Jahr, Name");
} else { } else {
result = stmt.executeQuery(String.format("SELECT DISTINCT Arbeitspapier_Id FROM arbeitspapier " result = stmt.executeQuery(String.format("SELECT DISTINCT Arbeitspapier_Id FROM arbeitspapier "
+ "WHERE Timestamp > '%s'" + "WHERE Timestamp > '%s'"
+ "ORDER BY Jahr, Name", timestamp)); + "ORDER BY Jahr, Name",
timestamp));
} }
while (result.next()) { while (result.next()) {
workingPaperIds.add(result.getString(1)); workingPaperIds.add(result.getString(1));
@ -2775,6 +2777,11 @@ public class DaBInImporter extends Program {
publicationEn.addAuthor(author, true); publicationEn.addAuthor(author, true);
} }
if ("et. al.".equals(author.getSurname())
|| "et. al.".equals(author.getGivenName())) {
System.out.printf("\t***WARNING: The publication %s has a author 'et. al.'. It is strongly recommened to name ALL authors of a publication. ");
}
RelatedLink myPublication; RelatedLink myPublication;
myPublication = new RelatedLink(); myPublication = new RelatedLink();
myPublication.setLinkOwner((GenericPerson) personsMap.get(authorship. myPublication.setLinkOwner((GenericPerson) personsMap.get(authorship.
@ -2785,7 +2792,7 @@ public class DaBInImporter extends Program {
myPublication.setTitle(publicationDe.getTitle()); myPublication.setTitle(publicationDe.getTitle());
} else { } else {
System.out.println( System.out.println(
"\t***WARNING: Publication title is too long for link title. Trancating."); "\t***WARNING: Publication title is too long for link title. Truncating.");
myPublication.setTitle(publicationDe.getTitle(). myPublication.setTitle(publicationDe.getTitle().
substring(0, 200)); substring(0, 200));
} }
@ -3172,12 +3179,25 @@ public class DaBInImporter extends Program {
private void createPublisher(final PublisherData publisherData) { private void createPublisher(final PublisherData publisherData) {
if (publishersMap.containsKey(publisherData)) { if (publishersMap.containsKey(publisherData)) {
System.out.printf( System.out.printf(
"Publisher '%s: %s' was already exists. Skiping.\n", "Publisher '%s: %s' already exists. Skiping.\n",
publisherData.getPlace(), publisherData.getPlace(),
publisherData.getName()); publisherData.getName());
return; return;
} }
if (publisherData.getName().length() < 3) {
System.out.printf(
"WARNING: The name of the publisher '%s' is very short.",
publisherData.getName());
}
if ((publisherData.getPlace() == null)
|| publisherData.getPlace().isEmpty()) {
System.out.printf(
"WARNING: The publisher '%s' has no place.",
publisherData.getName());
}
Transaction transaction = new Transaction() { Transaction transaction = new Transaction() {
@Override @Override