public List<SelectItem> getOperandsForID() { List<SelectItem> answer = new ArrayList<SelectItem>(); SelectItem and = new SelectItem("", Helper.getTranslation("IS")); SelectItem not = new SelectItem("-", Helper.getTranslation("IS NOT")); answer.add(and); answer.add(not); return answer; }
/** * Creates a fictitious MetadataType for the given field of the given metadata type, assuming that * the latter is a person. The method is called from the constructor and thus should not be * overloaded. * * @param type a metadata type which represents a person * @param field a field of the person record * @return a fictitious MetadataGroupType with the person’s subfields */ private static final MetadataType getMetadataTypeFor(MetadataType type, Field field) { MetadataType result = new MetadataType(); result.setName(type.getName() + '.' + field.toString()); if (type.getNum() != null) { result.setNum(type.getNum()); } result.setAllLanguages(Helper.getAllStrings(field.getResourceKey())); result.setIsPerson(false); result.setIdentifier(field.isIdentifier()); return result; }
/** * @throws IOException * @throws WrongImportFileException * @throws TypeNotAllowedForParentException * @throws TypeNotAllowedAsChildException * @throws MetadataTypeNotAllowedException * @throws WriteException */ protected void Parsen(BufferedReader reader, Prozess inProzess) throws IOException, WrongImportFileException, TypeNotAllowedForParentException, TypeNotAllowedAsChildException, MetadataTypeNotAllowedException, WriteException { myLogger.debug("ParsenZentralblatt() - Start"); this.myPrefs = inProzess.getRegelsatz().getPreferences(); String prozessID = String.valueOf(inProzess.getId().intValue()); String line; this.Trennzeichen = ":"; boolean istAbsatz = false; boolean istErsterTitel = true; LinkedList<DocStruct> listArtikel = new LinkedList<DocStruct>(); /* * -------------------------------- 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(); dd.setLogicalDocStruct(dsPeriodical); dd.setPhysicalDocStruct(dsBoundBook); try { Fileformat gdzfile = new XStream(this.myPrefs); gdzfile.setDigitalDocument(dd); /* * -------------------------------- Datei am richtigen Ort speichern -------------------------------- */ gdzfile.write(this.help.getGoobiDataDirectory() + prozessID + File.separator + "meta.xml"); } catch (PreferencesException e) { Helper.setFehlerMeldung("Import aborted: ", e.getMessage()); myLogger.error(e); } myLogger.debug("ParsenZentralblatt() - Ende"); }
public SearchBean() { for (StepStatus s : StepStatus.values()) { this.stepstatus.add(s); } int restriction = ((LoginBean) Helper.getManagedBeanValue("#{LoginForm}")).getMaximaleBerechtigung(); // projects String projectFilter = ""; if (restriction > 2) { projectFilter = " projectIsArchived = false "; } this.projects.add(Helper.getTranslation("notSelected")); try { List<Project> projektList = ProjectManager.getProjects("titel", projectFilter, 0, Integer.MAX_VALUE); for (Project p : projektList) { this.projects.add(p.getTitel()); } } catch (DAOException e1) { } this.masterpiecePropertyTitles.add(Helper.getTranslation("notSelected")); this.masterpiecePropertyTitles.addAll(PropertyManager.getDistinctMasterpiecePropertyTitles()); this.templatePropertyTitles.add(Helper.getTranslation("notSelected")); this.templatePropertyTitles.addAll(PropertyManager.getDistinctTemplatePropertyTitles()); this.processPropertyTitles.add(Helper.getTranslation("notSelected")); this.processPropertyTitles.addAll(PropertyManager.getDistinctProcessPropertyTitles()); this.stepTitles.add(Helper.getTranslation("notSelected")); stepTitles.addAll(StepManager.getDistinctStepTitles()); initializeRowList(); fieldnameList.add(new SelectItem("", Helper.getTranslation("notSelected"))); fieldnameList.add(new SelectItem("PROCESSID", Helper.getTranslation("id"))); fieldnameList.add(new SelectItem("PROCESSTITLE", Helper.getTranslation("title"))); fieldnameList.add( new SelectItem("PROCESSPROPERTY", Helper.getTranslation("processProperties"))); fieldnameList.add(new SelectItem("STEP", Helper.getTranslation("step"))); fieldnameList.add(new SelectItem("PROJECT", Helper.getTranslation("projects"))); fieldnameList.add(new SelectItem("TEMPLATE", Helper.getTranslation("templateProperties"))); fieldnameList.add(new SelectItem("WORKPIECE", Helper.getTranslation("masterpieceProperties"))); fieldnameList.add(new SelectItem("BATCH", Helper.getTranslation("batch"))); fieldnameList.add(new SelectItem("METADATA", Helper.getTranslation("metadata"))); fieldnameList.add(new SelectItem("PROCESSLOG", Helper.getTranslation("processlog"))); metadataTitles.add(Helper.getTranslation("notSelected")); metadataTitles.addAll(MetadataManager.getDistinctMetadataNames()); }
/** * Returns the display name of the task to show to the user. * * @see de.sub.goobi.helper.tasks.INameableTask#getDisplayName() */ @Override public String getDisplayName() { return Helper.getTranslation("ExportDmsTask"); }