Package de.sub.goobi.persistence

Examples of de.sub.goobi.persistence.ProzessDAO


    }

    try {
      this.prozessKopie.setSortHelperImages(this.guessedImages);
      ProzessDAO dao = new ProzessDAO();
      dao.save(this.prozessKopie);
      dao.refresh(this.prozessKopie);
    } catch (DAOException e) {
      myLogger.error(e);
      myLogger.error("error on save: ", e);
      return "";
    }

    /*
     * wenn noch keine RDF-Datei vorhanden ist (weil keine Opac-Abfrage stattfand, dann jetzt eine anlegen
     */
    if (this.myRdf == null) {
      createNewFileformat();
    }

    /*--------------------------------
     * wenn eine RDF-Konfiguration
     * vorhanden ist (z.B. aus dem Opac-Import, oder frisch angelegt), dann
     * diese ergänzen
     * --------------------------------*/
    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.ughHelper.getMetadataType(this.prozessKopie.getRegelsatz().getPreferences(), field.getMetadata());
              Metadata md = this.ughHelper.getMetadata(myTempStruct, mdt);
              if (md != null) {
                md.setValue(field.getWert());
              }
              /*
               * wenn dem Topstruct und dem Firstchild der Wert gegeben werden soll
               */
              if (myTempChild != null) {
                md = this.ughHelper.getMetadata(myTempChild, mdt);
                if (md != null) {
                  md.setValue(field.getWert());
                }
              }
            }
          } catch (Exception e) {
            Helper.setFehlerMeldung(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 {
        MetadataType mdt = this.ughHelper.getMetadataType(this.prozessKopie, "pathimagefiles");
        List<? extends Metadata> alleImagepfade = this.myRdf.getDigitalDocument().getPhysicalDocStruct().getAllMetadataByType(mdt);
        if (alleImagepfade != null && alleImagepfade.size() > 0) {
          for (Metadata md : alleImagepfade) {
            this.myRdf.getDigitalDocument().getPhysicalDocStruct().getAllMetadata().remove(md);
          }
        }
        Metadata newmd = new Metadata(mdt);
        if (SystemUtils.IS_OS_WINDOWS) {
          newmd.setValue("file:/" + this.prozessKopie.getImagesDirectory() + this.prozessKopie.getTitel().trim() + DIRECTORY_SUFFIX);
        } else {
          newmd.setValue("file://" + this.prozessKopie.getImagesDirectory() + this.prozessKopie.getTitel().trim() + DIRECTORY_SUFFIX);
        }
        this.myRdf.getDigitalDocument().getPhysicalDocStruct().addMetadata(newmd);

        /* Rdf-File schreiben */
        this.prozessKopie.writeMetadataFile(this.myRdf);

        /*
         * -------------------------------- soll der Prozess als Vorlage verwendet werden? --------------------------------
         */
        if (this.useTemplates && this.prozessKopie.isInAuswahllisteAnzeigen()) {
          this.prozessKopie.writeMetadataAsTemplateFile(this.myRdf);
        }

      } catch (ugh.exceptions.DocStructHasNoTypeException e) {
        Helper.setFehlerMeldung("DocStructHasNoTypeException", e.getMessage());
        myLogger.error("creation of new process throws an error: ", e);
      } catch (UghHelperException e) {
        Helper.setFehlerMeldung("UghHelperException", e.getMessage());
        myLogger.error("creation of new process throws an error: ", e);
      } catch (MetadataTypeNotAllowedException e) {
        Helper.setFehlerMeldung("MetadataTypeNotAllowedException", e.getMessage());
        myLogger.error("creation of new process throws an error: ", e);
      }

    }

    // Adding process to history
    if (!HistoryAnalyserJob.updateHistoryForProcess(this.prozessKopie)) {
      Helper.setFehlerMeldung("historyNotUpdated");
            return "";
    } else {
      try {
        new ProzessDAO().save(this.prozessKopie);
      } catch (DAOException e) {
        myLogger.error(e);
        myLogger.error("error on save: ", e);
        return "";
      }
View Full Code Here


    ConfigDispayRules.getInstance().refresh();

    Modes.setBindState(BindState.edit);
    try {
      Integer id = new Integer(Helper.getRequestParameter("ProzesseID"));
      this.myProzess = new ProzessDAO().get(id);
    } catch (NumberFormatException e1) {
      Helper.setFehlerMeldung("error while loading process data" + e1.getMessage());
      return Helper.getRequestParameter("zurueck");
    } catch (DAOException e1) {
      Helper.setFehlerMeldung("error while loading process data" + e1.getMessage());
View Full Code Here

    this.myProzess.setSortHelperDocstructs(zaehlen.getNumberOfUghElements(this.logicalTopstruct, CountType.DOCSTRUCT));
    this.myProzess.setSortHelperMetadata(zaehlen.getNumberOfUghElements(this.logicalTopstruct, CountType.METADATA));
    try {
      this.myProzess.setSortHelperImages(FileUtils.getNumberOfFiles(new File(this.myProzess.getImagesOrigDirectory(true))));
      new ProzessDAO().save(this.myProzess);
    } catch (DAOException e) {
      Helper.setFehlerMeldung("fehlerNichtSpeicherbar", e);
      myLogger.error(e);
    } catch (Exception e) {
      Helper.setFehlerMeldung("error while counting current images", e);
View Full Code Here

   * @return Anzahl der Benutzer
   * @throws DAOException
   */
  public Long getAnzahlProzesse() {
    try {
      return new ProzessDAO().count("from Prozess");
    } catch (DAOException e) {
      Helper.setFehlerMeldung("fehlerBeimEinlesen", e.getMessage());
      return null;
    }
  }
View Full Code Here

TOP

Related Classes of de.sub.goobi.persistence.ProzessDAO

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.