- Aktueller Stand DaBInImporter
- Allgemeiner Personentyp git-svn-id: https://svn.libreccm.org/ccm/trunk@647 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
2265264a52
commit
23de689b61
|
|
@ -11,6 +11,7 @@
|
||||||
<ccm:requires name="ccm-ldn-util" version="6.6.0" relation="ge"/>
|
<ccm:requires name="ccm-ldn-util" version="6.6.0" relation="ge"/>
|
||||||
<ccm:requires name="ccm-cms-types-address" version="6.6.0" relation="ge"/>
|
<ccm:requires name="ccm-cms-types-address" version="6.6.0" relation="ge"/>
|
||||||
<ccm:requires name="ccm-cms-types-contact" version="6.6.0" relation="ge"/>
|
<ccm:requires name="ccm-cms-types-contact" version="6.6.0" relation="ge"/>
|
||||||
|
<ccm:requires name="ccm-cms-types-person" version="6.6.0" relation="ge"/>
|
||||||
<ccm:requires name="ccm-sci-types-organization" version="6.6.0" relation="ge"/>
|
<ccm:requires name="ccm-sci-types-organization" version="6.6.0" relation="ge"/>
|
||||||
<ccm:requires name="ccm-sci-publications" version="6.6.0" relation="ge"/>
|
<ccm:requires name="ccm-sci-publications" version="6.6.0" relation="ge"/>
|
||||||
<ccm:requires name="ccm-cms-assets-relatedlink" version="6.6.0" relation="ge"/>
|
<ccm:requires name="ccm-cms-assets-relatedlink" version="6.6.0" relation="ge"/>
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,9 @@ import com.arsdigita.cms.contentassets.RelatedLink;
|
||||||
import com.arsdigita.cms.contenttypes.Address;
|
import com.arsdigita.cms.contenttypes.Address;
|
||||||
import com.arsdigita.cms.contenttypes.Contact;
|
import com.arsdigita.cms.contenttypes.Contact;
|
||||||
import com.arsdigita.cms.contenttypes.GenericContactEntry;
|
import com.arsdigita.cms.contenttypes.GenericContactEntry;
|
||||||
|
import com.arsdigita.cms.contenttypes.GenericPerson;
|
||||||
import com.arsdigita.cms.contenttypes.Link;
|
import com.arsdigita.cms.contenttypes.Link;
|
||||||
|
import com.arsdigita.cms.contenttypes.Person;
|
||||||
import com.arsdigita.cms.contenttypes.SciAuthor;
|
import com.arsdigita.cms.contenttypes.SciAuthor;
|
||||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||||
import com.arsdigita.cms.contenttypes.SciMember;
|
import com.arsdigita.cms.contenttypes.SciMember;
|
||||||
|
|
@ -44,6 +46,7 @@ import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -70,11 +73,12 @@ public class DaBInImporter extends Program {
|
||||||
private Folder members;
|
private Folder members;
|
||||||
private Map<String, Folder> membersAlpha;
|
private Map<String, Folder> membersAlpha;
|
||||||
private Folder organization;
|
private Folder organization;
|
||||||
|
private Folder persons;
|
||||||
|
private Map<String, Folder> personsAlpha;
|
||||||
private Folder projects;
|
private Folder projects;
|
||||||
private Folder publications;
|
private Folder publications;
|
||||||
private Map<String, SciAuthor> authorsMap;
|
|
||||||
private Map<String, ContentBundle> departmentsMap;
|
private Map<String, ContentBundle> departmentsMap;
|
||||||
private Map<String, SciMember> membersMap;
|
private Map<String, ContentBundle> personsMap;
|
||||||
private Map<String, ContentBundle> projectsMap;
|
private Map<String, ContentBundle> projectsMap;
|
||||||
private Map<String, ContentBundle> publicationMap;
|
private Map<String, ContentBundle> publicationMap;
|
||||||
private Map<String, ContentBundle> workingPaperMap;
|
private Map<String, ContentBundle> workingPaperMap;
|
||||||
|
|
@ -109,9 +113,9 @@ public class DaBInImporter extends Program {
|
||||||
startup);
|
startup);
|
||||||
authorsAlpha = new HashMap<String, Folder>(12);
|
authorsAlpha = new HashMap<String, Folder>(12);
|
||||||
membersAlpha = new HashMap<String, Folder>(12);
|
membersAlpha = new HashMap<String, Folder>(12);
|
||||||
authorsMap = new HashMap<String, SciAuthor>();
|
personsAlpha = new HashMap<String, Folder>(12);
|
||||||
departmentsMap = new HashMap<String, ContentBundle>();
|
departmentsMap = new HashMap<String, ContentBundle>();
|
||||||
membersMap = new HashMap<String, SciMember>();
|
personsMap = new HashMap<String, ContentBundle>();
|
||||||
projectsMap = new HashMap<String, ContentBundle>();
|
projectsMap = new HashMap<String, ContentBundle>();
|
||||||
publicationMap = new HashMap<String, ContentBundle>();
|
publicationMap = new HashMap<String, ContentBundle>();
|
||||||
workingPaperMap = new HashMap<String, ContentBundle>();
|
workingPaperMap = new HashMap<String, ContentBundle>();
|
||||||
|
|
@ -224,7 +228,7 @@ public class DaBInImporter extends Program {
|
||||||
authorsAlpha.put("kl", folder);
|
authorsAlpha.put("kl", folder);
|
||||||
folder = createFolder(authors, "mn", "M - N");
|
folder = createFolder(authors, "mn", "M - N");
|
||||||
authorsAlpha.put("mn", folder);
|
authorsAlpha.put("mn", folder);
|
||||||
folder = createFolder(authors, "op", "P - P");
|
folder = createFolder(authors, "op", "O - P");
|
||||||
authorsAlpha.put("op", folder);
|
authorsAlpha.put("op", folder);
|
||||||
folder = createFolder(authors, "qr", "Q - R");
|
folder = createFolder(authors, "qr", "Q - R");
|
||||||
authorsAlpha.put("qr", folder);
|
authorsAlpha.put("qr", folder);
|
||||||
|
|
@ -254,7 +258,7 @@ public class DaBInImporter extends Program {
|
||||||
membersAlpha.put("kl", folder);
|
membersAlpha.put("kl", folder);
|
||||||
folder = createFolder(members, "mn", "M - N");
|
folder = createFolder(members, "mn", "M - N");
|
||||||
membersAlpha.put("mn", folder);
|
membersAlpha.put("mn", folder);
|
||||||
folder = createFolder(members, "op", "P - P");
|
folder = createFolder(members, "op", "O - P");
|
||||||
membersAlpha.put("op", folder);
|
membersAlpha.put("op", folder);
|
||||||
folder = createFolder(members, "qr", "Q - R");
|
folder = createFolder(members, "qr", "Q - R");
|
||||||
membersAlpha.put("qr", folder);
|
membersAlpha.put("qr", folder);
|
||||||
|
|
@ -267,6 +271,32 @@ public class DaBInImporter extends Program {
|
||||||
|
|
||||||
organization = createFolder(root, "organisationen", "Organisation(en)");
|
organization = createFolder(root, "organisationen", "Organisation(en)");
|
||||||
|
|
||||||
|
persons = createFolder(root, "personen", "Personen");
|
||||||
|
folder = createFolder(persons, "ab", "A - B");
|
||||||
|
personsAlpha.put("ab", folder);
|
||||||
|
folder = createFolder(persons, "cd", "C - D");
|
||||||
|
personsAlpha.put("cd", folder);
|
||||||
|
folder = createFolder(persons, "ef", "E - F");
|
||||||
|
personsAlpha.put("ef", folder);
|
||||||
|
folder = createFolder(persons, "gh", "G - H");
|
||||||
|
personsAlpha.put("gh", folder);
|
||||||
|
folder = createFolder(persons, "ij", "I - J");
|
||||||
|
personsAlpha.put("ij", folder);
|
||||||
|
folder = createFolder(persons, "kl", "K - L");
|
||||||
|
personsAlpha.put("kl", folder);
|
||||||
|
folder = createFolder(persons, "mn", "M - N");
|
||||||
|
personsAlpha.put("mn", folder);
|
||||||
|
folder = createFolder(persons, "op", "O - P");
|
||||||
|
personsAlpha.put("op", folder);
|
||||||
|
folder = createFolder(persons, "qr", "Q - R");
|
||||||
|
personsAlpha.put("qr", folder);
|
||||||
|
folder = createFolder(persons, "st", "S - T");
|
||||||
|
personsAlpha.put("st", folder);
|
||||||
|
folder = createFolder(persons, "uv", "U - V");
|
||||||
|
personsAlpha.put("uv", folder);
|
||||||
|
folder = createFolder(persons, "wxzy", "W - Z");
|
||||||
|
personsAlpha.put("wxyz", folder);
|
||||||
|
|
||||||
projects = createFolder(root, "projekte", "Projekte");
|
projects = createFolder(root, "projekte", "Projekte");
|
||||||
|
|
||||||
publications = createFolder(root, "publikationen", "Publications");
|
publications = createFolder(root, "publikationen", "Publications");
|
||||||
|
|
@ -394,7 +424,8 @@ public class DaBInImporter extends Program {
|
||||||
transaction.run();
|
transaction.run();
|
||||||
System.out.println("OK");
|
System.out.println("OK");
|
||||||
|
|
||||||
System.out.println("\nImporting members from DaBIn into CCM...");
|
System.out.println(
|
||||||
|
"\nImporting persons (members) from DaBIn into CCM...");
|
||||||
try {
|
try {
|
||||||
Statement stmt =
|
Statement stmt =
|
||||||
connection.createStatement(
|
connection.createStatement(
|
||||||
|
|
@ -415,9 +446,7 @@ public class DaBInImporter extends Program {
|
||||||
stmt.executeQuery(
|
stmt.executeQuery(
|
||||||
"SELECT person.Person_Id, Anrede, Vorname, Name, Angaben "
|
"SELECT person.Person_Id, Anrede, Vorname, Name, Angaben "
|
||||||
+ "FROM person "
|
+ "FROM person "
|
||||||
+ "JOIN abteilunglink ON person.Person_Id = abteilunglink.Person_Id "
|
|
||||||
+ "WHERE Eigenschaft = 'Aktiv' OR Eigenschaft = 'Ehemalig' "
|
+ "WHERE Eigenschaft = 'Aktiv' OR Eigenschaft = 'Ehemalig' "
|
||||||
+ "GROUP BY person.Person_Id, Vorname, Name "
|
|
||||||
+ "ORDER BY Name, Vorname");
|
+ "ORDER BY Name, Vorname");
|
||||||
result.last();
|
result.last();
|
||||||
number = result.getRow();
|
number = result.getRow();
|
||||||
|
|
@ -425,13 +454,13 @@ public class DaBInImporter extends Program {
|
||||||
|
|
||||||
while (result.next()) {
|
while (result.next()) {
|
||||||
System.out.printf("%4d of %4d:", counter, number);
|
System.out.printf("%4d of %4d:", counter, number);
|
||||||
MemberData data = new MemberData();
|
PersonData data = new PersonData();
|
||||||
data.setDabinId(result.getString("person.Person_Id"));
|
data.setDabinId(result.getString("person.Person_Id"));
|
||||||
data.setTitlePre(result.getString("Anrede"));
|
data.setTitlePre(result.getString("Anrede"));
|
||||||
data.setGivenname(result.getString("Vorname"));
|
data.setGivenname(result.getString("Vorname"));
|
||||||
data.setSurname(result.getString("Name"));
|
data.setSurname(result.getString("Name"));
|
||||||
data.setContactData(result.getString("Angaben"));
|
data.setContactData(result.getString("Angaben"));
|
||||||
createMember(data);
|
createPerson(data, PersonType.MEMBER);
|
||||||
counter++;
|
counter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -443,7 +472,58 @@ public class DaBInImporter extends Program {
|
||||||
ex.printStackTrace(System.err);
|
ex.printStackTrace(System.err);
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("Adding associated members to organization...");
|
/*System.out.println("Adding associated members to organization...");
|
||||||
|
try {
|
||||||
|
Statement stmt = connection.createStatement(
|
||||||
|
ResultSet.TYPE_SCROLL_INSENSITIVE,
|
||||||
|
ResultSet.CONCUR_UPDATABLE);
|
||||||
|
ResultSet result;
|
||||||
|
long counter = 1;
|
||||||
|
long number;
|
||||||
|
|
||||||
|
result =
|
||||||
|
stmt.executeQuery(
|
||||||
|
"SELECT abteilunglink.Auftrag, person.Person_Id, person.Eigenschaft, abteilunglink.Auftrag "
|
||||||
|
+ "FROM abteilunglink JOIN person ON abteilunglink.Person_Id = person.Person_Id "
|
||||||
|
+ "WHERE abteilunglink.Abteilung_Id = 11 AND person.Eigenschaft = 'Aktiv'");
|
||||||
|
result.last();
|
||||||
|
number = result.getRow();
|
||||||
|
result.beforeFirst();
|
||||||
|
|
||||||
|
while (result.next()) {
|
||||||
|
System.out.printf("\t%d of %d ", counter, number);
|
||||||
|
if (personsMap.containsKey(result.getString("person.Person_Id"))) {
|
||||||
|
System.out.printf("%s...", ((GenericPerson) personsMap.get(result.
|
||||||
|
getString(
|
||||||
|
"person.Person_Id")).
|
||||||
|
getPrimaryInstance()).getTitle());
|
||||||
|
orgaDe.addPerson((GenericPerson) personsMap.get(result.
|
||||||
|
getString(
|
||||||
|
"person.Person_Id")).getInstance("de"),
|
||||||
|
"member",
|
||||||
|
"associated");
|
||||||
|
orgaEn.addPerson((GenericPerson) personsMap.get(result.
|
||||||
|
getString(
|
||||||
|
"person.Person_Id")).getInstance("en"),
|
||||||
|
"member",
|
||||||
|
"associated");
|
||||||
|
System.out.println("OK");
|
||||||
|
} else {
|
||||||
|
System.out.printf("... No value of DaBIn person ID ' '\n",
|
||||||
|
result.getString("person.PersonId"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.out.println("FAILED");
|
||||||
|
ex.printStackTrace(System.err);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
System.out.println("FAILED");
|
||||||
|
ex.printStackTrace(System.err);
|
||||||
|
}
|
||||||
|
System.out.println("FINISHED");*/
|
||||||
|
|
||||||
|
System.out.printf(
|
||||||
|
"Importing persons (cooperatives) from DaBIn into CCM...\n");
|
||||||
try {
|
try {
|
||||||
Statement stmt = connection.createStatement(
|
Statement stmt = connection.createStatement(
|
||||||
ResultSet.TYPE_SCROLL_INSENSITIVE,
|
ResultSet.TYPE_SCROLL_INSENSITIVE,
|
||||||
|
|
@ -452,33 +532,25 @@ public class DaBInImporter extends Program {
|
||||||
long counter = 1;
|
long counter = 1;
|
||||||
long number;
|
long number;
|
||||||
|
|
||||||
result =
|
result = stmt.executeQuery(
|
||||||
stmt.executeQuery(
|
"SELECT DISTINCT person.Person_Id, Anrede, Vorname, Name, Angaben "
|
||||||
"SELECT abteilunglink.Auftrag, person.Person_Id, person.Eigenschaft, abteilunglink.Auftrag "
|
+ "FROM person JOIN projektlink on person.Person_Id = projektlink.Person_Id "
|
||||||
+ "FROM abteilunglink JOIN person ON abteilunglink.Person_Id = person.Person_Id "
|
+ "WHERE Eigenschaft = 'Autor' OR Eigenschaft = 'Sonstiges' "
|
||||||
+ "WHERE abteilunglink.Abteilung_Id = 11 AND person.Eigenschaft = 'Aktiv'");
|
+ "ORDER BY Name, Vorname");
|
||||||
result.last();
|
result.last();
|
||||||
number = result.getRow();
|
number = result.getRow();
|
||||||
result.beforeFirst();
|
result.beforeFirst();
|
||||||
|
|
||||||
while (result.next()) {
|
while (result.next()) {
|
||||||
System.out.printf("\t%d of %d ", counter, number);
|
System.out.printf("%4d of %4d:", counter, number);
|
||||||
if (membersMap.containsKey(result.getString("person.Person_Id"))) {
|
PersonData data = new PersonData();
|
||||||
System.out.printf("%s...", membersMap.get(result.getString(
|
data.setDabinId(result.getString("person.Person_Id"));
|
||||||
"person.Person_Id")).getTitle());
|
data.setTitlePre(result.getString("Anrede"));
|
||||||
orgaDe.addPerson(membersMap.get(result.getString(
|
data.setGivenname(result.getString("Vorname"));
|
||||||
"person.Person_Id")),
|
data.setSurname(result.getString("Name"));
|
||||||
"member",
|
data.setContactData(result.getString("Angaben"));
|
||||||
"associated");
|
createPerson(data, PersonType.OTHER);
|
||||||
orgaEn.addPerson(membersMap.get(result.getString(
|
counter++;
|
||||||
"person.Person_Id")),
|
|
||||||
"member",
|
|
||||||
"associated");
|
|
||||||
System.out.println("OK");
|
|
||||||
} else {
|
|
||||||
System.out.printf("... No value of DaBIn person ID ' '\n",
|
|
||||||
result.getString("person.PersonId"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
System.out.println("FAILED");
|
System.out.println("FAILED");
|
||||||
|
|
@ -489,6 +561,93 @@ public class DaBInImporter extends Program {
|
||||||
}
|
}
|
||||||
System.out.println("FINSHED");
|
System.out.println("FINSHED");
|
||||||
|
|
||||||
|
System.out.printf("Importing persons (authors) from DaBIn into CCM...\n");
|
||||||
|
try {
|
||||||
|
Statement stmt = connection.createStatement(
|
||||||
|
ResultSet.TYPE_SCROLL_INSENSITIVE,
|
||||||
|
ResultSet.CONCUR_UPDATABLE);
|
||||||
|
ResultSet result;
|
||||||
|
long counter = 1;
|
||||||
|
long number;
|
||||||
|
|
||||||
|
result = stmt.executeQuery(
|
||||||
|
"SELECT DISTINCT person.Person_Id, Anrede, Vorname, Name, Angaben "
|
||||||
|
+ "FROM person "
|
||||||
|
+ "WHERE Eigenschaft = 'Autor' AND NOT EXISTS (SELECT * FROM projektlink where projektlink.Person_Id = person.Person_Id)"
|
||||||
|
+ "ORDER BY Name, Vorname");
|
||||||
|
result.last();
|
||||||
|
number = result.getRow();
|
||||||
|
result.beforeFirst();
|
||||||
|
|
||||||
|
while (result.next()) {
|
||||||
|
System.out.printf("%4d of %4d:", counter, number);
|
||||||
|
PersonData data = new PersonData();
|
||||||
|
data.setDabinId(result.getString("person.Person_Id"));
|
||||||
|
data.setTitlePre(result.getString("Anrede"));
|
||||||
|
data.setGivenname(result.getString("Vorname"));
|
||||||
|
data.setSurname(result.getString("Name"));
|
||||||
|
data.setContactData(result.getString("Angaben"));
|
||||||
|
createPerson(data, PersonType.AUTHOR);
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.out.println("FAILED");
|
||||||
|
ex.printStackTrace(System.err);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
System.out.println("FAILED");
|
||||||
|
ex.printStackTrace(System.err);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Adding active associated members to organization...");
|
||||||
|
try {
|
||||||
|
Statement stmt = connection.createStatement(
|
||||||
|
ResultSet.TYPE_SCROLL_INSENSITIVE,
|
||||||
|
ResultSet.CONCUR_UPDATABLE);
|
||||||
|
ResultSet result;
|
||||||
|
long counter = 1;
|
||||||
|
long number;
|
||||||
|
|
||||||
|
result =
|
||||||
|
stmt.executeQuery(
|
||||||
|
"SELECT DISTINCT abteilunglink.Auftrag, person.Person_Id, person.Eigenschaft, abteilunglink.Auftrag "
|
||||||
|
+ "FROM abteilunglink JOIN person ON abteilunglink.Person_Id = person.Person_Id "
|
||||||
|
+ "WHERE abteilunglink.Abteilung_Id = 11 AND person.Eigenschaft = 'Aktiv'");
|
||||||
|
result.last();
|
||||||
|
number = result.getRow();
|
||||||
|
result.beforeFirst();
|
||||||
|
|
||||||
|
while (result.next()) {
|
||||||
|
System.out.printf("\t%d of %d ", counter, number);
|
||||||
|
if (personsMap.containsKey(result.getString("person.Person_Id"))) {
|
||||||
|
System.out.printf("%s...", ((GenericPerson) personsMap.get(result.
|
||||||
|
getString(
|
||||||
|
"person.Person_Id")).
|
||||||
|
getPrimaryInstance()).getTitle());
|
||||||
|
orgaDe.addPerson((GenericPerson) personsMap.get(result.
|
||||||
|
getString(
|
||||||
|
"person.Person_Id")).getInstance("de"),
|
||||||
|
"member",
|
||||||
|
"associated");
|
||||||
|
orgaEn.addPerson((GenericPerson) personsMap.get(result.
|
||||||
|
getString(
|
||||||
|
"person.Person_Id")).getInstance("en"),
|
||||||
|
"member",
|
||||||
|
"associated");
|
||||||
|
System.out.println("OK");
|
||||||
|
} else {
|
||||||
|
System.out.printf("... No value of DaBIn person ID ' '\n",
|
||||||
|
result.getString("person.PersonId"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.out.println("FAILED");
|
||||||
|
ex.printStackTrace(System.err);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
System.out.println("FAILED");
|
||||||
|
ex.printStackTrace(System.err);
|
||||||
|
}
|
||||||
|
|
||||||
System.out.println("Adding former associated members to organization...");
|
System.out.println("Adding former associated members to organization...");
|
||||||
try {
|
try {
|
||||||
|
|
@ -501,7 +660,7 @@ public class DaBInImporter extends Program {
|
||||||
|
|
||||||
result =
|
result =
|
||||||
stmt.executeQuery(
|
stmt.executeQuery(
|
||||||
"SELECT abteilunglink.Auftrag, person.Person_Id, person.Eigenschaft, abteilunglink.Auftrag "
|
"SELECT DISTINCT abteilunglink.Auftrag, person.Person_Id, person.Eigenschaft, abteilunglink.Auftrag "
|
||||||
+ "FROM abteilunglink JOIN person ON abteilunglink.Person_Id = person.Person_Id "
|
+ "FROM abteilunglink JOIN person ON abteilunglink.Person_Id = person.Person_Id "
|
||||||
+ "WHERE abteilunglink.Abteilung_Id = 11 AND person.Eigenschaft = 'Ehemalig'");
|
+ "WHERE abteilunglink.Abteilung_Id = 11 AND person.Eigenschaft = 'Ehemalig'");
|
||||||
result.last();
|
result.last();
|
||||||
|
|
@ -510,17 +669,21 @@ public class DaBInImporter extends Program {
|
||||||
|
|
||||||
while (result.next()) {
|
while (result.next()) {
|
||||||
System.out.printf("\t%d of %d ", counter, number);
|
System.out.printf("\t%d of %d ", counter, number);
|
||||||
if (membersMap.containsKey(result.getString("person.Person_Id"))) {
|
if (personsMap.containsKey(result.getString("person.Person_Id"))) {
|
||||||
System.out.printf("%s...", membersMap.get(result.getString(
|
System.out.printf("%s...", ((GenericPerson) personsMap.get(result.
|
||||||
"person.Person_Id")).getTitle());
|
getString(
|
||||||
orgaDe.addPerson(membersMap.get(result.getString(
|
"person.Person_Id")).
|
||||||
"person.Person_Id")),
|
getPrimaryInstance()).getTitle());
|
||||||
|
orgaDe.addPerson((GenericPerson) personsMap.get(result.
|
||||||
|
getString(
|
||||||
|
"person.Person_Id")).getInstance("de"),
|
||||||
"member",
|
"member",
|
||||||
"associated");
|
"associatedFormer");
|
||||||
orgaEn.addPerson(membersMap.get(result.getString(
|
orgaEn.addPerson((GenericPerson) personsMap.get(result.
|
||||||
"person.Person_Id")),
|
getString(
|
||||||
|
"person.Person_Id")).getInstance("en"),
|
||||||
"member",
|
"member",
|
||||||
"associated");
|
"associatedFormer");
|
||||||
System.out.println("OK");
|
System.out.println("OK");
|
||||||
} else {
|
} else {
|
||||||
System.out.printf("... No value of DaBIn person ID ' '\n",
|
System.out.printf("... No value of DaBIn person ID ' '\n",
|
||||||
|
|
@ -626,7 +789,7 @@ public class DaBInImporter extends Program {
|
||||||
|
|
||||||
System.out.printf("%3d of %3d:\n", i + 1, projectsIds.size());
|
System.out.printf("%3d of %3d:\n", i + 1, projectsIds.size());
|
||||||
result = stmt.executeQuery(String.format(
|
result = stmt.executeQuery(String.format(
|
||||||
"SELECT Name, Beschreibung, Finanzierung, Abteilung_Id "
|
"SELECT Name, Beschreibung, Finanzierung, Abteilung_Id, Beginn, Ende "
|
||||||
+ "FROM projekt "
|
+ "FROM projekt "
|
||||||
+ "WHERE Projekt_Id = %s AND Sprache = 'DE'",
|
+ "WHERE Projekt_Id = %s AND Sprache = 'DE'",
|
||||||
projectsIds.get(i)));
|
projectsIds.get(i)));
|
||||||
|
|
@ -635,10 +798,18 @@ public class DaBInImporter extends Program {
|
||||||
data.setDescDe(result.getString("Beschreibung"));
|
data.setDescDe(result.getString("Beschreibung"));
|
||||||
data.setFundingDe(result.getString("Finanzierung"));
|
data.setFundingDe(result.getString("Finanzierung"));
|
||||||
data.setDepartment(result.getString("Abteilung_Id"));
|
data.setDepartment(result.getString("Abteilung_Id"));
|
||||||
|
if (result.getInt("Beginn") != 0) {
|
||||||
|
data.setBegin(new GregorianCalendar(result.getInt(
|
||||||
|
"Beginn"), 0, 1, 0, 0));
|
||||||
|
}
|
||||||
|
if (result.getInt("Ende") != 0) {
|
||||||
|
data.setEnd(new GregorianCalendar(result.getInt("Ende"),
|
||||||
|
11, 31, 23, 59));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
result = stmt.executeQuery(String.format(
|
result = stmt.executeQuery(String.format(
|
||||||
"SELECT Name, Beschreibung, Finanzierung "
|
"SELECT Name, Beschreibung, Finanzierung, Abteilung_Id, Beginn, Ende "
|
||||||
+ "FROM projekt "
|
+ "FROM projekt "
|
||||||
+ "WHERE Projekt_Id = %s AND Sprache = 'EN'",
|
+ "WHERE Projekt_Id = %s AND Sprache = 'EN'",
|
||||||
projectsIds.get(i)));
|
projectsIds.get(i)));
|
||||||
|
|
@ -646,6 +817,15 @@ public class DaBInImporter extends Program {
|
||||||
data.setNameEn(result.getString("Name"));
|
data.setNameEn(result.getString("Name"));
|
||||||
data.setDescEn(result.getString("Beschreibung"));
|
data.setDescEn(result.getString("Beschreibung"));
|
||||||
data.setFundingEn(result.getString("Finanzierung"));
|
data.setFundingEn(result.getString("Finanzierung"));
|
||||||
|
data.setDepartment(result.getString("Abteilung_Id"));
|
||||||
|
if (result.getInt("Beginn") != 0) {
|
||||||
|
data.setBegin(new GregorianCalendar(result.getInt(
|
||||||
|
"Beginn"), 0, 1, 0, 0));
|
||||||
|
}
|
||||||
|
if (result.getInt("Ende") != 0) {
|
||||||
|
data.setEnd(new GregorianCalendar(result.getInt("Ende"),
|
||||||
|
11, 31, 23, 59));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
result = stmt.executeQuery(String.format(
|
result = stmt.executeQuery(String.format(
|
||||||
|
|
@ -676,6 +856,22 @@ public class DaBInImporter extends Program {
|
||||||
ex.printStackTrace(System.err);
|
ex.printStackTrace(System.err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
System.out.println("Importing publications from DaBIn into CCM...");
|
||||||
|
System.out.println("Mongraphies...");
|
||||||
|
try {
|
||||||
|
Statement stmt = connection.createStatement(
|
||||||
|
ResultSet.TYPE_SCROLL_INSENSITIVE,
|
||||||
|
ResultSet.CONCUR_UPDATABLE);
|
||||||
|
|
||||||
|
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.out.println("FAILED");
|
||||||
|
ex.printStackTrace(System.err);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
System.out.println("FAILED");
|
||||||
|
ex.printStackTrace(System.err);
|
||||||
|
}
|
||||||
|
|
||||||
System.out.println("Closing MySQL connection...");
|
System.out.println("Closing MySQL connection...");
|
||||||
try {
|
try {
|
||||||
connection.close();
|
connection.close();
|
||||||
|
|
@ -774,7 +970,7 @@ public class DaBInImporter extends Program {
|
||||||
result.getString("Anrede"),
|
result.getString("Anrede"),
|
||||||
result.getString("Eigenschaft"));
|
result.getString("Eigenschaft"));
|
||||||
num++;
|
num++;
|
||||||
MemberData memberData = new MemberData();
|
PersonData memberData = new PersonData();
|
||||||
memberData.setDabinId(result.getString("Person_Id"));
|
memberData.setDabinId(result.getString("Person_Id"));
|
||||||
memberData.setTitlePre(result.getString("Anrede"));
|
memberData.setTitlePre(result.getString("Anrede"));
|
||||||
memberData.setSurname(result.getString("Name"));
|
memberData.setSurname(result.getString("Name"));
|
||||||
|
|
@ -802,112 +998,124 @@ public class DaBInImporter extends Program {
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createMember(final MemberData memberData) {
|
private void createPerson(final PersonData personData,
|
||||||
|
final PersonType type) {
|
||||||
StringBuilder memberTitleBuilder = new StringBuilder();
|
StringBuilder personTitleBuilder = new StringBuilder();
|
||||||
if ((memberData.getTitlePre() != null)
|
if ((personData.getTitlePre() != null)
|
||||||
&& (memberData.getTitlePre().length() > 0)) {
|
&& (personData.getTitlePre().length() > 0)) {
|
||||||
memberTitleBuilder.append(memberData.getTitlePre());
|
personTitleBuilder.append(personData.getTitlePre());
|
||||||
memberTitleBuilder.append(' ');
|
personTitleBuilder.append(' ');
|
||||||
|
}
|
||||||
|
personTitleBuilder.append(personData.getGivenname());
|
||||||
|
personTitleBuilder.append(' ');
|
||||||
|
personTitleBuilder.append(personData.getSurname());
|
||||||
|
System.out.printf(" Creating new person '%s'...",
|
||||||
|
personTitleBuilder.toString());
|
||||||
|
|
||||||
|
Map<String, Folder> folders = null;
|
||||||
|
switch (type) {
|
||||||
|
case MEMBER:
|
||||||
|
folders = membersAlpha;
|
||||||
|
break;
|
||||||
|
case AUTHOR:
|
||||||
|
folders = authorsAlpha;
|
||||||
|
break;
|
||||||
|
case OTHER:
|
||||||
|
folders = personsAlpha;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
memberTitleBuilder.append(memberData.getGivenname());
|
|
||||||
memberTitleBuilder.append(' ');
|
|
||||||
memberTitleBuilder.append(memberData.getSurname());
|
|
||||||
System.out.printf(" Creating new member '%s'...",
|
|
||||||
memberTitleBuilder.toString());
|
|
||||||
|
|
||||||
final Folder folder;
|
final Folder folder;
|
||||||
char letter;
|
char letter;
|
||||||
|
|
||||||
letter = memberData.getSurname().toLowerCase().charAt(0);
|
letter = personData.getSurname().toLowerCase().charAt(0);
|
||||||
|
|
||||||
switch (letter) {
|
switch (letter) {
|
||||||
case 'a':
|
case 'a':
|
||||||
folder = membersAlpha.get("ab");
|
folder = folders.get("ab");
|
||||||
break;
|
break;
|
||||||
case 'b':
|
case 'b':
|
||||||
folder = membersAlpha.get("ab");
|
folder = folders.get("ab");
|
||||||
break;
|
break;
|
||||||
case 'c':
|
case 'c':
|
||||||
folder = membersAlpha.get("cd");
|
folder = folders.get("cd");
|
||||||
break;
|
break;
|
||||||
case 'd':
|
case 'd':
|
||||||
folder = membersAlpha.get("cd");
|
folder = folders.get("cd");
|
||||||
break;
|
break;
|
||||||
case 'e':
|
case 'e':
|
||||||
folder = membersAlpha.get("ef");
|
folder = folders.get("ef");
|
||||||
break;
|
break;
|
||||||
case 'f':
|
case 'f':
|
||||||
folder = membersAlpha.get("ef");
|
folder = folders.get("ef");
|
||||||
break;
|
break;
|
||||||
case 'g':
|
case 'g':
|
||||||
folder = membersAlpha.get("gh");
|
folder = folders.get("gh");
|
||||||
break;
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
folder = membersAlpha.get("gh");
|
folder = folders.get("gh");
|
||||||
break;
|
break;
|
||||||
case 'i':
|
case 'i':
|
||||||
folder = membersAlpha.get("ij");
|
folder = folders.get("ij");
|
||||||
break;
|
break;
|
||||||
case 'j':
|
case 'j':
|
||||||
folder = membersAlpha.get("ij");
|
folder = folders.get("ij");
|
||||||
break;
|
break;
|
||||||
case 'k':
|
case 'k':
|
||||||
folder = membersAlpha.get("kl");
|
folder = folders.get("kl");
|
||||||
break;
|
break;
|
||||||
case 'l':
|
case 'l':
|
||||||
folder = membersAlpha.get("kl");
|
folder = folders.get("kl");
|
||||||
break;
|
break;
|
||||||
case 'm':
|
case 'm':
|
||||||
folder = membersAlpha.get("mn");
|
folder = folders.get("mn");
|
||||||
break;
|
break;
|
||||||
case 'n':
|
case 'n':
|
||||||
folder = membersAlpha.get("mn");
|
folder = folders.get("mn");
|
||||||
break;
|
break;
|
||||||
case 'o':
|
case 'o':
|
||||||
folder = membersAlpha.get("op");
|
folder = folders.get("op");
|
||||||
break;
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
folder = membersAlpha.get("op");
|
folder = folders.get("op");
|
||||||
break;
|
break;
|
||||||
case 'q':
|
case 'q':
|
||||||
folder = membersAlpha.get("qr");
|
folder = folders.get("qr");
|
||||||
break;
|
break;
|
||||||
case 'r':
|
case 'r':
|
||||||
folder = membersAlpha.get("qr");
|
folder = folders.get("qr");
|
||||||
break;
|
break;
|
||||||
case 's':
|
case 's':
|
||||||
folder = membersAlpha.get("st");
|
folder = folders.get("st");
|
||||||
break;
|
break;
|
||||||
case 't':
|
case 't':
|
||||||
folder = membersAlpha.get("st");
|
folder = folders.get("st");
|
||||||
break;
|
break;
|
||||||
case 'u':
|
case 'u':
|
||||||
folder = membersAlpha.get("uv");
|
folder = folders.get("uv");
|
||||||
break;
|
break;
|
||||||
case 'v':
|
case 'v':
|
||||||
folder = membersAlpha.get("uv");
|
folder = folders.get("uv");
|
||||||
break;
|
break;
|
||||||
case 'w':
|
case 'w':
|
||||||
folder = membersAlpha.get("wxyz");
|
folder = folders.get("wxyz");
|
||||||
break;
|
break;
|
||||||
case 'x':
|
case 'x':
|
||||||
folder = membersAlpha.get("wxyz");
|
folder = folders.get("wxyz");
|
||||||
break;
|
break;
|
||||||
case 'y':
|
case 'y':
|
||||||
folder = membersAlpha.get("wxyz");
|
folder = folders.get("wxyz");
|
||||||
break;
|
break;
|
||||||
case 'z':
|
case 'z':
|
||||||
folder = membersAlpha.get("wxyz");
|
folder = folders.get("wxyz");
|
||||||
break;
|
break;
|
||||||
case 'ä':
|
case 'ä':
|
||||||
folder = membersAlpha.get("ab");
|
folder = folders.get("ab");
|
||||||
break;
|
break;
|
||||||
case 'ö':
|
case 'ö':
|
||||||
folder = membersAlpha.get("op");
|
folder = folders.get("op");
|
||||||
break;
|
break;
|
||||||
case 'ü':
|
case 'ü':
|
||||||
folder = membersAlpha.get("uv");
|
folder = folders.get("uv");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
folder = members;
|
folder = members;
|
||||||
|
|
@ -918,32 +1126,62 @@ public class DaBInImporter extends Program {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void doRun() {
|
public void doRun() {
|
||||||
SciMember member;
|
GenericPerson personDe = null;
|
||||||
|
GenericPerson personEn = null;
|
||||||
|
|
||||||
member = new SciMember();
|
switch (type) {
|
||||||
member.setSurname(memberData.getSurname());
|
case MEMBER:
|
||||||
member.setGivenName(memberData.getGivenname());
|
personDe = new SciMember();
|
||||||
member.setTitlePre(memberData.getTitlePre());
|
personEn = new SciMember();
|
||||||
|
break;
|
||||||
|
case AUTHOR:
|
||||||
|
personDe = new SciAuthor();
|
||||||
|
personEn = new SciAuthor();
|
||||||
|
break;
|
||||||
|
case OTHER:
|
||||||
|
personDe = new Person();
|
||||||
|
personEn = new Person();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
personDe.setSurname(personData.getSurname());
|
||||||
|
personDe.setGivenName(personData.getGivenname());
|
||||||
|
personDe.setTitlePre(personData.getTitlePre());
|
||||||
|
|
||||||
member.save();
|
personDe.save();
|
||||||
member.setLanguage("de");
|
personDe.setLanguage("de");
|
||||||
|
|
||||||
ContentBundle bundle;
|
personEn.setSurname(personData.getSurname());
|
||||||
bundle = new ContentBundle(member);
|
personEn.setGivenName(personData.getGivenname());
|
||||||
|
personEn.setTitlePre(personData.getTitlePre());
|
||||||
|
|
||||||
folder.addItem(bundle);
|
personEn.save();
|
||||||
|
personEn.setLanguage("en");
|
||||||
|
|
||||||
|
ContentBundle person;
|
||||||
|
person = new ContentBundle(personDe);
|
||||||
|
person.addInstance(personEn);
|
||||||
|
|
||||||
|
folder.addItem(person);
|
||||||
|
|
||||||
StringTokenizer contactData = new StringTokenizer(
|
StringTokenizer contactData = new StringTokenizer(
|
||||||
memberData.getContactData(),
|
personData.getContactData(),
|
||||||
"\n");
|
"\n");
|
||||||
Contact contact = new Contact();
|
Contact contactDe = new Contact();
|
||||||
|
Contact contactEn = new Contact();
|
||||||
//System.out.printf("\nmember.name = %s\n", member.getName());
|
//System.out.printf("\nmember.name = %s\n", member.getName());
|
||||||
//System.out.printf("\nmember.title = %s\n", member.getTitle());
|
//System.out.printf("\nmember.title = %s\n", member.getTitle());
|
||||||
contact.setLanguage("de");
|
contactDe.setLanguage("de");
|
||||||
contact.setName(String.format("kontakt-%s", member.getName()));
|
contactDe.setName(
|
||||||
contact.setTitle(String.format("Kontakt %s",
|
String.format("kontakt-%s", personDe.getName()));
|
||||||
member.getTitle()));
|
contactDe.setTitle(String.format("Kontakt %s",
|
||||||
contact.setPerson(member, "commonContact");
|
personDe.getTitle()));
|
||||||
|
contactDe.setPerson(personDe, "commonContact");
|
||||||
|
contactEn.setLanguage("en");
|
||||||
|
contactEn.setName(
|
||||||
|
String.format("kontakt-%s", personEn.getName()));
|
||||||
|
contactEn.setTitle(String.format("Kontakt %s",
|
||||||
|
personEn.getTitle()));
|
||||||
|
contactEn.setPerson(personDe, "commonContact");
|
||||||
String homepage = null;
|
String homepage = null;
|
||||||
while (contactData.hasMoreTokens()) {
|
while (contactData.hasMoreTokens()) {
|
||||||
String token;
|
String token;
|
||||||
|
|
@ -960,59 +1198,96 @@ public class DaBInImporter extends Program {
|
||||||
value = token.substring(token.indexOf('=') + 1).trim();
|
value = token.substring(token.indexOf('=') + 1).trim();
|
||||||
|
|
||||||
if ("Raum_1".equals(key)) {
|
if ("Raum_1".equals(key)) {
|
||||||
contact.addContactEntry(
|
contactDe.addContactEntry(
|
||||||
new GenericContactEntry(contact,
|
new GenericContactEntry(contactDe,
|
||||||
|
"office",
|
||||||
|
value,
|
||||||
|
""));
|
||||||
|
contactEn.addContactEntry(
|
||||||
|
new GenericContactEntry(contactEn,
|
||||||
"office",
|
"office",
|
||||||
value,
|
value,
|
||||||
""));
|
""));
|
||||||
} else if ("Tel_1".equals(key)
|
} else if ("Tel_1".equals(key)
|
||||||
&& value.startsWith("Fax: ")) {
|
&& value.startsWith("Fax: ")) {
|
||||||
contact.addContactEntry(new GenericContactEntry(
|
contactDe.addContactEntry(new GenericContactEntry(
|
||||||
contact,
|
contactDe,
|
||||||
|
"fax",
|
||||||
|
value.substring(6),
|
||||||
|
""));
|
||||||
|
contactEn.addContactEntry(new GenericContactEntry(
|
||||||
|
contactEn,
|
||||||
"fax",
|
"fax",
|
||||||
value.substring(6),
|
value.substring(6),
|
||||||
""));
|
""));
|
||||||
} else if ("Tel_1".equals(key)) {
|
} else if ("Tel_1".equals(key)) {
|
||||||
contact.addContactEntry(
|
contactDe.addContactEntry(
|
||||||
new GenericContactEntry(contact,
|
new GenericContactEntry(contactDe,
|
||||||
|
"phoneOffice",
|
||||||
|
value,
|
||||||
|
""));
|
||||||
|
contactEn.addContactEntry(
|
||||||
|
new GenericContactEntry(contactEn,
|
||||||
"phoneOffice",
|
"phoneOffice",
|
||||||
value,
|
value,
|
||||||
""));
|
""));
|
||||||
} else if ("eMail_1".equals(key)) {
|
} else if ("eMail_1".equals(key)) {
|
||||||
contact.addContactEntry(
|
contactDe.addContactEntry(
|
||||||
new GenericContactEntry(contact,
|
new GenericContactEntry(contactDe,
|
||||||
|
"email",
|
||||||
|
value,
|
||||||
|
""));
|
||||||
|
contactEn.addContactEntry(
|
||||||
|
new GenericContactEntry(contactEn,
|
||||||
"email",
|
"email",
|
||||||
value,
|
value,
|
||||||
""));
|
""));
|
||||||
} else if ("WWW_1".equals(key)) {
|
} else if ("WWW_1".equals(key)) {
|
||||||
contact.addContactEntry(
|
contactDe.addContactEntry(
|
||||||
new GenericContactEntry(contact,
|
new GenericContactEntry(contactDe,
|
||||||
|
"homepage",
|
||||||
|
value,
|
||||||
|
""));
|
||||||
|
contactEn.addContactEntry(
|
||||||
|
new GenericContactEntry(contactEn,
|
||||||
"homepage",
|
"homepage",
|
||||||
value,
|
value,
|
||||||
""));
|
""));
|
||||||
homepage = value;
|
homepage = value;
|
||||||
|
homepage = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
contact.setContentSection(section);
|
contactDe.setContentSection(section);
|
||||||
contact.save();
|
contactDe.save();
|
||||||
ContentBundle contactBundle = new ContentBundle(contact);
|
contactEn.setContentSection(section);
|
||||||
|
contactEn.save();
|
||||||
|
ContentBundle contactBundle = new ContentBundle(contactDe);
|
||||||
|
contactBundle.addInstance(contactEn);
|
||||||
contacts.addItem(contactBundle);
|
contacts.addItem(contactBundle);
|
||||||
member.save();
|
personDe.save();
|
||||||
|
|
||||||
if (homepage != null) {
|
if (homepage != null) {
|
||||||
RelatedLink homepageLink;
|
RelatedLink homepageLinkDe;
|
||||||
homepageLink = new RelatedLink();
|
homepageLinkDe = new RelatedLink();
|
||||||
homepageLink.setTitle("Persönliche Homepage");
|
homepageLinkDe.setTitle("Persönliche Homepage");
|
||||||
homepageLink.setTargetType(Link.EXTERNAL_LINK);
|
homepageLinkDe.setTargetType(Link.EXTERNAL_LINK);
|
||||||
homepageLink.setTargetURI(homepage);
|
homepageLinkDe.setTargetURI(homepage);
|
||||||
homepageLink.setLinkListName("");
|
homepageLinkDe.setLinkListName("");
|
||||||
homepageLink.setLinkOwner(member);
|
homepageLinkDe.setLinkOwner(personDe);
|
||||||
homepageLink.save();
|
homepageLinkDe.save();
|
||||||
|
|
||||||
|
RelatedLink homepageLinkEn;
|
||||||
|
homepageLinkEn = new RelatedLink();
|
||||||
|
homepageLinkEn.setTitle("Personal homepage");
|
||||||
|
homepageLinkEn.setTargetType(Link.EXTERNAL_LINK);
|
||||||
|
homepageLinkEn.setTargetURI(homepage);
|
||||||
|
homepageLinkEn.setLinkListName("");
|
||||||
|
homepageLinkEn.setLinkOwner(personDe);
|
||||||
|
homepageLinkEn.save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
personsMap.put(personData.getDabinId(), person);
|
||||||
membersMap.put(memberData.getDabinId(), member);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
transaction.run();
|
transaction.run();
|
||||||
|
|
@ -1068,22 +1343,24 @@ public class DaBInImporter extends Program {
|
||||||
//departmentEn.save();
|
//departmentEn.save();
|
||||||
//department.save();
|
//department.save();
|
||||||
|
|
||||||
System.out.println("Assigning members...");
|
System.out.println("\tAssigning members...");
|
||||||
int i = 1;
|
int i = 1;
|
||||||
for (MembershipData membership : departmentData.getMembers()) {
|
for (MembershipData membership : departmentData.getMembers()) {
|
||||||
System.out.printf("\t\t%d of %d...", i, departmentData.
|
System.out.printf("\t\t%d of %d: (DaBIn member id: %s)...",
|
||||||
getMembers().size());
|
i,
|
||||||
SciMember member = membersMap.get(membership.
|
departmentData.getMembers().size(),
|
||||||
getPersonDaBInId());
|
membership.getPersonDaBInId());
|
||||||
String status;
|
if (!personsMap.containsKey(
|
||||||
String role;
|
membership.getPersonDaBInId())) {
|
||||||
|
System.out.printf("No person for DaBIn id '%s'. "
|
||||||
if (member == null) {
|
+ "Skiping.\n",
|
||||||
System.out.printf(
|
membership.getPersonDaBInId());
|
||||||
"No member for DaBIn person ID '%s' found. Skiping.\n", membership.
|
|
||||||
getPersonDaBInId());
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
SciMember member = (SciMember) personsMap.get(membership.
|
||||||
|
getPersonDaBInId()).getPrimaryInstance();
|
||||||
|
String status;
|
||||||
|
String role;
|
||||||
|
|
||||||
if ("Aktiv".equals(membership.getEigenschaft())) {
|
if ("Aktiv".equals(membership.getEigenschaft())) {
|
||||||
status = "active";
|
status = "active";
|
||||||
|
|
@ -1112,7 +1389,7 @@ public class DaBInImporter extends Program {
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("OK");
|
System.out.println("\tOK");
|
||||||
|
|
||||||
orgaDe.addDepartment(departmentDe);
|
orgaDe.addDepartment(departmentDe);
|
||||||
orgaEn.addDepartment(departmentEn);
|
orgaEn.addDepartment(departmentEn);
|
||||||
|
|
@ -1151,12 +1428,18 @@ public class DaBInImporter extends Program {
|
||||||
projectDe.setName(projectNameDe);
|
projectDe.setName(projectNameDe);
|
||||||
projectDe.setProjectDescription(projectData.getDescDe());
|
projectDe.setProjectDescription(projectData.getDescDe());
|
||||||
projectDe.setFunding(projectData.getFundingDe());
|
projectDe.setFunding(projectData.getFundingDe());
|
||||||
|
if (projectData.getBegin() != null) {
|
||||||
|
projectDe.setBegin(projectData.getBegin().getTime());
|
||||||
|
}
|
||||||
|
if (projectData.getEnd() != null) {
|
||||||
|
projectDe.setEnd(projectData.getEnd().getTime());
|
||||||
|
}
|
||||||
projectDe.setLanguage("de");
|
projectDe.setLanguage("de");
|
||||||
projectDe.setContentSection(section);
|
projectDe.setContentSection(section);
|
||||||
projectDe.save();
|
projectDe.save();
|
||||||
System.out.println("OK");
|
System.out.println("OK");
|
||||||
} else {
|
} else {
|
||||||
System.out.println("No english version. Skiping.");
|
System.out.println("No german version. Skiping.");
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.printf("\ten: %s...", projectData.getNameEn());
|
System.out.printf("\ten: %s...", projectData.getNameEn());
|
||||||
|
|
@ -1175,6 +1458,12 @@ public class DaBInImporter extends Program {
|
||||||
projectEn.setName(projectNameEn);
|
projectEn.setName(projectNameEn);
|
||||||
projectEn.setProjectDescription(projectData.getDescEn());
|
projectEn.setProjectDescription(projectData.getDescEn());
|
||||||
projectEn.setFunding(projectData.getFundingEn());
|
projectEn.setFunding(projectData.getFundingEn());
|
||||||
|
if (projectData.getBegin() != null) {
|
||||||
|
projectEn.setBegin(projectData.getBegin().getTime());
|
||||||
|
}
|
||||||
|
if (projectData.getEnd() != null) {
|
||||||
|
projectEn.setEnd(projectData.getEnd().getTime());
|
||||||
|
}
|
||||||
projectEn.setLanguage("en");
|
projectEn.setLanguage("en");
|
||||||
projectEn.setContentSection(section);
|
projectEn.setContentSection(section);
|
||||||
projectEn.save();
|
projectEn.save();
|
||||||
|
|
@ -1196,13 +1485,16 @@ public class DaBInImporter extends Program {
|
||||||
projects.addItem(project);
|
projects.addItem(project);
|
||||||
projectsMap.put(projectData.getDabinId(), project);
|
projectsMap.put(projectData.getDabinId(), project);
|
||||||
|
|
||||||
System.out.print("Assigning project to department... ");
|
System.out.print("\tAssigning project to department... ");
|
||||||
ContentBundle department = departmentsMap.get(projectData.
|
ContentBundle department = departmentsMap.get(projectData.
|
||||||
getDepartment());
|
getDepartment());
|
||||||
if (department == null) {
|
if (department == null) {
|
||||||
System.out.printf(
|
System.out.printf("No department found for DaBIn id '%s'. "
|
||||||
"No department found for DaBIn id '%s'. Assinging project to organization...");
|
+ "Assinging project to organization...",
|
||||||
orgaDe.addProject(projectDe);
|
projectData.getDabinId());
|
||||||
|
if (orgaDe != null) {
|
||||||
|
orgaDe.addProject(projectDe);
|
||||||
|
}
|
||||||
if (projectEn != null) {
|
if (projectEn != null) {
|
||||||
orgaEn.addProject(projectEn);
|
orgaEn.addProject(projectEn);
|
||||||
}
|
}
|
||||||
|
|
@ -1212,28 +1504,32 @@ public class DaBInImporter extends Program {
|
||||||
SciDepartment departmentEn = (SciDepartment) department.
|
SciDepartment departmentEn = (SciDepartment) department.
|
||||||
getInstance("en");
|
getInstance("en");
|
||||||
|
|
||||||
departmentDe.addProject(projectDe);
|
if (projectDe != null) {
|
||||||
|
departmentDe.addProject(projectDe);
|
||||||
|
}
|
||||||
if (projectEn != null) {
|
if (projectEn != null) {
|
||||||
departmentEn.addProject(projectEn);
|
departmentEn.addProject(projectEn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("OK");
|
System.out.println("OK");
|
||||||
|
|
||||||
System.out.println("Assigning members...");
|
System.out.println("\tAssigning members...");
|
||||||
int i = 1;
|
int i = 1;
|
||||||
for (MembershipData membership : projectData.getMembers()) {
|
for (MembershipData membership : projectData.getMembers()) {
|
||||||
System.out.printf("\t\t%d of %d...", i, projectData.
|
System.out.printf("\t\t%d of %d (dabin member id: %s)...",
|
||||||
getMembers().size());
|
i,
|
||||||
SciMember member = membersMap.get(membership.
|
projectData.getMembers().size(),
|
||||||
getPersonDaBInId());
|
membership.getPersonDaBInId());
|
||||||
String role;
|
if (!personsMap.containsKey(
|
||||||
|
membership.getPersonDaBInId())) {
|
||||||
if (member == null) {
|
System.out.printf("No person for DaBIn id '%s'. "
|
||||||
System.out.printf(
|
+ "Skiping.\n",
|
||||||
"No member for DaBIn person ID '%s' found. Skiping.\n",
|
membership.getPersonDaBInId());
|
||||||
membership.getPersonDaBInId());
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
GenericPerson member = (GenericPerson) personsMap.get(membership.
|
||||||
|
getPersonDaBInId()).getPrimaryInstance();
|
||||||
|
String role;
|
||||||
|
|
||||||
if ("Projektleitung".equals(membership.getAuftrag())) {
|
if ("Projektleitung".equals(membership.getAuftrag())) {
|
||||||
role = "head";
|
role = "head";
|
||||||
|
|
@ -1241,7 +1537,9 @@ public class DaBInImporter extends Program {
|
||||||
role = "member";
|
role = "member";
|
||||||
}
|
}
|
||||||
|
|
||||||
projectDe.addPerson(member, role, "active");
|
if (projectDe != null) {
|
||||||
|
projectDe.addPerson(member, role, "active");
|
||||||
|
}
|
||||||
if (projectEn != null) {
|
if (projectEn != null) {
|
||||||
projectEn.addPerson(member, role, "active");
|
projectEn.addPerson(member, role, "active");
|
||||||
}
|
}
|
||||||
|
|
@ -1249,7 +1547,7 @@ public class DaBInImporter extends Program {
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("OK");
|
System.out.println("\tOK");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ package com.arsdigita.cms.dabin;
|
||||||
*
|
*
|
||||||
* @author jensp
|
* @author jensp
|
||||||
*/
|
*/
|
||||||
public class MemberData {
|
public class PersonData {
|
||||||
|
|
||||||
private String dabinId;
|
private String dabinId;
|
||||||
private String titlePre;
|
private String titlePre;
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
package com.arsdigita.cms.dabin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author jensp
|
||||||
|
*/
|
||||||
|
public enum PersonType {
|
||||||
|
|
||||||
|
MEMBER, AUTHOR, OTHER
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
|
||||||
|
name="ccm-cms-types-person"
|
||||||
|
prettyName="Red Hat CCM Content Types"
|
||||||
|
version="6.6.0"
|
||||||
|
release="1"
|
||||||
|
webapp="ROOT">
|
||||||
|
<ccm:dependencies>
|
||||||
|
<ccm:requires name="ccm-core" version="6.6.0" relation="ge"/>
|
||||||
|
<ccm:requires name="ccm-cms" version="6.6.0" relation="ge"/>
|
||||||
|
</ccm:dependencies>
|
||||||
|
<ccm:directories>
|
||||||
|
<ccm:directory name="pdl"/>
|
||||||
|
<ccm:directory name="sql"/>
|
||||||
|
<ccm:directory name="src"/>
|
||||||
|
</ccm:directories>
|
||||||
|
<ccm:contacts>
|
||||||
|
<ccm:contact uri="mailto:ccm@barkhof.uni-bremen.de" type="support"/>
|
||||||
|
</ccm:contacts>
|
||||||
|
<ccm:description>
|
||||||
|
Person type for OpenCCM
|
||||||
|
</ccm:description>
|
||||||
|
</ccm:application>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2009 Jens Pelzetter, for the Center of Social Politics of the University of Bremen
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public License
|
||||||
|
// as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
// the License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
model com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
|
import com.arsdigita.cms.ContentPage;
|
||||||
|
|
||||||
|
object type Person extends GenericPerson {
|
||||||
|
|
||||||
|
// GenericContact contact [0..1] = join ct_persons.contact_id
|
||||||
|
// to cms_contacts.contact_id;
|
||||||
|
|
||||||
|
reference key (ct_persons.person_id);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
begin;
|
||||||
|
\i ddl/postgres/create.sql
|
||||||
|
end;
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<ctd:content-types xmlns:ctd="http://xmlns.redhat.com/cms/content-types"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://xmlns.redhat.com/cms/content-types content-types.xsd">
|
||||||
|
|
||||||
|
<ctd:content-type
|
||||||
|
label="Person"
|
||||||
|
description="A Person type"
|
||||||
|
objectType="com.arsdigita.cms.contenttypes.Person"
|
||||||
|
classname="com.arsdigita.cms.contenttypes.Person">
|
||||||
|
|
||||||
|
<ctd:authoring-kit
|
||||||
|
createComponent="com.arsdigita.cms.contenttypes.ui.GenericPersonCreate">
|
||||||
|
|
||||||
|
<ctd:authoring-step
|
||||||
|
labelKey="cms.contenttypes.shared.basic_properties.title"
|
||||||
|
labelBundle="com.arsdigita.cms.CMSResources"
|
||||||
|
descriptionKey="cms.contenttypes.shared.basic_properties.description"
|
||||||
|
descriptionBundle="com.arsdigita.cms.CMSResources"
|
||||||
|
component="com.arsdigita.cms.contenttypes.ui.PersonPropertiesStep"
|
||||||
|
ordering="1"/>
|
||||||
|
|
||||||
|
<ctd:authoring-step
|
||||||
|
labelKey="person.authoring.contact_properties.title"
|
||||||
|
labelBundle="com.arsdigita.cms.contenttypes.ContenttypesResources"
|
||||||
|
descriptionKey="person.authoring.contact_properties.description"
|
||||||
|
descriptionBundle="com.arsdigita.cms.contenttypes.ContenttypesResources"
|
||||||
|
component="com.arsdigita.cms.contenttypes.ui.GenericPersonContactPropertiesStep"
|
||||||
|
ordering="2"/>
|
||||||
|
|
||||||
|
<ctd:include href="/WEB-INF/content-types/assign-categories-step.xml"/>
|
||||||
|
</ctd:authoring-kit>
|
||||||
|
|
||||||
|
</ctd:content-type>
|
||||||
|
</ctd:content-types>
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<registry>
|
||||||
|
<!-- nothing yet -->
|
||||||
|
</registry>
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
<load>
|
||||||
|
<requires>
|
||||||
|
<table name="inits"/>
|
||||||
|
<table name="acs_objects"/>
|
||||||
|
<table name="cms_items"/>
|
||||||
|
<initializer class="com.arsdigita.cms.Initializer"/>
|
||||||
|
</requires>
|
||||||
|
<provides>
|
||||||
|
<table name="ct_persons"/>
|
||||||
|
<initializer class="com.arsdigita.cms.contenttypes.PersonInitializer"/>
|
||||||
|
</provides>
|
||||||
|
<scripts>
|
||||||
|
<schema directory="ccm-cms-types-person"/>
|
||||||
|
<data class="com.arsdigita.cms.contenttypes.PersonLoader"/>
|
||||||
|
</scripts>
|
||||||
|
</load>
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2010 Jens Pelzetter,
|
||||||
|
* for the Center of Social Policy Research of the University of Bremen
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
|
import com.arsdigita.cms.ContentType;
|
||||||
|
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||||
|
import com.arsdigita.persistence.DataObject;
|
||||||
|
import com.arsdigita.persistence.OID;
|
||||||
|
import com.arsdigita.util.Assert;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Basic Person Contenttype for OpenCCM.
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
*/
|
||||||
|
public class Person extends GenericPerson {
|
||||||
|
|
||||||
|
/** Data object type for this domain object */
|
||||||
|
public static final String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.contenttypes.Person";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default constructor. This creates a new (empty) Person.
|
||||||
|
**/
|
||||||
|
public Person() {
|
||||||
|
this(BASE_DATA_OBJECT_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Person(BigDecimal id) throws DataObjectNotFoundException {
|
||||||
|
this(new OID(BASE_DATA_OBJECT_TYPE, id));
|
||||||
|
}
|
||||||
|
|
||||||
|
public Person(OID id) throws DataObjectNotFoundException {
|
||||||
|
super(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Person(DataObject obj) {
|
||||||
|
super(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Person(String type) {
|
||||||
|
super(type);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* @Override
|
||||||
|
public void beforeSave() {
|
||||||
|
super.beforeSave();
|
||||||
|
|
||||||
|
Assert.exists(getContentType(), ContentType.class);
|
||||||
|
}*/
|
||||||
|
|
||||||
|
/* accessors *****************************************************/
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2010 Jens Pelzetter,
|
||||||
|
* for the Center of Social Policy Resarch of the University of Bremen
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
|
import com.arsdigita.cms.contenttypes.ContentTypeInitializer;
|
||||||
|
import com.arsdigita.domain.DomainObject;
|
||||||
|
import com.arsdigita.domain.DomainObjectFactory;
|
||||||
|
import com.arsdigita.domain.DomainObjectInstantiator;
|
||||||
|
import com.arsdigita.persistence.DataObject;
|
||||||
|
import com.arsdigita.runtime.DomainInitEvent;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
*/
|
||||||
|
public class PersonInitializer extends ContentTypeInitializer {
|
||||||
|
|
||||||
|
private static final Logger s_log = Logger.getLogger(PersonInitializer.class);
|
||||||
|
|
||||||
|
public PersonInitializer() {
|
||||||
|
super("ccm-cms-types-person.pdl.mf", Person.BASE_DATA_OBJECT_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] getStylesheets() {
|
||||||
|
return new String[]{"/static/content-types/com/arsdigita/cms/contenttypes/Person.xsl"};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2010 Jens Pelzetter,
|
||||||
|
* for the Center of Social Policy Research of the University of Bremen
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
*/
|
||||||
|
public class PersonLoader extends AbstractContentTypeLoader {
|
||||||
|
|
||||||
|
private static final String[] TYPES = {
|
||||||
|
"/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Person.xml"
|
||||||
|
};
|
||||||
|
|
||||||
|
public String[] getTypes() {
|
||||||
|
return TYPES;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2010 Jens Pelzetter,
|
||||||
|
* for the Center of Social Policy Resarch of the University of Bremen
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package com.arsdigita.cms.contenttypes.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.Component;
|
||||||
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||||
|
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||||
|
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||||
|
|
||||||
|
public class PersonPropertiesStep extends GenericPersonPropertiesStep {
|
||||||
|
|
||||||
|
public static final String EDIT_SHEET_NAME = "edit";
|
||||||
|
|
||||||
|
public PersonPropertiesStep(ItemSelectionModel itemModel,
|
||||||
|
AuthoringKitWizard parent) {
|
||||||
|
super(itemModel, parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void createEditSheet(ItemSelectionModel itemModel) {
|
||||||
|
BasicPageForm editSheet;
|
||||||
|
editSheet = new PersonPropertyForm(itemModel, this);
|
||||||
|
add(EDIT_SHEET_NAME, "Edit",
|
||||||
|
new WorkflowLockedComponentAccess(editSheet, itemModel), editSheet.
|
||||||
|
getSaveCancelSection().getCancelButton());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Component getPersonPropertySheet(ItemSelectionModel itemModel) {
|
||||||
|
Component sheet = GenericPersonPropertiesStep.getGenericPersonPropertySheet(
|
||||||
|
itemModel);
|
||||||
|
|
||||||
|
return sheet;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,80 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2010 Jens Pelzetter,
|
||||||
|
* for the Center of Social Policy Research of the University of Bremen
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package com.arsdigita.cms.contenttypes.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.FormData;
|
||||||
|
import com.arsdigita.bebop.Label;
|
||||||
|
import com.arsdigita.bebop.event.FormInitListener;
|
||||||
|
import com.arsdigita.bebop.event.FormProcessListener;
|
||||||
|
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||||
|
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||||
|
import com.arsdigita.bebop.form.TextField;
|
||||||
|
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||||
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
import com.arsdigita.cms.contenttypes.Person;
|
||||||
|
import com.arsdigita.cms.contenttypes.util.PersonGlobalizationUtil;
|
||||||
|
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Form to edit the properties of a person.
|
||||||
|
*
|
||||||
|
* @author: Jens Pelzetter
|
||||||
|
*/
|
||||||
|
public class PersonPropertyForm
|
||||||
|
extends GenericPersonPropertyForm
|
||||||
|
implements FormProcessListener,
|
||||||
|
FormInitListener,
|
||||||
|
FormSubmissionListener {
|
||||||
|
|
||||||
|
private static final Logger s_log = Logger.getLogger(
|
||||||
|
PersonPropertyForm.class);
|
||||||
|
private PersonPropertiesStep m_step;
|
||||||
|
public static final String ID = "Person_edit";
|
||||||
|
|
||||||
|
public PersonPropertyForm(ItemSelectionModel itemModel) {
|
||||||
|
this(itemModel, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public PersonPropertyForm(ItemSelectionModel itemModel,
|
||||||
|
PersonPropertiesStep step) {
|
||||||
|
super(itemModel, step);
|
||||||
|
m_step = step;
|
||||||
|
addSubmissionListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void addWidgets() {
|
||||||
|
super.addWidgets();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void init(FormSectionEvent fse) {
|
||||||
|
super.init(fse);
|
||||||
|
FormData data = fse.getFormData();
|
||||||
|
Person person = (Person) super.initBasicWidgets(fse);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void process(FormSectionEvent fse) {
|
||||||
|
super.process(fse);
|
||||||
|
FormData data = fse.getFormData();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2009 Jens Pelzetter, for the Center of Social Politics of the University of Bremen
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.cms.contenttypes.util;
|
||||||
|
|
||||||
|
import com.arsdigita.globalization.GlobalizedMessage;
|
||||||
|
|
||||||
|
public class PersonGlobalizationUtil {
|
||||||
|
final public static String BUNDLE_NAME =
|
||||||
|
"com.arsdigita.cms.contenttypes.util.PersonResourceBundle";
|
||||||
|
|
||||||
|
public static GlobalizedMessage globalize (String key) {
|
||||||
|
return new GlobalizedMessage(key, BUNDLE_NAME);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static GlobalizedMessage globalize (String key, Object[] args) {
|
||||||
|
return new GlobalizedMessage(key, BUNDLE_NAME, args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2009 Jens Pelzetter, for the Center of Social Politics of the University of Bremen
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.cms.contenttypes.util;
|
||||||
|
|
||||||
|
import java.util.PropertyResourceBundle;
|
||||||
|
import com.arsdigita.globalization.ChainedResourceBundle;
|
||||||
|
import com.arsdigita.cms.CMSGlobalized;
|
||||||
|
|
||||||
|
public class PersonResourceBundle extends ChainedResourceBundle implements CMSGlobalized {
|
||||||
|
public static final String PERSON_BUNDLE_NAME =
|
||||||
|
"com.arsdigita.cms.contenttypes.PersonResources";
|
||||||
|
|
||||||
|
public PersonResourceBundle() {
|
||||||
|
super();
|
||||||
|
addBundle((PropertyResourceBundle)getBundle(PERSON_BUNDLE_NAME));
|
||||||
|
addBundle((PropertyResourceBundle)getBundle(BUNDLE_NAME));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
<!DOCTYPE stylesheet [
|
||||||
|
<!ENTITY nbsp " " ><!-- no-break space = non-breaking space, U+00A0 ISOnum -->
|
||||||
|
]>
|
||||||
|
|
||||||
|
<xsl:stylesheet
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:cms="http://www.arsdigita.com/cms/1.0"
|
||||||
|
version="1.0">
|
||||||
|
|
||||||
|
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.Person']"
|
||||||
|
mode="cms:CT_graphics"
|
||||||
|
name="cms:CT_graphics_com_arsdigita_cms_contenttypes_Person">
|
||||||
|
<!-- <xsl:if test="./surname and ./givenName"> -->
|
||||||
|
<p>
|
||||||
|
<xsl:value-of select="./titlepre"/>
|
||||||
|
<xsl:value-of select="./givenname"/>
|
||||||
|
<xsl:value-of select="./surname"/>
|
||||||
|
<xsl:value-of select="./titlepost"/>
|
||||||
|
</p>
|
||||||
|
<!-- </xsl:if> -->
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.Person']"
|
||||||
|
mode="cms:CT_text"
|
||||||
|
name="cms:CT_text_com_arsdigita_cms_contenttypes_Person">
|
||||||
|
<p>
|
||||||
|
<xsl:value-of select="./titlepre"/>
|
||||||
|
<xsl:value-of select="./givenname"/>
|
||||||
|
<xsl:value-of select="./surname"/>
|
||||||
|
<xsl:value-of select="./titlepost"/>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
Loading…
Reference in New Issue