Package ugh.dl

Examples of ugh.dl.DocStruct


      for (AdditionalField field : this.additionalFields) {
        if (field.isUghbinding() && field.getShowDependingOnDoctype()) {
          /* welches Docstruct */

          DocStruct myTempStruct = myRdf.getDigitalDocument().getLogicalDocStruct();
          if (field.getDocstruct().equals("firstchild")) {
            try {
              myTempStruct = myRdf.getDigitalDocument().getLogicalDocStruct().getAllChildren().get(0);
            } catch (RuntimeException e) {
            }
          }
          if (field.getDocstruct().equals("boundbook")) {
            myTempStruct = myRdf.getDigitalDocument().getPhysicalDocStruct();
          }
          /* welches Metadatum */
          try {
            if (field.getMetadata().equals("ListOfCreators")) {
              /* bei Autoren die Namen zusammenstellen */
              String myautoren = "";
              if (myTempStruct.getAllPersons() != null) {
                for (Person p : myTempStruct.getAllPersons()) {
                  myautoren += p.getLastname();
                  if (StringUtils.isNotBlank(p.getFirstname())) {
                    myautoren += ", " + p.getFirstname();
                  }
                  myautoren += "; ";
View Full Code Here


      Helper.setFehlerMeldung("Fehler beim Einlesen der Template-Metadaten ", e);
    }

    /* falls ein erstes Kind vorhanden ist, sind die Collectionen dafür */
    try {
      DocStruct colStruct = this.myRdf.getDigitalDocument().getLogicalDocStruct();
      removeCollections(colStruct);
      colStruct = colStruct.getAllChildren().get(0);
      removeCollections(colStruct);
    } catch (PreferencesException e) {
      Helper.setFehlerMeldung("Fehler beim Anlegen des Vorgangs", e);
      myLogger.error("Fehler beim Anlegen des Vorgangs", e);
    } catch (RuntimeException e) {
View Full Code Here

    if (this.updateData) {
      if (this.myRdf != null) {
        for (AdditionalField field : this.additionalFields) {
          if (field.isUghbinding() && field.getShowDependingOnDoctype()) {
            /* welches Docstruct */
            DocStruct myTempStruct = this.myRdf.getDigitalDocument().getLogicalDocStruct();
            DocStruct myTempChild = null;
            if (field.getDocstruct().equals("firstchild")) {
              try {
                myTempStruct = this.myRdf.getDigitalDocument().getLogicalDocStruct().getAllChildren().get(0);
              } catch (RuntimeException e) {
                /*
                 * das Firstchild unterhalb des Topstructs konnte nicht ermittelt werden
                 */
              }
            }
            /*
             * falls topstruct und firstchild das Metadatum bekommen sollen
             */
            if (!field.getDocstruct().equals("firstchild") && field.getDocstruct().contains("firstchild")) {
              try {
                myTempChild = this.myRdf.getDigitalDocument().getLogicalDocStruct().getAllChildren().get(0);
              } catch (RuntimeException e) {
              }
            }
            if (field.getDocstruct().equals("boundbook")) {
              myTempStruct = this.myRdf.getDigitalDocument().getPhysicalDocStruct();
            }
            /* welches Metadatum */
            try {
              /*
               * bis auf die Autoren alle additionals in die Metadaten übernehmen
               */
              if (!field.getMetadata().equals("ListOfCreators")) {
                MetadataType mdt = this.ughHelp.getMetadataType(this.prozessKopie.getRegelsatz().getPreferences(),
                    field.getMetadata());
                Metadata md = this.ughHelp.getMetadata(myTempStruct, mdt);
                /*
                 * wenn das Metadatum null ist, dann jetzt initialisieren
                 */
                if (md == null) {
                  md = new Metadata(mdt);
                  md.setDocStruct(myTempStruct);
                  myTempStruct.addMetadata(md);
                }
                md.setValue(field.getWert());
                /*
                 * wenn dem Topstruct und dem Firstchild der Wert gegeben werden soll
                 */
                if (myTempChild != null) {
                  md = this.ughHelp.getMetadata(myTempChild, mdt);

                  md.setValue(field.getWert());
                }
              }
            } catch (NullPointerException e) {
            } catch (UghHelperException e) {

            } catch (MetadataTypeNotAllowedException e) {

            }
          } // end if ughbinding
        }// end for

        /*
         * -------------------------------- Collectionen hinzufügen --------------------------------
         */
        DocStruct colStruct = this.myRdf.getDigitalDocument().getLogicalDocStruct();
        try {
          addCollections(colStruct);
          /*
           * falls ein erstes Kind vorhanden ist, sind die Collectionen dafür
           */
          colStruct = colStruct.getAllChildren().get(0);
          addCollections(colStruct);
        } catch (RuntimeException e) {
          /*
           * das Firstchild unterhalb des Topstructs konnte nicht ermittelt werden
           */
        }

        /*
         * -------------------------------- Imagepfad hinzufügen (evtl. vorhandene zunächst löschen) --------------------------------
         */
        try {
          DigitalDocument dd = this.myRdf.getDigitalDocument();
          DocStructType dst = this.prozessVorlage.getRegelsatz().getPreferences().getDocStrctTypeByName("BoundBook");
          DocStruct dsBoundBook = dd.createDocStruct(dst);
          dd.setPhysicalDocStruct(dsBoundBook);

          UghHelper ughhelp = new UghHelper();
          MetadataType mdt = ughhelp.getMetadataType(this.prozessKopie, "pathimagefiles");

View Full Code Here

  /* =============================================================== */

  public String correctionStart() throws DocStructHasNoTypeException, MetadataTypeNotAllowedException, ExportFileException, UghHelperException {
    String atsPpnBand;
    DocStruct logicalTopstruct = mydocument.getLogicalDocStruct();
    docStructsOhneSeiten = new ArrayList<DocStruct>();

    /*
     * -------------------------------- Prozesseigenschaften ermitteln
     * --------------------------------
 
View Full Code Here

    }

    /* alle Kinder des aktuellen DocStructs durchlaufen */
    if (inStruct.getAllChildren() != null) {
      for (Iterator<DocStruct> iter = inStruct.getAllChildren().iterator(); iter.hasNext();) {
        DocStruct child = iter.next();
        RusdmlDocStructPagesAuswerten(child);
      }
    }
  }
View Full Code Here

    /*
     * -------------------------------- die Metadaten dem Band zuweisen
     * --------------------------------
     */
    DocStruct structBand = inTopStruct.getAllChildren().get(0);
    if (structBand != null) {

      try {
        structBand.addMetadata(mdVerlag);
        structBand.addMetadata(mdOrt);
        structBand.addMetadata(mdPPNBand);
        structBand.addMetadata(mdSorting);
      } catch (MetadataTypeNotAllowedException e) {

      } catch (DocStructHasNoTypeException e) {

      }
View Full Code Here

    /*
     * -------------------------------- Vorbereitung der Dokumentenstruktur --------------------------------
     */
    DigitalDocument dd = new DigitalDocument();
    DocStructType dst = this.myPrefs.getDocStrctTypeByName("Periodical");
    DocStruct dsPeriodical = dd.createDocStruct(dst);
    dst = this.myPrefs.getDocStrctTypeByName("PeriodicalVolume");
    DocStruct dsPeriodicalVolume = dd.createDocStruct(dst);
    dsPeriodical.addChild(dsPeriodicalVolume);

    /*
     * -------------------------------- alle Zeilen durchlaufen --------------------------------
     */
    while ((line = reader.readLine()) != null) {
      // myLogger.debug(line);

      /*
       * -------------------------------- wenn die Zeile leer ist, ist es das Ende eines Absatzes --------------------------------
       */
      if (line.length() == 0) {
        istAbsatz = false;
        /* wenn die Zeile nicht leer ist, den Inhalt prüfen */
      } else {

        /* prüfen ob der String korrekte xml-Zeichen enth�lt */
        String xmlTauglich = xmlTauglichkeitPruefen(line);
        if (xmlTauglich.length() > 0) {
          throw new WrongImportFileException("Parsingfehler (nicht druckbares Zeichen) der Importdatei in der Zeile <br/>" + xmlTauglich);
        }

        /* wenn es gerade ein neuer Absatz ist, diesen als neuen Artikel in die Liste übernehmen */
        if (!istAbsatz) {
          DocStructType dstLocal = this.myPrefs.getDocStrctTypeByName("Article");
          DocStruct ds = dd.createDocStruct(dstLocal);
          listArtikel.add(ds);
          // myLogger.debug("---------------          neuer Artikel          ----------------");
          istAbsatz = true;
          istErsterTitel = true;
        }

        /* Position des Trennzeichens ermitteln */
        int posTrennzeichen = line.indexOf(this.Trennzeichen);
        /* wenn kein Trennzeichen vorhanden, Parsingfehler */
        if (posTrennzeichen == -1) {
          myLogger.error("Import() - Parsingfehler (kein Doppelpunkt) der Importdatei in der Zeile <br/>" + HtmlTagsMaskieren(line));
          throw new WrongImportFileException("Parsingfehler (kein Doppelpunkt) der Importdatei in der Zeile <br/>"
              + HtmlTagsMaskieren(line));
        } else {
          String myLeft = line.substring(0, posTrennzeichen).trim();
          String myRight = line.substring(posTrennzeichen + 1, line.length()).trim();
          ParsenArtikel(listArtikel.getLast(), myLeft, myRight, istErsterTitel);

          /* wenn es ein Titel war, ist der nächste nicht mehr der erste Titel */
          if (myLeft.equals("TI")) {
            istErsterTitel = false;
          }

          /* wenn es gerade der Zeitschriftenname ist, die Zeitschrift benennen */
          if (myLeft.equals("J")) {
            ParsenAllgemein(dsPeriodical, myLeft, myRight);
          }

          /* wenn es gerade eine Jahresangabe ist, dann für den aktuellen Band */
          if (myLeft.equals("Y")) {
            ParsenAllgemein(dsPeriodicalVolume, myLeft, myRight);
          }

          /* wenn es gerade eine Jahresangabe ist, dann für den aktuellen Band */
          if (myLeft.equals("V")) {
            ParsenAllgemein(dsPeriodicalVolume, myLeft, myRight);
          }

          /*
           * wenn es gerade die Heftnummer ist, dann jetzt dem richtigen Heft zuordnen und dieses ggf. noch vorher anlegen
           */
          if (myLeft.equals("I")) {
            DocStruct dsPeriodicalIssue = ParsenHeftzuordnung(dsPeriodicalVolume, myRight, dd);
            dsPeriodicalIssue.addChild(listArtikel.getLast());
          }
        }
      }
    }

    /*
     * -------------------------------- physischer Baum (Seiten) --------------------------------
     */
    dst = this.myPrefs.getDocStrctTypeByName("BoundBook");
    DocStruct dsBoundBook = dd.createDocStruct(dst);

    /*
     * -------------------------------- jetzt die Gesamtstruktur bauen und in xml schreiben --------------------------------
     */
    // DigitalDocument dd = new DigitalDocument();
View Full Code Here

   */
  private DocStruct ParsenHeftzuordnung(DocStruct dsPeriodicalVolume, String myRight, DigitalDocument inDigitalDocument)
      throws TypeNotAllowedForParentException, MetadataTypeNotAllowedException, TypeNotAllowedAsChildException {
    DocStructType dst;
    MetadataType mdt = this.myPrefs.getMetadataTypeByName("CurrentNo");
    DocStruct dsPeriodicalIssue = null;
    /* erstmal prüfen, ob das Heft schon existiert */
    List<DocStruct> myList = dsPeriodicalVolume.getAllChildrenByTypeAndMetadataType("PeriodicalIssue", "CurrentNo");
    if (myList != null && myList.size() != 0) {
      for (DocStruct dsIntern : myList) {
        // myLogger.debug(dsIntern.getAllMetadataByType(mdt).getFirst());
        Metadata myMD1 = dsIntern.getAllMetadataByType(mdt).get(0);
        // myLogger.debug("und der Wert ist: " + myMD1.getValue());
        if (myMD1.getValue().equals(myRight)) {
          dsPeriodicalIssue = dsIntern;
        }
      }
    }
    /* wenn das Heft nicht gefunden werden konnte, jetzt anlegen */
    if (dsPeriodicalIssue == null) {
      dst = this.myPrefs.getDocStrctTypeByName("PeriodicalIssue");
      dsPeriodicalIssue = inDigitalDocument.createDocStruct(dst);
      Metadata myMD = new Metadata(mdt);
      // myMD.setType(mdt);
      myMD.setValue(myRight);
      dsPeriodicalIssue.addMetadata(myMD);
      dsPeriodicalVolume.addChild(dsPeriodicalIssue);
    }
    return dsPeriodicalIssue;
  }
View Full Code Here

    } catch (Exception e) {
      Helper.setFehlerMeldung(Helper.getTranslation("MetadataDigitalDocumentError") + inProzess.getTitel(), e.getMessage());
      ergebnis = false;
    }

    DocStruct logical = dd.getLogicalDocStruct();
    if (logical.getAllIdentifierMetadata() != null && logical.getAllIdentifierMetadata().size() > 0) {
      Metadata identifierTopStruct = logical.getAllIdentifierMetadata().get(0);
      try {
        if (!identifierTopStruct.getValue().replaceAll("[\\w|-]", "").equals("")) {
          List<String> parameter = new ArrayList<String>();
          parameter.add(identifierTopStruct.getType().getNameByLanguage(metadataLanguage));
          parameter.add(logical.getType().getNameByLanguage(metadataLanguage));
         
          Helper.setFehlerMeldung(Helper.getTranslation("InvalidIdentifierCharacter", parameter));
         
          ergebnis = false;
        }
        DocStruct firstChild = logical.getAllChildren().get(0);
        Metadata identifierFirstChild = firstChild.getAllIdentifierMetadata().get(0);
        if (identifierTopStruct.getValue() != null && identifierTopStruct.getValue() != ""
            && identifierTopStruct.getValue().equals(identifierFirstChild.getValue())) {
          List<String> parameter = new ArrayList<String>();
          parameter.add(identifierTopStruct.getType().getName());
          parameter.add(logical.getType().getName());
          parameter.add(firstChild.getType().getName());
          Helper.setFehlerMeldung(Helper.getTranslation("InvalidIdentifierSame", parameter));
          ergebnis = false;
        }
        if (!identifierFirstChild.getValue().replaceAll("[\\w|-]", "").equals("")) {
          List<String> parameter = new ArrayList<String>();
          parameter.add(identifierTopStruct.getType().getNameByLanguage(metadataLanguage));
          parameter.add(firstChild.getType().getNameByLanguage(metadataLanguage));
          Helper.setFehlerMeldung(Helper.getTranslation("InvalidIdentifierCharacter", parameter));
          ergebnis = false;
        }
      } catch (Exception e) {
        // no firstChild or no identifier
      }
    } else {
      Helper.setFehlerMeldung(Helper.getTranslation("MetadataMissingIdentifier"));
      ergebnis = false;
    }
    /*
     * -------------------------------- PathImagesFiles prüfen --------------------------------
     */
    if (!this.isValidPathImageFiles(dd.getPhysicalDocStruct(), inPrefs)) {
      ergebnis = false;
    }

    /*
     * -------------------------------- auf Docstructs ohne Seiten prüfen --------------------------------
     */
    DocStruct logicalTop = dd.getLogicalDocStruct();
    if (logicalTop == null) {
      Helper.setFehlerMeldung(inProzess.getTitel() + ": " + Helper.getTranslation("MetadataPaginationError"));
      ergebnis = false;
    }

    this.docStructsOhneSeiten = new ArrayList<DocStruct>();
    this.checkDocStructsOhneSeiten(logicalTop);
    if (this.docStructsOhneSeiten.size() != 0) {
      for (Iterator<DocStruct> iter = this.docStructsOhneSeiten.iterator(); iter.hasNext();) {
        DocStruct ds = iter.next();
        Helper.setFehlerMeldung(inProzess.getTitel() + ": " + Helper.getTranslation("MetadataPaginationStructure")
            + ds.getType().getNameByLanguage(metadataLanguage));
      }
      ergebnis = false;
    }

    /*
 
View Full Code Here

      this.docStructsOhneSeiten.add(inStruct);
    }
    /* alle Kinder des aktuellen DocStructs durchlaufen */
    if (inStruct.getAllChildren() != null) {
      for (Iterator<DocStruct> iter = inStruct.getAllChildren().iterator(); iter.hasNext();) {
        DocStruct child = iter.next();
        checkDocStructsOhneSeiten(child);
      }
    }
  }
View Full Code Here

TOP

Related Classes of ugh.dl.DocStruct

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.