/*
* -------------------------------- prüfen, wohin das Strukturelement gepackt werden soll, anschliessend entscheiden, welches Strukturelement
* gewählt wird und abschliessend richtig einfügen --------------------------------
*/
DocStruct ds = null;
/*
* -------------------------------- vor das aktuelle Element --------------------------------
*/
if (this.neuesElementWohin.equals("1")) {
if (this.addDocStructType1 == null || this.addDocStructType1.equals("")) {
return "Metadaten3links";
}
DocStructType dst = this.myPrefs.getDocStrctTypeByName(this.addDocStructType1);
ds = this.mydocument.createDocStruct(dst);
if (this.myDocStruct == null) {
return "Metadaten3links";
}
DocStruct parent = this.myDocStruct.getParent();
if (parent == null) {
myLogger.debug("das gewählte Element kann den Vater nicht ermitteln");
return "Metadaten3links";
}
List<DocStruct> alleDS = new ArrayList<DocStruct>();
/* alle Elemente des Parents durchlaufen */
for (Iterator<DocStruct> iter = parent.getAllChildren().iterator(); iter.hasNext();) {
DocStruct tempDS = iter.next();
/* wenn das aktuelle Element das gesuchte ist */
if (tempDS == this.myDocStruct) {
alleDS.add(ds);
}
alleDS.add(tempDS);
}
/* anschliessend alle Childs entfernen */
for (Iterator<DocStruct> iter = alleDS.iterator(); iter.hasNext();) {
parent.removeChild(iter.next());
}
/* anschliessend die neue Childliste anlegen */
for (Iterator<DocStruct> iter = alleDS.iterator(); iter.hasNext();) {
parent.addChild(iter.next());
}
}
/*
* -------------------------------- hinter das aktuelle Element --------------------------------
*/
if (this.neuesElementWohin.equals("2")) {
DocStructType dst = this.myPrefs.getDocStrctTypeByName(this.addDocStructType1);
ds = this.mydocument.createDocStruct(dst);
DocStruct parent = this.myDocStruct.getParent();
if (parent == null) {
myLogger.debug("das gewählte Element kann den Vater nicht ermitteln");
return "Metadaten3links";
}
List<DocStruct> alleDS = new ArrayList<DocStruct>();
/* alle Elemente des Parents durchlaufen */
for (Iterator<DocStruct> iter = parent.getAllChildren().iterator(); iter.hasNext();) {
DocStruct tempDS = iter.next();
alleDS.add(tempDS);
/* wenn das aktuelle Element das gesuchte ist */
if (tempDS == this.myDocStruct) {
alleDS.add(ds);
}
}
/* anschliessend alle Childs entfernen */
for (Iterator<DocStruct> iter = alleDS.iterator(); iter.hasNext();) {
parent.removeChild(iter.next());
}
/* anschliessend die neue Childliste anlegen */
for (Iterator<DocStruct> iter = alleDS.iterator(); iter.hasNext();) {
parent.addChild(iter.next());
}
}
/*
* -------------------------------- als erstes Child --------------------------------
*/
if (this.neuesElementWohin.equals("3")) {
DocStructType dst = this.myPrefs.getDocStrctTypeByName(this.addDocStructType2);
ds = this.mydocument.createDocStruct(dst);
DocStruct parent = this.myDocStruct;
if (parent == null) {
myLogger.debug("das gewählte Element kann den Vater nicht ermitteln");
return "Metadaten3links";
}
List<DocStruct> alleDS = new ArrayList<DocStruct>();
alleDS.add(ds);
if (parent.getAllChildren() != null && parent.getAllChildren().size() != 0) {
alleDS.addAll(parent.getAllChildren());
parent.getAllChildren().retainAll(new ArrayList<DocStruct>());
}
/* anschliessend die neue Childliste anlegen */
for (Iterator<DocStruct> iter = alleDS.iterator(); iter.hasNext();) {
parent.addChild(iter.next());
}
}
/*
* -------------------------------- als letztes Child --------------------------------
*/
if (this.neuesElementWohin.equals("4")) {
DocStructType dst = this.myPrefs.getDocStrctTypeByName(this.addDocStructType2);
ds = this.mydocument.createDocStruct(dst);
this.myDocStruct.addChild(ds);
}
if (!this.pagesStart.equals("") && !this.pagesEnd.equals("")) {
DocStruct temp = this.myDocStruct;
this.myDocStruct = ds;
this.ajaxSeiteStart = this.pagesStart;
this.ajaxSeiteEnde = this.pagesEnd;
AjaxSeitenStartUndEndeSetzen();
this.myDocStruct = temp;