List of usage examples for org.apache.commons.lang StringUtils startsWithAny
public static boolean startsWithAny(String string, String[] searchStrings)
Check if a String starts with any of an array of specified strings.
From source file:msi.gaml.types.GamaType.java
@Override public String asPattern() { final boolean vowel = StringUtils.startsWithAny(name, vowels); return "${" + (vowel ? "an_" : "a_") + name + "}"; }
From source file:com.adobe.acs.commons.wcm.views.impl.WCMViewsFilter.java
/** * Determines if the filter should process this request. * * @param request the request// w w w.ja va 2s. co m * @return true is the filter should attempt to process */ @SuppressWarnings("squid:S3776") private boolean accepts(final SlingHttpServletRequest request) { final PageManager pageManager = request.getResourceResolver().adaptTo(PageManager.class); final Resource resource = request.getResource(); // Only process requests that match the include path prefixes if any are provided if (ArrayUtils.isEmpty(this.includePathPrefixes) || (!StringUtils.startsWithAny(request.getResource().getPath(), this.includePathPrefixes))) { return false; } // If the WCM Views on Request is set to disabled; do not process if (this.getRequestViews(request).contains(WCM_VIEW_DISABLED)) { return false; } // Only process resources that are part of a Page if (pageManager.getContainingPage(request.getResource()) == null) { return false; } final Node node = request.getResource().adaptTo(Node.class); if (node != null) { try { // Do not process cq:Page or cq:PageContent nodes as this will break all sorts of things, // and they dont have dropzone of their own if (node.isNodeType(NameConstants.NT_PAGE) || node.isNodeType("cq:PageContent") // Do not process Page node inclusions || JcrConstants.JCR_CONTENT.equals(node.getName())) { // Do not process Page jcr:content nodes (that may not have the cq:PageContent jcr:primaryType) return false; } } catch (RepositoryException e) { log.error("Repository exception prevented WCM Views Filter " + "from determining if the resource is acceptable", e); return false; } } if (CollectionUtils.isNotEmpty(this.resourceTypesIncludes)) { for (final Pattern pattern : this.resourceTypesIncludes) { final Matcher matcher = pattern.matcher(resource.getResourceType()); if (matcher.matches()) { return true; } } return false; } return true; }
From source file:$.MessageLogParser.java
/** * Gets lines which corresponds with specified correlation ID from the specified log file. */*from w ww . j a v a 2s. com*/ * @param logFile the log file * @param correlationId the correlation ID * @return log lines * @throws IOException when error occurred during file reading */ private List<String> getLogLines(File logFile, String correlationId) throws IOException { List<String> logLines = new ArrayList<String>(); Log.debug("Go through the following log file: " + logFile); int year = Calendar.getInstance().get(Calendar.YEAR); String[] possibleYears = new String[] { String.valueOf(year - 1), String.valueOf(year) }; InputStream stream = null; try { if (logFile.getName().endsWith(GZIP_FILE_EXTENSION)) { stream = new GZIPInputStream(new BufferedInputStream(new FileInputStream(logFile))); } else { stream = new BufferedInputStream(new FileInputStream(logFile)); } LineIterator it = IOUtils.lineIterator(stream, Charset.defaultCharset()); String requestId = null; boolean lastCorrectLine = false; // if previous log line belongs to requestId while (it.hasNext()) { String line = it.nextLine(); if (requestId == null) { if (StringUtils.contains(line, correlationId)) { logLines.add(formatLogLine(line)); // finds requestID requestId = getRequestId(line); if (requestId != null) { Log.debug("correlationId (" + correlationId + ") => requestId (" + requestId + ")"); } } } else { // adds lines with requestID and lines that belongs to previous log record (e.g. XML request) // it's better to check also correlationID because it's not one request ID // for all repeated scheduled jobs for processing of partly failed messages // 2013-05-23 20:22:36,754 [MACHINE_IS_UNDEFINED, ajp-bio-8009-exec-19, /esb/ws/account/v1, ... // <checkCustomerCreditRequest xmlns="cleverbus.org/ws/AccountService-v1"> // <firstName>csd</firstName> // <lastName>acs</lastName> // <birthNumber>111111/1111</birthNumber> // </checkCustomerCreditRequest> if (StringUtils.contains(line, requestId) || (StringUtils.contains(line, correlationId)) || (lastCorrectLine && !StringUtils.startsWithAny(line, possibleYears))) { logLines.add(formatLogLine(line)); lastCorrectLine = true; } else { lastCorrectLine = false; } } } } finally { IOUtils.closeQuietly(stream); } return logLines; }
From source file:au.org.ala.delta.intkey.ui.UIUtils.java
/** * Prompts for a file using the file chooser dialog * /* ww w . ja v a 2 s .c o m*/ * @param fileExtensions * Accepted file extensions - must be null if filePrefixes is * non-null * @param filePrefixes * Accepted file prefixes - must be null if fileExtensions is * non-null * @param description * Description of the acceptable files * @param createFileIfNonExistant * if true, the file will be created if it does not exist. Also, * the system's "save" will be used instead of the "open" dialog. * @param startBrowseDirectory * The directory that the file chooser should start in * @param parent * parent component for the file chooser * @return the selected file, or null if no file was selected. * @throws IOException */ public static File promptForFile(List<String> fileExtensions, List<String> filePrefixes, final String description, boolean createFileIfNonExistant, File startBrowseDirectory, Component parent) throws IOException { if (fileExtensions != null && filePrefixes != null) { throw new IllegalArgumentException( "Only one of the file extensions or file prefixes should be non-null"); } JFileChooser chooser = new JFileChooser(startBrowseDirectory); FileFilter filter; if (fileExtensions != null) { String[] extensionsArray = new String[fileExtensions.size()]; fileExtensions.toArray(extensionsArray); filter = new FileNameExtensionFilter(description, extensionsArray); } else { final String[] prefixesArray = new String[filePrefixes.size()]; filePrefixes.toArray(prefixesArray); filter = new FileFilter() { @Override public String getDescription() { return description; } @Override public boolean accept(File f) { if (f.isDirectory()) { return true; } else { return StringUtils.startsWithAny(f.getName(), prefixesArray); } } }; } chooser.setFileFilter(filter); int returnVal; if (createFileIfNonExistant) { returnVal = chooser.showSaveDialog(parent); } else { returnVal = chooser.showOpenDialog(parent); } if (returnVal == JFileChooser.APPROVE_OPTION) { if (createFileIfNonExistant) { File file = chooser.getSelectedFile(); if (!file.exists()) { // if only one file extension was supplied and the filename // does // not end with this extension, add it before // creating the file if (fileExtensions.size() == 1) { String extension = fileExtensions.get(0); String filePath = chooser.getSelectedFile().getAbsolutePath(); if (!filePath.endsWith(extension)) { file = new File(filePath + "." + extension); } } file.createNewFile(); } return file; } else { return chooser.getSelectedFile(); } } else { return null; } }
From source file:com.adobe.acs.commons.wcm.impl.AemEnvironmentIndicatorFilter.java
@SuppressWarnings("squid:S3923") private boolean accepts(final HttpServletRequest request) { if (StringUtils.isBlank(css) && StringUtils.isBlank(titlePrefix)) { // Only accept is properly configured log.warn("AEM Environment Indicator is not properly configured; If this feature is unwanted, " + "remove the OSGi configuration and disable completely."); return false; } else if (!StringUtils.equalsIgnoreCase("get", request.getMethod())) { // Only inject on GET requests return false; } else if (StringUtils.startsWithAny(request.getRequestURI(), REJECT_PATH_PREFIXES)) { // Reject any request to well-known rejection-worthy path prefixes return false; } else if (StringUtils.equals(request.getHeader("X-Requested-With"), "XMLHttpRequest")) { // Do not inject into XHR requests return false; } else if (StringUtils.endsWith(request.getHeader("Referer"), "/editor.html" + request.getRequestURI())) { // Do not apply to pages loaded in the TouchUI editor.html return false; } else if (StringUtils.endsWith(request.getHeader("Referer"), "/cf")) { // Do not apply to pages loaded in the Classic Content Finder return false; }//from w w w .j a va 2 s . c om return true; }
From source file:msi.gaml.types.ParametricType.java
@Override public String asPattern() { final boolean vowel = StringUtils.startsWithAny(type.getName(), vowels); return "${" + (vowel ? "an_" : "a_") + serialize(true) + "}"; }
From source file:ips1ap101.lib.core.jsf.JSF.java
public static void validateInputFile(Part file, String label, long maxSize, String[] validTypes) { long size;//from w w w. j av a 2 s .c om String type; String summary; FacesMessage message; List<FacesMessage> messages = new ArrayList<>(); size = file.getSize(); type = file.getContentType(); if (size < INPUT_FILE_MIN_SIZE) { summary = Bitacora.getTextoMensaje(CBM.UPLOAD_ROW_EXCEPTION_1, label, INPUT_FILE_MIN_SIZE); message = new FacesMessage(FacesMessage.SEVERITY_ERROR, summary, null); messages.add(message); } if (size > maxSize) { summary = Bitacora.getTextoMensaje(CBM.UPLOAD_ROW_EXCEPTION_2, label, maxSize); message = new FacesMessage(FacesMessage.SEVERITY_ERROR, summary, null); messages.add(message); } if (validTypes != null && validTypes.length > 0) { if (StringUtils.startsWithAny(type, validTypes)) { } else { summary = Bitacora.getTextoMensaje(CBM.UPLOAD_ROW_EXCEPTION_3, label, type); message = new FacesMessage(FacesMessage.SEVERITY_ERROR, summary, null); messages.add(message); } } if (messages.isEmpty()) { } else { throw new ValidatorException(messages); } }
From source file:eu.apenet.dpt.standalone.gui.eag2012.EagAccessAndServicesPanel.java
@Override protected JComponent buildEditorPanel(List<String> errors) { if (errors == null) errors = new ArrayList<String>(0); else if (Utilities.isDev && errors.size() > 0) { LOG.info("Errors in form:"); for (String error : errors) { LOG.info(error);/*w w w . j a va 2s .c o m*/ } } FormLayout layout = new FormLayout("right:max(50dlu;p), 4dlu, 100dlu, 7dlu, right:p, 4dlu, 100dlu", EDITOR_ROW_SPEC); layout.setColumnGroups(new int[][] { { 1, 3, 5, 7 } }); PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); CellConstraints cc = new CellConstraints(); rowNb = 1; Repository repository = eag.getArchguide().getDesc().getRepositories().getRepository().get(repositoryNb); //opening hours if (repository.getTimetable().getOpening().size() == 0) { repository.getTimetable().getOpening().add(new Opening()); } openingHoursTfs = new ArrayList<TextAreaWithLanguage>(repository.getTimetable().getOpening().size()); for (int i = 0; i < repository.getTimetable().getOpening().size(); i++) { Opening opening = repository.getTimetable().getOpening().get(i); //remove * from second ahead if (i == 0) builder.addLabel(labels.getString("eag2012.commons.openingHours") + "*", cc.xy(1, rowNb)); else builder.addLabel(labels.getString("eag2012.commons.openingHours"), cc.xy(1, rowNb)); TextAreaWithLanguage textAreaWithLanguage = new TextAreaWithLanguage(opening.getContent(), opening.getLang()); openingHoursTfs.add(textAreaWithLanguage); builder.add(textAreaWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textAreaWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); } if (errors.contains("openingHoursTfs")) { builder.add(createErrorLabel(labels.getString("eag2012.errors.openingHours")), cc.xy(1, rowNb)); setNextRow(); } //add opening hours button JButton addOpeningHoursBtn = new ButtonTab(labels.getString("eag2012.commons.addOpeningHours")); builder.add(addOpeningHoursBtn, cc.xy(1, rowNb)); addOpeningHoursBtn.addActionListener(new AddOpeningHoursBtnAction(eag, tabbedPane, model)); setNextRow(); if (repository.getTimetable().getClosing().size() == 0) { repository.getTimetable().getClosing().add(new Closing()); } closingDatesTfs = new ArrayList<TextAreaWithLanguage>(repository.getTimetable().getClosing().size()); for (Closing closing : repository.getTimetable().getClosing()) { builder.addLabel(labels.getString("eag2012.commons.closingDates"), cc.xy(1, rowNb)); TextAreaWithLanguage textAreaWithLanguage = new TextAreaWithLanguage(closing.getContent(), closing.getLang()); closingDatesTfs.add(textAreaWithLanguage); builder.add(textAreaWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textAreaWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); } JButton addClosingDatesBtn = new ButtonTab(labels.getString("eag2012.commons.addClosingDates")); builder.add(addClosingDatesBtn, cc.xy(1, rowNb)); addClosingDatesBtn.addActionListener(new AddClosingDatesBtnAction(eag, tabbedPane, model)); setNextRow(); if (repository.getDirections().size() == 0) repository.getDirections().add(new Directions()); travellingDirectionsTfs = new ArrayList<TextAreaWithLanguage>(repository.getDirections().size()); for (Directions directions : repository.getDirections()) { builder.addLabel(labels.getString("eag2012.accessAndServices.travellingDirections"), cc.xy(1, rowNb)); String str = ""; String citation = ""; for (Object obj : directions.getContent()) { if (obj instanceof String) { str += (String) obj; } else if (obj instanceof Citation) { citation += ((Citation) obj).getHref(); } } TextAreaWithLanguage textAreaWithLanguage = new TextAreaWithLanguage(str, directions.getLang(), citation); travellingDirectionsTfs.add(textAreaWithLanguage); builder.add(textAreaWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textAreaWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.accessAndServices.link"), cc.xy(1, rowNb)); builder.add(textAreaWithLanguage.getExtraField(), cc.xy(3, rowNb)); setNextRow(); if (errors.contains("travellingDirectionsTfs")) { if (StringUtils.isNotBlank(textAreaWithLanguage.getExtraField().getText()) && !StringUtils .startsWithAny(textAreaWithLanguage.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } else if (StringUtils.isNotBlank(textAreaWithLanguage.getExtraField().getText()) && !StringUtils.startsWithAny(textAreaWithLanguage.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } JButton addTravellingDirectionsBtn = new ButtonTab( labels.getString("eag2012.accessAndServices.addTravellingDirections")); builder.add(addTravellingDirectionsBtn, cc.xy(1, rowNb)); addTravellingDirectionsBtn.addActionListener(new AddTravellingDirectionsBtnAction(eag, tabbedPane, model)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.accessiblePublic") + "*", cc.xy(1, rowNb)); if (Arrays.asList(yesOrNo).contains(repository.getAccess().getQuestion())) { accessiblePublicCombo.setSelectedItem(repository.getAccess().getQuestion()); } builder.add(accessiblePublicCombo, cc.xy(3, rowNb)); setNextRow(); if (repository.getAccess().getRestaccess().size() == 0) repository.getAccess().getRestaccess().add(new Restaccess()); restaccessTfs = new ArrayList<TextAreaWithLanguage>(repository.getAccess().getRestaccess().size()); int last = repository.getAccess().getRestaccess().size() - 1; for (Restaccess restaccess : repository.getAccess().getRestaccess()) { builder.addLabel(labels.getString("eag2012.accessAndServices.accessRestrictions"), cc.xy(1, rowNb)); TextAreaWithLanguage textAreaWithLanguage = new TextAreaWithLanguage(restaccess.getContent(), restaccess.getLang()); restaccessTfs.add(textAreaWithLanguage); builder.add(textAreaWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textAreaWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); if (last-- == 0) { JButton addRestaccessBtn = new ButtonTab( labels.getString("eag2012.commons.addFutherAccessInformation")); builder.add(addRestaccessBtn, cc.xy(1, rowNb)); addRestaccessBtn.addActionListener(new AddRestaccessBtnAction(eag, tabbedPane, model)); setNextRow(); } } if (repository.getAccess().getTermsOfUse().size() == 0) repository.getAccess().getTermsOfUse().add(new TermsOfUse()); termsOfUseTfs = new ArrayList<TextAreaWithLanguage>(repository.getAccess().getTermsOfUse().size()); for (TermsOfUse termsOfUse : repository.getAccess().getTermsOfUse()) { builder.addLabel(labels.getString("eag2012.accessAndServices.termsOfUse"), cc.xy(1, rowNb)); TextAreaWithLanguage textAreaWithLanguage = new TextAreaWithLanguage(termsOfUse.getContent(), termsOfUse.getLang(), termsOfUse.getHref()); termsOfUseTfs.add(textAreaWithLanguage); builder.add(textAreaWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textAreaWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.accessAndServices.link"), cc.xy(1, rowNb)); builder.add(textAreaWithLanguage.getExtraField(), cc.xy(3, rowNb)); setNextRow(); if (errors.contains("termsOfUseTfs")) { if (StringUtils.isNotBlank(textAreaWithLanguage.getExtraField().getText()) && !StringUtils .startsWithAny(textAreaWithLanguage.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } else if (StringUtils.isNotBlank(textAreaWithLanguage.getExtraField().getText()) && !StringUtils.startsWithAny(textAreaWithLanguage.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } //ad further button JButton addTermsOfUseBtn = new ButtonTab( labels.getString("eag2012.accessAndServices.addFurtherTermsOfUse")); builder.add(addTermsOfUseBtn, cc.xy(1, rowNb)); addTermsOfUseBtn.addActionListener(new addTermsOfUseBtnAction(eag, tabbedPane, model)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.disabledAccess") + "*", cc.xy(1, rowNb)); if (repository.getAccessibility().size() > 0 && Arrays.asList(yesOrNo).contains(repository.getAccessibility().get(0).getQuestion())) { facilitiesForDisabledCombo.setSelectedItem(repository.getAccessibility().get(0).getQuestion()); } builder.add(facilitiesForDisabledCombo, cc.xy(3, rowNb)); setNextRow(); //facilities for disabled persons accessibilityTfs = new ArrayList<TextAreaWithLanguage>(repository.getAccessibility().size()); for (Accessibility accessibility : repository.getAccessibility()) { builder.addLabel(labels.getString("eag2012.commons.disabledAccess.facilities"), cc.xy(1, rowNb)); TextAreaWithLanguage textAreaWithLanguage = new TextAreaWithLanguage(accessibility.getContent(), accessibility.getLang()); accessibilityTfs.add(textAreaWithLanguage); builder.add(textAreaWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textAreaWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); if (last-- == 0) { JButton addAccessibilityBtn = new ButtonTab( labels.getString("eag2012.yourinstitution.addInfoOnExistingFacilities")); builder.add(addAccessibilityBtn, cc.xy(7, rowNb)); addAccessibilityBtn.addActionListener(new AddAccessibilityBtnAction(eag, tabbedPane, model)); } setNextRow(); } //add button JButton addFacilitiesForDisabledBtn = new ButtonTab( labels.getString("eag2012.accessAndServices.addFurtherFacilitiesForDisabled")); builder.add(addFacilitiesForDisabledBtn, cc.xy(1, rowNb)); addFacilitiesForDisabledBtn .addActionListener(new addFacilitiesForDisabledBtnAction(eag, tabbedPane, model)); setNextRow(); builder.addSeparator(labels.getString("eag2012.accessAndServices.searchroom"), cc.xyw(1, rowNb, 7)); setNextRow(); if (repository.getServices() == null) repository.setServices(new Services()); if (repository.getServices().getSearchroom() == null) repository.getServices().setSearchroom(new Searchroom()); Searchroom searchroom = repository.getServices().getSearchroom(); if (searchroom.getContact() == null) searchroom.setContact(new Contact()); //(searchroom.getContact().getTelephone() builder.addLabel(labels.getString("eag2012.commons.telephone"), cc.xy(1, rowNb)); int i = 0; telephoneSearchroomTf = new ArrayList<JTextField>(searchroom.getContact().getTelephone().size()); for (Telephone telephone : searchroom.getContact().getTelephone()) { JTextField telephoneTf = new JTextField(telephone.getContent()); telephoneSearchroomTf.add(telephoneTf); builder.add(telephoneTf, cc.xy(3, rowNb)); if (i++ == 0) { JButton addtelephoneSearchroomTfBtn = new ButtonTab( labels.getString("eag2012.contact.addFurtherTelephoneNumbers")); addtelephoneSearchroomTfBtn .addActionListener(new AddTelephoneSearchroomBtnAction(eag, tabbedPane, model)); builder.add(addtelephoneSearchroomTfBtn, cc.xy(5, rowNb)); } setNextRow(); } if (searchroom.getContact().getTelephone().size() == 0) { JTextField telephoneTf = new JTextField(); telephoneSearchroomTf.add(telephoneTf); builder.add(telephoneTf, cc.xy(3, rowNb)); JButton addtelephoneSearchroomTfBtn = new ButtonTab( labels.getString("eag2012.contact.addFurtherTelephoneNumbers")); addtelephoneSearchroomTfBtn .addActionListener(new AddTelephoneSearchroomBtnAction(eag, tabbedPane, model)); builder.add(addtelephoneSearchroomTfBtn, cc.xy(5, rowNb)); setNextRow(); } //searchroom.getContact().getEmail() emailSearchroomTf = new ArrayList<JTextField>(searchroom.getContact().getEmail().size()); emailTitleSearchroomTf = new ArrayList<JTextField>(searchroom.getContact().getEmail().size()); if (searchroom.getContact().getEmail().size() == 0) searchroom.getContact().getEmail().add(new Email()); for (Email email : searchroom.getContact().getEmail()) { JTextField emailTf = new JTextField(email.getHref()); JTextField emailTitleTf = new JTextField(email.getContent()); emailSearchroomTf.add(emailTf); emailTitleSearchroomTf.add(emailTitleTf); builder.addLabel(labels.getString("eag2012.commons.email"), cc.xy(1, rowNb)); builder.add(emailTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(emailTitleTf, cc.xy(7, rowNb)); setNextRow(); } JButton addEmailSearchroomBtn = new ButtonTab(labels.getString("eag2012.commons.addEmail")); addEmailSearchroomBtn.addActionListener(new AddEmailSearchroomAction(eag, tabbedPane, model)); builder.add(addEmailSearchroomBtn, cc.xy(1, rowNb)); setNextRow(); //searchroom.getWebpage() webpageSearchroomTf = new ArrayList<JTextField>(searchroom.getWebpage().size()); webpageTitleSearchroomTf = new ArrayList<JTextField>(searchroom.getWebpage().size()); if (searchroom.getWebpage().size() == 0) searchroom.getWebpage().add(new Webpage()); for (Webpage webpage : searchroom.getWebpage()) { JTextField webpageTf = new JTextField(webpage.getHref()); JTextField webpageTitleTf = new JTextField(webpage.getContent()); webpageTitleSearchroomTf.add(webpageTitleTf); webpageSearchroomTf.add(webpageTf); builder.addLabel(labels.getString("eag2012.commons.webpage"), cc.xy(1, rowNb)); builder.add(webpageTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(webpageTitleTf, cc.xy(7, rowNb)); setNextRow(); if (errors.contains("webpageSearchroomTf")) { if (StringUtils.isNotBlank(webpageTf.getText()) && !StringUtils.startsWithAny(webpageTf.getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xyw(1, rowNb, 3)); setNextRow(); } } else if (StringUtils.isNotBlank(webpageTf.getText()) && !StringUtils.startsWithAny(webpageTf.getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xyw(1, rowNb, 3)); setNextRow(); } } JButton addWebpageSearchroomBtn = new ButtonTab(labels.getString("eag2012.commons.addWebpage")); addWebpageSearchroomBtn.addActionListener(new AddWebpageSearchroomAction(eag, tabbedPane, model)); builder.add(addWebpageSearchroomBtn, cc.xy(1, rowNb)); setNextRow(); if (searchroom.getWorkPlaces() == null) searchroom.setWorkPlaces(new WorkPlaces()); builder.addLabel(labels.getString("eag2012.commons.workPlaces"), cc.xy(1, rowNb)); try { workplacesSearchroomTf = new JTextField(searchroom.getWorkPlaces().getNum().getContent()); } catch (NullPointerException npe) { workplacesSearchroomTf = new JTextField(); } builder.add(workplacesSearchroomTf, cc.xy(3, rowNb)); setNextRow(); if (searchroom.getComputerPlaces() == null) { ComputerPlaces computerPlaces = new ComputerPlaces(); Num num = new Num(); num.setUnit("site"); computerPlaces.setNum(num); searchroom.setComputerPlaces(computerPlaces); } builder.addLabel(labels.getString("eag2012.accessAndServices.computerPlaces"), cc.xy(1, rowNb)); computerplacesSearchroomTf = new JTextField(searchroom.getComputerPlaces().getNum().getContent()); builder.add(computerplacesSearchroomTf, cc.xy(3, rowNb)); if (searchroom.getComputerPlaces().getDescriptiveNote() == null) { JButton addDescriptionBtn = new ButtonTab(labels.getString("eag2012.accessAndServices.addDescription")); builder.add(addDescriptionBtn, cc.xy(5, rowNb)); addDescriptionBtn.addActionListener(new AddComputerplacesDescriptionBtnAction(eag, tabbedPane, model)); } setNextRow(); if (searchroom.getComputerPlaces().getDescriptiveNote() != null) { computerplacesDescriptionTfs = new ArrayList<TextFieldWithLanguage>( searchroom.getComputerPlaces().getDescriptiveNote().getP().size()); for (P p : searchroom.getComputerPlaces().getDescriptiveNote().getP()) { builder.addLabel(labels.getString("eag2012.commons.computerplacesDescription"), cc.xy(1, rowNb)); TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage(p.getContent(), p.getLang()); computerplacesDescriptionTfs.add(textFieldWithLanguage); builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); } JButton addDescriptionBtn = new ButtonTab(labels.getString("eag2012.accessAndServices.addDescription")); builder.add(addDescriptionBtn, cc.xy(5, rowNb)); addDescriptionBtn.addActionListener(new AddComputerplacesDescriptionBtnAction(eag, tabbedPane, model)); setNextRow(); } if (searchroom.getMicrofilmPlaces() == null) { MicrofilmPlaces microfilmPlaces = new MicrofilmPlaces(); Num num = new Num(); num.setUnit("site"); microfilmPlaces.setNum(num); searchroom.setMicrofilmPlaces(microfilmPlaces); } if (searchroom.getPhotographAllowance() == null) { searchroom.setPhotographAllowance(new PhotographAllowance()); } builder.addLabel(labels.getString("eag2012.accessAndServices.microfilmPlaces"), cc.xy(1, rowNb)); microfilmplacesSearchroomTf = new JTextField(searchroom.getMicrofilmPlaces().getNum().getContent()); builder.add(microfilmplacesSearchroomTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.accessAndServices.photographAllowance"), cc.xy(5, rowNb)); if (Arrays.asList(photographAllowance).contains(searchroom.getPhotographAllowance().getValue())) { photographAllowanceCombo.setSelectedItem(searchroom.getPhotographAllowance().getValue()); } else { photographAllowanceCombo.setSelectedItem("---"); } builder.add(photographAllowanceCombo, cc.xy(7, rowNb)); setNextRow(); if (searchroom.getReadersTicket().size() == 0) searchroom.getReadersTicket().add(new ReadersTicket()); readersticketSearchroomTfs = new ArrayList<TextFieldWithLanguage>(searchroom.getReadersTicket().size()); for (ReadersTicket readersTicket : searchroom.getReadersTicket()) { builder.addLabel(labels.getString("eag2012.accessAndServices.readersTicket"), cc.xy(1, rowNb)); TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage(readersTicket.getContent(), readersTicket.getLang(), readersTicket.getHref()); readersticketSearchroomTfs.add(textFieldWithLanguage); builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.accessAndServices.link"), cc.xy(1, rowNb)); builder.add(textFieldWithLanguage.getExtraField(), cc.xy(3, rowNb)); setNextRow(); if (errors.contains("readersticketSearchroomTfs")) { if (StringUtils.isNotBlank(textFieldWithLanguage.getExtraField().getText()) && !StringUtils .startsWithAny(textFieldWithLanguage.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } else if (StringUtils.isNotBlank(textFieldWithLanguage.getExtraField().getText()) && !StringUtils.startsWithAny(textFieldWithLanguage.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } JButton addReadersticketBtn = new ButtonTab(labels.getString("eag2012.accessAndServices.addReadersTicket")); builder.add(addReadersticketBtn, cc.xy(1, rowNb)); addReadersticketBtn.addActionListener(new AddReadersticketBtnAction(eag, tabbedPane, model)); setNextRow(); if (searchroom.getAdvancedOrders().size() == 0) searchroom.getAdvancedOrders().add(new AdvancedOrders()); advancedordersSearchroomTfs = new ArrayList<TextFieldWithLanguage>(searchroom.getAdvancedOrders().size()); for (AdvancedOrders advancedOrders : searchroom.getAdvancedOrders()) { builder.addLabel(labels.getString("eag2012.accessAndServices.advancedOrders"), cc.xy(1, rowNb)); TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage(advancedOrders.getContent(), advancedOrders.getLang(), advancedOrders.getHref()); advancedordersSearchroomTfs.add(textFieldWithLanguage); builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.accessAndServices.link"), cc.xy(1, rowNb)); builder.add(textFieldWithLanguage.getExtraField(), cc.xy(3, rowNb)); setNextRow(); if (errors.contains("advancedordersSearchroomTfs")) { if (StringUtils.isNotBlank(textFieldWithLanguage.getExtraField().getText()) && !StringUtils .startsWithAny(textFieldWithLanguage.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } else if (StringUtils.isNotBlank(textFieldWithLanguage.getExtraField().getText()) && !StringUtils.startsWithAny(textFieldWithLanguage.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } JButton addAdvancedordersBtn = new ButtonTab(labels.getString("eag2012.control.advancedOrders")); builder.add(addAdvancedordersBtn, cc.xy(1, rowNb)); addAdvancedordersBtn.addActionListener(new AddAdvancedordersBtnAction(eag, tabbedPane, model)); setNextRow(); if (searchroom.getResearchServices().size() == 0) { DescriptiveNote descriptiveNote = new DescriptiveNote(); descriptiveNote.getP().add(new P()); ResearchServices researchServices = new ResearchServices(); researchServices.setDescriptiveNote(descriptiveNote); searchroom.getResearchServices().add(researchServices); } researchServicesSearchroomTfs = new ArrayList<TextFieldWithLanguage>( searchroom.getResearchServices().size()); for (ResearchServices researchServices : searchroom.getResearchServices()) { if (researchServices.getDescriptiveNote() == null) { DescriptiveNote descriptiveNote = new DescriptiveNote(); descriptiveNote.setP(new ArrayList<P>() { { add(new P()); } }); researchServices.setDescriptiveNote(descriptiveNote); } builder.addLabel(labels.getString("eag2012.accessAndServices.researchServices"), cc.xy(1, rowNb)); TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage( researchServices.getDescriptiveNote().getP().get(0).getContent(), researchServices.getDescriptiveNote().getP().get(0).getLang()); researchServicesSearchroomTfs.add(textFieldWithLanguage); builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); } JButton addResearchservicesBtn = new ButtonTab( labels.getString("eag2012.accessAndServices.addResearchservices")); builder.add(addResearchservicesBtn, cc.xy(1, rowNb)); addResearchservicesBtn.addActionListener(new AddResearchservicesBtnAction(eag, tabbedPane, model)); setNextRow(); builder.addSeparator(labels.getString("eag2012.accessAndServices.library"), cc.xyw(1, rowNb, 7)); setNextRow(); if (repository.getServices().getLibrary() == null) repository.getServices().setLibrary(new Library()); Library library = repository.getServices().getLibrary(); if (library.getContact() == null) library.setContact(new Contact()); //LibrarygetContact().getTelephone() builder.addLabel(labels.getString("eag2012.commons.telephone"), cc.xy(1, rowNb)); i = 0; telephoneLibraryTf = new ArrayList<JTextField>(library.getContact().getTelephone().size()); for (Telephone telephone : library.getContact().getTelephone()) { JTextField telephoneTf = new JTextField(telephone.getContent()); telephoneLibraryTf.add(telephoneTf); builder.add(telephoneTf, cc.xy(3, rowNb)); if (i++ == 0) { JButton addtelephoneLibraryTfBtn = new ButtonTab( labels.getString("eag2012.contact.addFurtherTelephoneNumbers")); addtelephoneLibraryTfBtn .addActionListener(new addTelephoneLibraryTfBtnAction(eag, tabbedPane, model)); builder.add(addtelephoneLibraryTfBtn, cc.xy(5, rowNb)); } setNextRow(); } if (library.getContact().getTelephone().size() == 0) { JTextField telephoneTf = new JTextField(); telephoneLibraryTf.add(telephoneTf); builder.add(telephoneTf, cc.xy(3, rowNb)); JButton addtelephoneLibraryTfBtn = new ButtonTab( labels.getString("eag2012.contact.addFurtherTelephoneNumbers")); addtelephoneLibraryTfBtn.addActionListener(new addTelephoneLibraryTfBtnAction(eag, tabbedPane, model)); builder.add(addtelephoneLibraryTfBtn, cc.xy(5, rowNb)); setNextRow(); } //library.getContact().getEmail() emailLibraryTf = new ArrayList<JTextField>(library.getContact().getEmail().size()); emailTitleLibraryTf = new ArrayList<JTextField>(library.getContact().getEmail().size()); if (library.getContact().getEmail().size() == 0) library.getContact().getEmail().add(new Email()); for (Email email : library.getContact().getEmail()) { JTextField emailTf = new JTextField(email.getHref()); JTextField emailTitleTf = new JTextField(email.getContent()); emailLibraryTf.add(emailTf); emailTitleLibraryTf.add(emailTitleTf); builder.addLabel(labels.getString("eag2012.commons.email"), cc.xy(1, rowNb)); builder.add(emailTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(emailTitleTf, cc.xy(7, rowNb)); setNextRow(); } JButton addEmailLibraryBtn = new ButtonTab(labels.getString("eag2012.commons.addEmail")); addEmailLibraryBtn.addActionListener(new AddEmailLibraryAction(eag, tabbedPane, model)); builder.add(addEmailLibraryBtn, cc.xy(1, rowNb)); setNextRow(); //library.getWebpage() webpageLibraryTf = new ArrayList<JTextField>(library.getWebpage().size()); webpageTitleLibraryTf = new ArrayList<JTextField>(library.getWebpage().size()); if (library.getWebpage().size() == 0) library.getWebpage().add(new Webpage()); for (Webpage webpage : library.getWebpage()) { JTextField webpageTf = new JTextField(webpage.getHref()); JTextField webpageTitleTf = new JTextField(webpage.getContent()); webpageTitleLibraryTf.add(webpageTitleTf); webpageLibraryTf.add(webpageTf); builder.addLabel(labels.getString("eag2012.commons.webpage"), cc.xy(1, rowNb)); builder.add(webpageTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(webpageTitleTf, cc.xy(7, rowNb)); setNextRow(); if (errors.contains("webpageLibraryTf")) { if (StringUtils.isNotBlank(webpageTf.getText()) && !StringUtils.startsWithAny(webpageTf.getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xyw(1, rowNb, 3)); setNextRow(); } } else if (StringUtils.isNotBlank(webpageTf.getText()) && !StringUtils.startsWithAny(webpageTf.getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xyw(1, rowNb, 3)); setNextRow(); } } JButton addEbpageLibraryBtn = new ButtonTab(labels.getString("eag2012.commons.addWebpage")); addEbpageLibraryBtn.addActionListener(new AddWebpageLibraryAction(eag, tabbedPane, model)); builder.add(addEbpageLibraryBtn, cc.xy(1, rowNb)); setNextRow(); if (library.getMonographicpub() == null) { Monographicpub monographicpub = new Monographicpub(); Num num = new Num(); num.setUnit("site"); monographicpub.setNum(num); library.setMonographicpub(monographicpub); } if (library.getSerialpub() == null) { Serialpub serialpub = new Serialpub(); Num num = new Num(); num.setUnit("site"); serialpub.setNum(num); library.setSerialpub(serialpub); } builder.addLabel(labels.getString("eag2012.accessAndServices.monographicPublication"), cc.xy(1, rowNb)); monographicPubLibraryTf = new JTextField(library.getMonographicpub().getNum().getContent()); builder.add(monographicPubLibraryTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.accessAndServices.serialPublication"), cc.xy(5, rowNb)); serialPubLibraryTf = new JTextField(library.getSerialpub().getNum().getContent()); builder.add(serialPubLibraryTf, cc.xy(7, rowNb)); setNextRow(); builder.addSeparator(labels.getString("eag2012.accessAndServices.internetAccess"), cc.xyw(1, rowNb, 7)); setNextRow(); // public Internet access if (repository.getServices().getInternetAccess() == null) { DescriptiveNote descriptiveNote = new DescriptiveNote(); descriptiveNote.getP().add(new P()); InternetAccess internetAccess = new InternetAccess(); internetAccess.setDescriptiveNote(descriptiveNote); repository.getServices().setInternetAccess(internetAccess); } InternetAccess internetAccess = repository.getServices().getInternetAccess(); internetAccessDescTfs = new ArrayList<TextFieldWithLanguage>( internetAccess.getDescriptiveNote().getP().size()); for (P p : internetAccess.getDescriptiveNote().getP()) { TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage(p.getContent(), p.getLang()); internetAccessDescTfs.add(textFieldWithLanguage); builder.addLabel(labels.getString("eag2012.accessAndServices.description"), cc.xy(1, rowNb)); builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); } JButton addInternetAccessBtn = new ButtonTab(labels.getString("eag2012.isil.addInternetAccess")); builder.add(addInternetAccessBtn, cc.xy(1, rowNb)); addInternetAccessBtn.addActionListener(new AddInternetAccessBtnAction(eag, tabbedPane, model)); setNextRow(); // technical services builder.addSeparator(labels.getString("eag2012.accessAndServices.technicalServices"), cc.xyw(1, rowNb, 7)); setNextRow(); builder.addSeparator(labels.getString("eag2012.accessAndServices.conservationLab"), cc.xyw(1, rowNb, 7)); setNextRow(); if (repository.getServices().getTechservices() == null) repository.getServices().setTechservices(new Techservices()); if (repository.getServices().getTechservices().getRestorationlab() == null) repository.getServices().getTechservices().setRestorationlab(new Restorationlab()); Restorationlab restorationlab = repository.getServices().getTechservices().getRestorationlab(); if (restorationlab.getDescriptiveNote() == null) restorationlab.setDescriptiveNote(new DescriptiveNote()); if (restorationlab.getDescriptiveNote().getP().size() == 0) restorationlab.getDescriptiveNote().getP().add(new P()); // description for restoration descriptionRestorationServiceTfs = new ArrayList<TextFieldWithLanguage>( restorationlab.getDescriptiveNote().getP().size()); for (P p : restorationlab.getDescriptiveNote().getP()) { TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage(p.getContent(), p.getLang()); descriptionRestorationServiceTfs.add(textFieldWithLanguage); builder.addLabel(labels.getString("eag2012.accessAndServices.description"), cc.xy(1, rowNb)); builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); } JButton addDescriptionRestorationBtn = new ButtonTab( labels.getString("eag2012.accessAndServices.addDescriptionTranslation"), true); builder.add(addDescriptionRestorationBtn, cc.xy(1, rowNb)); addDescriptionRestorationBtn .addActionListener(new AddDescriptionRestorationBtnAction(eag, tabbedPane, model)); setNextRow(); if (restorationlab.getContact() == null) restorationlab.setContact(new Contact()); //restorationlab.getContact().getTelephone() builder.addLabel(labels.getString("eag2012.commons.telephone"), cc.xy(1, rowNb)); i = 0; telephoneRestorationlabTf = new ArrayList<JTextField>(restorationlab.getContact().getTelephone().size()); for (Telephone telephone : restorationlab.getContact().getTelephone()) { JTextField telephoneTf = new JTextField(telephone.getContent()); telephoneRestorationlabTf.add(telephoneTf); builder.add(telephoneTf, cc.xy(3, rowNb)); if (i++ == 0) { JButton addtelephoneRestorationlabTfBtn = new ButtonTab( labels.getString("eag2012.contact.addFurtherTelephoneNumbers")); addtelephoneRestorationlabTfBtn .addActionListener(new AddTelephoneRestorationlabTfBtnAction(eag, tabbedPane, model)); builder.add(addtelephoneRestorationlabTfBtn, cc.xy(5, rowNb)); } setNextRow(); } if (restorationlab.getContact().getTelephone().size() == 0) { JTextField telephoneTf = new JTextField(); telephoneRestorationlabTf.add(telephoneTf); builder.add(telephoneTf, cc.xy(3, rowNb)); JButton addtelephoneRestorationlabTfBtn = new ButtonTab( labels.getString("eag2012.contact.addFurtherTelephoneNumbers")); addtelephoneRestorationlabTfBtn .addActionListener(new AddTelephoneRestorationlabTfBtnAction(eag, tabbedPane, model)); builder.add(addtelephoneRestorationlabTfBtn, cc.xy(5, rowNb)); setNextRow(); } //Restoration.getContact().getEmail() emailRestorationlabTf = new ArrayList<JTextField>(restorationlab.getContact().getEmail().size()); emailTitleRestorationlabTf = new ArrayList<JTextField>(restorationlab.getContact().getEmail().size()); if (restorationlab.getContact().getEmail().size() == 0) restorationlab.getContact().getEmail().add(new Email()); for (Email email : restorationlab.getContact().getEmail()) { JTextField emailTf = new JTextField(email.getHref()); JTextField emailTitleTf = new JTextField(email.getContent()); emailRestorationlabTf.add(emailTf); emailTitleRestorationlabTf.add(emailTitleTf); builder.addLabel(labels.getString("eag2012.commons.email"), cc.xy(1, rowNb)); builder.add(emailTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(emailTitleTf, cc.xy(7, rowNb)); setNextRow(); } JButton addEmaiRestorationlabBtn = new ButtonTab(labels.getString("eag2012.commons.addEmail")); addEmaiRestorationlabBtn.addActionListener(new AddEmailRestorationAction(eag, tabbedPane, model)); builder.add(addEmaiRestorationlabBtn, cc.xy(1, rowNb)); setNextRow(); //restorationlab.getWebpage() webpageRestorationlabTf = new ArrayList<JTextField>(restorationlab.getWebpage().size()); webpageTitleRestorationlabTf = new ArrayList<JTextField>(restorationlab.getWebpage().size()); if (restorationlab.getWebpage().size() == 0) restorationlab.getWebpage().add(new Webpage()); for (Webpage webpage : restorationlab.getWebpage()) { JTextField webpageTf = new JTextField(webpage.getHref()); JTextField webpageTitleTf = new JTextField(webpage.getContent()); webpageTitleRestorationlabTf.add(webpageTitleTf); webpageRestorationlabTf.add(webpageTf); builder.addLabel(labels.getString("eag2012.commons.webpage"), cc.xy(1, rowNb)); builder.add(webpageTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(webpageTitleTf, cc.xy(7, rowNb)); setNextRow(); if (errors.contains("webpageRestorationlabTf")) { if (StringUtils.isNotBlank(webpageTf.getText()) && !StringUtils.startsWithAny(webpageTf.getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xyw(1, rowNb, 3)); setNextRow(); } } else if (StringUtils.isNotBlank(webpageTf.getText()) && !StringUtils.startsWithAny(webpageTf.getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xyw(1, rowNb, 3)); setNextRow(); } } JButton addWebpageRestorationlabBtn = new ButtonTab(labels.getString("eag2012.commons.addWebpage")); addWebpageRestorationlabBtn.addActionListener(new AddWebpageRestorationAction(eag, tabbedPane, model)); builder.add(addWebpageRestorationlabBtn, cc.xy(1, rowNb)); setNextRow(); builder.addSeparator(labels.getString("eag2012.accessAndServices.reproductionService"), cc.xyw(1, rowNb, 7)); setNextRow(); if (repository.getServices().getTechservices().getReproductionser() == null) repository.getServices().getTechservices().setReproductionser(new Reproductionser()); Reproductionser reproductionser = repository.getServices().getTechservices().getReproductionser(); if (reproductionser.getDescriptiveNote() == null) reproductionser.setDescriptiveNote(new DescriptiveNote()); if (reproductionser.getDescriptiveNote().getP().size() == 0) reproductionser.getDescriptiveNote().getP().add(new P()); descriptionReproductionServiceTfs = new ArrayList<TextFieldWithLanguage>( reproductionser.getDescriptiveNote().getP().size()); for (P p : reproductionser.getDescriptiveNote().getP()) { TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage(p.getContent(), p.getLang()); descriptionReproductionServiceTfs.add(textFieldWithLanguage); builder.addLabel(labels.getString("eag2012.accessAndServices.description"), cc.xy(1, rowNb)); builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); } JButton addDescriptionReproductionBtn = new ButtonTab( labels.getString("eag2012.accessAndServices.addDescriptionTranslation"), true); builder.add(addDescriptionReproductionBtn, cc.xy(1, rowNb)); addDescriptionReproductionBtn .addActionListener(new AddDescriptionReproductionBtnAction(eag, tabbedPane, model)); setNextRow(); if (reproductionser.getContact() == null) reproductionser.setContact(new Contact()); builder.addLabel(labels.getString("eag2012.commons.telephone"), cc.xy(1, rowNb)); i = 0; //reproductionser.getContact().getTelephone() telephoneReproductionServiceTf = new ArrayList<JTextField>( reproductionser.getContact().getTelephone().size()); for (Telephone telephone : reproductionser.getContact().getTelephone()) { JTextField telephoneTf = new JTextField(telephone.getContent()); telephoneReproductionServiceTf.add(telephoneTf); builder.add(telephoneTf, cc.xy(3, rowNb)); if (i++ == 0) { JButton addtelephoneReproductionServiceTfBtn = new ButtonTab( labels.getString("eag2012.contact.addFurtherTelephoneNumbers")); addtelephoneReproductionServiceTfBtn .addActionListener(new AddTelephoneReproductionServiceTfBtnAction(eag, tabbedPane, model)); builder.add(addtelephoneReproductionServiceTfBtn, cc.xy(5, rowNb)); } setNextRow(); } if (reproductionser.getContact().getTelephone().size() == 0) { JTextField telephoneTf = new JTextField(); telephoneReproductionServiceTf.add(telephoneTf); builder.add(telephoneTf, cc.xy(3, rowNb)); JButton addtelephoneRestorationlabTfBtn = new ButtonTab( labels.getString("eag2012.contact.addFurtherTelephoneNumbers")); addtelephoneRestorationlabTfBtn .addActionListener(new AddTelephoneReproductionServiceTfBtnAction(eag, tabbedPane, model)); builder.add(addtelephoneRestorationlabTfBtn, cc.xy(5, rowNb)); setNextRow(); } //Reproductionser.getContact().getEmail() emailReproductionServiceTf = new ArrayList<JTextField>(reproductionser.getContact().getEmail().size()); emailTitleReproductionServiceTf = new ArrayList<JTextField>(reproductionser.getContact().getEmail().size()); if (reproductionser.getContact().getEmail().size() == 0) reproductionser.getContact().getEmail().add(new Email()); for (Email email : reproductionser.getContact().getEmail()) { JTextField emailTf = new JTextField(email.getHref()); JTextField emailTitleTf = new JTextField(email.getContent()); emailReproductionServiceTf.add(emailTf); emailTitleReproductionServiceTf.add(emailTitleTf); builder.addLabel(labels.getString("eag2012.commons.email"), cc.xy(1, rowNb)); builder.add(emailTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(emailTitleTf, cc.xy(7, rowNb)); setNextRow(); } JButton addEmaiReproductionServiceBtn = new ButtonTab(labels.getString("eag2012.commons.addEmail")); addEmaiReproductionServiceBtn .addActionListener(new AddEmailReproductionServiceBtnAction(eag, tabbedPane, model)); builder.add(addEmaiReproductionServiceBtn, cc.xy(1, rowNb)); setNextRow(); //reproductionser.getWebpage() webpageReproductionServiceTf = new ArrayList<JTextField>(reproductionser.getWebpage().size()); webpageTitleReproductionServiceTf = new ArrayList<JTextField>(reproductionser.getWebpage().size()); if (reproductionser.getWebpage().size() == 0) reproductionser.getWebpage().add(new Webpage()); for (Webpage webpage : reproductionser.getWebpage()) { JTextField webpageTf = new JTextField(webpage.getHref()); JTextField webpageTitleTf = new JTextField(webpage.getContent()); webpageTitleReproductionServiceTf.add(webpageTitleTf); webpageReproductionServiceTf.add(webpageTf); builder.addLabel(labels.getString("eag2012.commons.webpage"), cc.xy(1, rowNb)); builder.add(webpageTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(webpageTitleTf, cc.xy(7, rowNb)); setNextRow(); if (errors.contains("webpageReproductionServiceTf")) { if (StringUtils.isNotBlank(webpageTf.getText()) && !StringUtils.startsWithAny(webpageTf.getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xyw(1, rowNb, 3)); setNextRow(); } } else if (StringUtils.isNotBlank(webpageTf.getText()) && !StringUtils.startsWithAny(webpageTf.getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xyw(1, rowNb, 3)); setNextRow(); } } JButton addWebpageReproductionserBtn = new ButtonTab(labels.getString("eag2012.commons.addWebpage")); addWebpageReproductionserBtn.addActionListener(new AddWebpageReproductionserAction(eag, tabbedPane, model)); builder.add(addWebpageReproductionserBtn, cc.xy(1, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.accessAndServices.microformServices"), cc.xy(1, rowNb)); if (reproductionser.getMicroformser() == null) reproductionser.setMicroformser(new Microformser()); if (Arrays.asList(yesOrNo).contains(reproductionser.getMicroformser().getQuestion())) { microformServicesCombo.setSelectedItem(reproductionser.getMicroformser().getQuestion()); } else { microformServicesCombo.setSelectedItem("---"); } builder.add(microformServicesCombo, cc.xy(3, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.accessAndServices.photographServices"), cc.xy(1, rowNb)); if (reproductionser.getPhotographser() == null) reproductionser.setPhotographser(new Photographser()); if (Arrays.asList(yesOrNo).contains(reproductionser.getPhotographser().getQuestion())) { photographServicesCombo.setSelectedItem(reproductionser.getPhotographser().getQuestion()); } else { photographServicesCombo.setSelectedItem("---"); } builder.add(photographServicesCombo, cc.xy(3, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.accessAndServices.digitalServices"), cc.xy(1, rowNb)); if (reproductionser.getDigitalser() == null) reproductionser.setDigitalser(new Digitalser()); if (Arrays.asList(yesOrNo).contains(reproductionser.getDigitalser().getQuestion())) { digitalServicesCombo.setSelectedItem(reproductionser.getDigitalser().getQuestion()); } else { digitalServicesCombo.setSelectedItem("---"); } builder.add(digitalServicesCombo, cc.xy(3, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.accessAndServices.photocopyServices"), cc.xy(1, rowNb)); if (reproductionser.getPhotocopyser() == null) reproductionser.setPhotocopyser(new Photocopyser()); if (Arrays.asList(yesOrNo).contains(reproductionser.getPhotocopyser().getQuestion())) { photocopyServicesCombo.setSelectedItem(reproductionser.getPhotocopyser().getQuestion()); } else { photocopyServicesCombo.setSelectedItem("---"); } builder.add(photocopyServicesCombo, cc.xy(3, rowNb)); setNextRow(); builder.addSeparator(labels.getString("eag2012.accessAndServices.recreationalServices"), cc.xyw(1, rowNb, 7)); setNextRow(); if (repository.getServices().getRecreationalServices() == null) repository.getServices().setRecreationalServices(new RecreationalServices()); RecreationalServices recreationalServices = repository.getServices().getRecreationalServices(); if (recreationalServices.getRefreshment() == null) { DescriptiveNote descriptiveNote = new DescriptiveNote(); descriptiveNote.getP().add(new P()); Refreshment refreshment = new Refreshment(); refreshment.setDescriptiveNote(descriptiveNote); recreationalServices.setRefreshment(refreshment); } builder.addLabel(labels.getString("eag2012.accessAndServices.refreshment"), cc.xy(1, rowNb)); refreshmentTf = new TextAreaWithLanguage( recreationalServices.getRefreshment().getDescriptiveNote().getP().get(0).getContent(), recreationalServices.getRefreshment().getDescriptiveNote().getP().get(0).getLang()); builder.add(refreshmentTf.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(refreshmentTf.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); if (recreationalServices.getExhibition().size() == 0) { recreationalServices.getExhibition().add(new Exhibition()); } exhibitionTfs = new ArrayList<TextAreaWithLanguage>(recreationalServices.getExhibition().size()); for (Exhibition exhibition : recreationalServices.getExhibition()) { if (exhibition.getDescriptiveNote() == null) { DescriptiveNote descriptiveNote = new DescriptiveNote(); descriptiveNote.getP().add(new P()); exhibition.setDescriptiveNote(descriptiveNote); exhibition.setWebpage(new Webpage()); } builder.addLabel(labels.getString("eag2012.accessAndServices.exhibition"), cc.xy(1, rowNb)); if (exhibition.getWebpage() == null) { exhibition.setWebpage(new Webpage()); } TextAreaWithLanguage exhibitionTf = new TextAreaWithLanguage( exhibition.getDescriptiveNote().getP().get(0).getContent(), exhibition.getDescriptiveNote().getP().get(0).getLang(), exhibition.getWebpage().getHref(), exhibition.getWebpage().getContent()); exhibitionTfs.add(exhibitionTf); builder.add(exhibitionTf.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(exhibitionTf.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.webpage"), cc.xy(1, rowNb)); builder.add(exhibitionTf.getExtraField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(exhibitionTf.getSecondExtraField(), cc.xy(7, rowNb)); setNextRow(); if (errors.contains("exhibitionTfs")) { if (StringUtils.isNotBlank(exhibitionTf.getExtraField().getText()) && !StringUtils.startsWithAny(exhibitionTf.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } else if (StringUtils.isNotBlank(exhibitionTf.getExtraField().getText()) && !StringUtils.startsWithAny(exhibitionTf.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } JButton addExhibitionsBtn = new ButtonTab(labels.getString("eag2012.accessAndServices.addExhibitions")); builder.add(addExhibitionsBtn, cc.xy(1, rowNb)); addExhibitionsBtn.addActionListener(new AddExhibitionsBtnAction(eag, tabbedPane, model)); setNextRow(); if (recreationalServices.getToursSessions().size() == 0) { recreationalServices.getToursSessions().add(new ToursSessions()); } toursAndSessionsTfs = new ArrayList<TextAreaWithLanguage>(recreationalServices.getToursSessions().size()); for (ToursSessions toursSessions : recreationalServices.getToursSessions()) { if (toursSessions.getDescriptiveNote() == null) { DescriptiveNote descriptiveNote = new DescriptiveNote(); descriptiveNote.getP().add(new P()); toursSessions.setDescriptiveNote(descriptiveNote); toursSessions.setWebpage(new Webpage()); } builder.addLabel(labels.getString("eag2012.accessAndServices.toursAndSessions"), cc.xy(1, rowNb)); if (toursSessions.getWebpage() == null) { toursSessions.setWebpage(new Webpage()); } TextAreaWithLanguage textAreaWithLanguage = new TextAreaWithLanguage( toursSessions.getDescriptiveNote().getP().get(0).getContent(), toursSessions.getDescriptiveNote().getP().get(0).getLang(), toursSessions.getWebpage().getHref(), toursSessions.getWebpage().getContent()); toursAndSessionsTfs.add(textAreaWithLanguage); builder.add(textAreaWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textAreaWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.webpage"), cc.xy(1, rowNb)); builder.add(textAreaWithLanguage.getExtraField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(textAreaWithLanguage.getSecondExtraField(), cc.xy(7, rowNb)); setNextRow(); if (errors.contains("toursAndSessionsTfs")) { if (StringUtils.isNotBlank(textAreaWithLanguage.getExtraField().getText()) && !StringUtils .startsWithAny(textAreaWithLanguage.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } else if (StringUtils.isNotBlank(textAreaWithLanguage.getExtraField().getText()) && !StringUtils.startsWithAny(textAreaWithLanguage.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } JButton addToursSessionsBtn = new ButtonTab(labels.getString("eag2012.accessAndServices.addToursSessions")); builder.add(addToursSessionsBtn, cc.xy(1, rowNb)); addToursSessionsBtn.addActionListener(new AddToursSessionsBtnAction(eag, tabbedPane, model)); setNextRow(); if (recreationalServices.getOtherServices().size() == 0) { recreationalServices.getOtherServices().add(new OtherServices()); } otherServicesTfs = new ArrayList<TextAreaWithLanguage>(recreationalServices.getOtherServices().size()); for (OtherServices otherServices : recreationalServices.getOtherServices()) { if (otherServices.getDescriptiveNote() == null) { DescriptiveNote descriptiveNote = new DescriptiveNote(); otherServices.setDescriptiveNote(descriptiveNote); } if (otherServices.getDescriptiveNote().getP().size() == 0) { otherServices.getDescriptiveNote().getP().add(new P()); } if (otherServices.getWebpage() == null) { otherServices.setWebpage(new Webpage()); } builder.addLabel(labels.getString("eag2012.accessAndServices.otherServices"), cc.xy(1, rowNb)); TextAreaWithLanguage otherServicesTf = new TextAreaWithLanguage( otherServices.getDescriptiveNote().getP().get(0).getContent(), otherServices.getDescriptiveNote().getP().get(0).getLang(), otherServices.getWebpage().getHref(), otherServices.getWebpage().getContent()); otherServicesTfs.add(otherServicesTf); builder.add(otherServicesTf.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(otherServicesTf.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.webpage"), cc.xy(1, rowNb)); builder.add(otherServicesTf.getExtraField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(otherServicesTf.getSecondExtraField(), cc.xy(7, rowNb)); setNextRow(); if (errors.contains("otherServicesTfs")) { if (StringUtils.isNotBlank(otherServicesTf.getExtraField().getText()) && !StringUtils.startsWithAny(otherServicesTf.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } else if (StringUtils.isNotBlank(otherServicesTf.getExtraField().getText()) && !StringUtils.startsWithAny(otherServicesTf.getExtraField().getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } } JButton addOtherServicesBtn = new ButtonTab(labels.getString("eag2012.accessAndServices.addOtherServices")); builder.add(addOtherServicesBtn, cc.xy(1, rowNb)); addOtherServicesBtn.addActionListener(new AddOtherServicesBtnAction(eag, tabbedPane, model)); setNextRow(); builder.addSeparator("", cc.xyw(1, rowNb, 7)); setNextRow(); JButton exitBtn = new ButtonTab(labels.getString("eag2012.commons.exit")); builder.add(exitBtn, cc.xy(1, rowNb)); exitBtn.addActionListener(new ExitBtnAction(eag, tabbedPane, model)); JButton previousTabBtn = new ButtonTab(labels.getString("eag2012.commons.previousTab")); builder.add(previousTabBtn, cc.xy(3, rowNb)); previousTabBtn.addActionListener(new ChangeTabBtnAction(eag, tabbedPane, model, false)); JButton nextTabBtn = new ButtonTab(labels.getString("eag2012.commons.nextTab")); builder.add(nextTabBtn, cc.xy(5, rowNb)); nextTabBtn.addActionListener(new ChangeTabBtnAction(eag, tabbedPane, model, true)); setNextRow(); JButton saveBtn = new ButtonTab(labels.getString("eag2012.commons.save")); builder.add(saveBtn, cc.xy(5, rowNb)); saveBtn.addActionListener(new SaveBtnAction(eag, tabbedPane, model)); setNextRow(); builder.addSeparator("", cc.xyw(1, rowNb, 7)); setNextRow(); JButton previousInstitutionTabBtn = new ButtonTab(labels.getString("eag2012.controls.previousInstitution")); previousInstitutionTabBtn.addActionListener(new PreviousInstitutionTabBtnAction(eag, tabbedPane, model)); builder.add(previousInstitutionTabBtn, cc.xy(1, rowNb)); JButton nextInstitutionTabBtn = new ButtonTab(labels.getString("eag2012.controls.nextInstitution")); nextInstitutionTabBtn.addActionListener(new NextInstitutionTabBtnAction(eag, tabbedPane, model)); builder.add(nextInstitutionTabBtn, cc.xy(5, rowNb)); // Define the change tab listener. this.removeChangeListener(); this.tabbedPane.addChangeListener(new ChangeTabListener(this.eag, this.tabbedPane, this.model, 3)); JPanel panel = builder.getPanel(); KeyboardFocusManager.getCurrentKeyboardFocusManager() .addPropertyChangeListener(new FocusManagerListener(panel)); return panel; }
From source file:eu.apenet.dpt.standalone.gui.eag2012.EagContactPanel.java
@Override protected JComponent buildEditorPanel(List<String> errors) { if (errors == null) errors = new ArrayList<String>(0); else if (Utilities.isDev && errors.size() > 0) { LOG.info("Errors in form:"); for (String error : errors) { LOG.info(error);// w ww. ja v a 2s .c o m } } FormLayout layout = new FormLayout("right:max(50dlu;p), 4dlu, 100dlu, 7dlu, right:p, 4dlu, 100dlu", EDITOR_ROW_SPEC); layout.setColumnGroups(new int[][] { { 1, 3, 5, 7 } }); PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); CellConstraints cc = new CellConstraints(); rowNb = 1; Repository repository = eag.getArchguide().getDesc().getRepositories().getRepository().get(repositoryNb); if (repositoryNb > 0) { if (repository.getRepositoryRole() == null) repository.setRepositoryRole(new RepositoryRole()); if (Arrays.asList(repositoryRoles).contains(repository.getRepositoryRole().getValue())) repositoryRoleTypeCombo.setSelectedItem(repository.getRepositoryRole().getValue()); builder.addLabel(labels.getString("eag2012.commons.roleOfRepository"), cc.xy(1, rowNb)); builder.add(repositoryRoleTypeCombo, cc.xy(3, rowNb)); setNextRow(); if (repository.getRepositoryName().size() == 0) repository.getRepositoryName().add(new RepositoryName()); repositoryNameTfs = new ArrayList<TextFieldWithLanguage>(repository.getRepositoryName().size()); for (RepositoryName repositoryName : repository.getRepositoryName()) { builder.addLabel(labels.getString("eag2012.commons.nameOfRepository"), cc.xy(1, rowNb)); TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage(repositoryName.getContent(), repositoryName.getLang()); repositoryNameTfs.add(textFieldWithLanguage); builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); } JButton addNewRepositoryNameBtn = new ButtonTab( labels.getString("eag2012.contact.addNameOfRepository")); addNewRepositoryNameBtn.addActionListener(new AddRepositoryNameAction(eag, tabbedPane, model)); builder.add(addNewRepositoryNameBtn, cc.xy(3, rowNb)); setNextRow(); } //visitors address and postal address boolean hasMinimumOnePostalAddress = false; boolean hasMinimumOneVisitorAddress = false; locationFields = new ArrayList<LocationType>(repository.getLocation().size()); //loop to load Visitors address for (Location location : repository.getLocation()) { if (location.getLocalType() != null && location.getLocalType().equals("visitors address")) { LocationType locationType = new LocationType(location); locationFields.add(locationType); if (hasMinimumOneVisitorAddress) { locationType.getLatitudeTf().setEnabled(false); locationType.getLongitudeTf().setEnabled(false); } builder.addSeparator(labels.getString("eag2012.commons.visitorsAddress"), cc.xyw(1, rowNb, 7)); hasMinimumOneVisitorAddress = true; setNextRow(); String mandatoryStar = "*"; if (location != repository.getLocation().get(0)) mandatoryStar = ""; builder.addLabel(labels.getString("eag2012.commons.street") + mandatoryStar, cc.xy(1, rowNb)); builder.add(locationType.getStreetTf().getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(locationType.getStreetTf().getLanguageBox(), cc.xy(7, rowNb)); if (errors.contains("streetTf") && StringUtils.isEmpty(locationType.getStreetTfValue())) { setNextRow(); builder.add(createErrorLabel(labels.getString("eag2012.errors.street")), cc.xy(1, rowNb)); } setNextRow(); builder.addLabel(labels.getString("eag2012.commons.cityTownWithPostalcode") + mandatoryStar, cc.xy(1, rowNb)); builder.add(locationType.getCityTf().getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(locationType.getCityTf().getLanguageBox(), cc.xy(7, rowNb)); if (errors.contains("cityTf") && StringUtils.isEmpty(locationType.getCityTfValue())) { setNextRow(); builder.add(createErrorLabel(labels.getString("eag2012.errors.city")), cc.xy(1, rowNb)); } setNextRow(); builder.addLabel(labels.getString("eag2012.contact.district"), cc.xy(1, rowNb)); builder.add(locationType.getDistrictTf().getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(locationType.getDistrictTf().getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.contact.countyLocalAuthority"), cc.xy(1, rowNb)); builder.add(locationType.getCountyTf().getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(locationType.getCountyTf().getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.contact.region"), cc.xy(1, rowNb)); builder.add(locationType.getRegionTf().getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(locationType.getRegionTf().getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.country") + mandatoryStar, cc.xy(1, rowNb)); builder.add(locationType.getCountryTf().getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(locationType.getCountryTf().getLanguageBox(), cc.xy(7, rowNb)); if (errors.contains("countryTf") && StringUtils.isEmpty(locationType.getCountryTfValue())) { setNextRow(); builder.add(createErrorLabel(labels.getString("eag2012.errors.country")), cc.xy(1, rowNb)); } setNextRow(); builder.addLabel(labels.getString("eag2012.commons.latitude"), cc.xy(1, rowNb)); locationType.getLatitudeTf() .addFocusListener(new UpdateCoordsText(locationType, EagContactPanel.LATITUDE)); builder.add(locationType.getLatitudeTf(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.longitude"), cc.xy(5, rowNb)); locationType.getLongitudeTf() .addFocusListener(new UpdateCoordsText(locationType, EagContactPanel.LONGITUDE)); builder.add(locationType.getLongitudeTf(), cc.xy(7, rowNb)); setNextRow(); } // end if visitors address } //end loop to load Visitors address //add visitors address button if (hasMinimumOneVisitorAddress) { JButton addNewVisitorTranslationAddressBtn = new ButtonTab( labels.getString("eag2012.commons.addVisitorTranslationAddress"), true); addNewVisitorTranslationAddressBtn .addActionListener(new AddAddressAction(eag, tabbedPane, model, false)); builder.add(addNewVisitorTranslationAddressBtn, cc.xy(3, rowNb)); setNextRow(); } else { JButton addNewVisitorAddressBtn = new ButtonTab(labels.getString("eag2012.commons.addVisitorAddress")); addNewVisitorAddressBtn.addActionListener(new AddAddressAction(eag, tabbedPane, model, false)); builder.add(addNewVisitorAddressBtn, cc.xy(3, rowNb)); setNextRow(); } //end add visitors address button // loop to load Postal address for (Location location : repository.getLocation()) { if (location.getLocalType() != null && location.getLocalType().equals("postal address")) { LocationType locationType = new LocationType(location); locationFields.add(locationType); builder.addSeparator(labels.getString("eag2012.commons.postalAddress"), cc.xyw(1, rowNb, 7)); hasMinimumOnePostalAddress = true; setNextRow(); String mandatoryStar = ""; builder.addLabel(labels.getString("eag2012.commons.street") + mandatoryStar, cc.xy(1, rowNb)); builder.add(locationType.getStreetTf().getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(locationType.getStreetTf().getLanguageBox(), cc.xy(7, rowNb)); if (errors.contains("streetTf") && StringUtils.isEmpty(locationType.getStreetTfValue())) { setNextRow(); builder.add(createErrorLabel(labels.getString("eag2012.errors.street")), cc.xy(1, rowNb)); } setNextRow(); builder.addLabel(labels.getString("eag2012.commons.cityTownWithPostalcode") + mandatoryStar, cc.xy(1, rowNb)); builder.add(locationType.getCityTf().getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(locationType.getCityTf().getLanguageBox(), cc.xy(7, rowNb)); if (errors.contains("cityTf") && StringUtils.isEmpty(locationType.getCityTfValue())) { setNextRow(); builder.add(createErrorLabel(labels.getString("eag2012.errors.city")), cc.xy(1, rowNb)); } setNextRow(); } //end if postal address } // end loop to load Postal address //add postal address button if (hasMinimumOnePostalAddress) { JButton addNewPostalTranslationAddressBtn = new ButtonTab( labels.getString("eag2012.commons.addPostalTranslationAddress"), true); addNewPostalTranslationAddressBtn.addActionListener(new AddAddressAction(eag, tabbedPane, model, true)); builder.add(addNewPostalTranslationAddressBtn, cc.xy(3, rowNb)); setNextRow(); } else { JButton addNewPostalAddressBtn = new ButtonTab(labels.getString("eag2012.commons.addPostalAddress")); addNewPostalAddressBtn.addActionListener(new AddAddressAction(eag, tabbedPane, model, true)); builder.add(addNewPostalAddressBtn, cc.xy(3, rowNb)); setNextRow(); } //end add postal address button builder.addLabel(labels.getString("eag2012.commons.continent") + "*", cc.xy(1, rowNb)); if (Arrays.asList(continents).contains(repository.getGeogarea().getValue())) { continentCombo.setSelectedItem(repository.getGeogarea().getValue()); } else { continentCombo.setSelectedItem("Europe"); } builder.add(continentCombo, cc.xy(3, rowNb)); setNextRow(); //getTelephone() builder.addLabel(labels.getString("eag2012.commons.telephone"), cc.xy(1, rowNb)); int i = 0; telephoneTfs = new ArrayList<JTextField>(repository.getTelephone().size()); for (Telephone telephone : repository.getTelephone()) { JTextField telephoneTf = new JTextField(telephone.getContent()); telephoneTfs.add(telephoneTf); builder.add(telephoneTf, cc.xy(3, rowNb)); if (i++ == 0) { JButton addTelephoneBtn = new ButtonTab( labels.getString("eag2012.contact.addFurtherTelephoneNumbers")); addTelephoneBtn.addActionListener(new AddTelephoneAction(eag, tabbedPane, model)); builder.add(addTelephoneBtn, cc.xy(5, rowNb)); } setNextRow(); } if (repository.getTelephone().size() == 0) { JTextField telephoneTf = new JTextField(); telephoneTfs.add(telephoneTf); builder.add(telephoneTf, cc.xy(3, rowNb)); JButton addTelephoneBtn = new ButtonTab(labels.getString("eag2012.contact.addFurtherTelephoneNumbers")); addTelephoneBtn.addActionListener(new AddTelephoneAction(eag, tabbedPane, model)); builder.add(addTelephoneBtn, cc.xy(5, rowNb)); setNextRow(); } builder.addLabel(labels.getString("eag2012.contact.fax"), cc.xy(1, rowNb)); i = 0; faxTfs = new ArrayList<JTextField>(repository.getFax().size()); for (Fax fax : repository.getFax()) { JTextField faxTf = new JTextField(fax.getContent()); faxTfs.add(faxTf); builder.add(faxTf, cc.xy(3, rowNb)); if (i++ == 0) { JButton addFaxBtn = new ButtonTab(labels.getString("eag2012.contact.addFaxNumbers")); addFaxBtn.addActionListener(new AddFaxAction(eag, tabbedPane, model)); builder.add(addFaxBtn, cc.xy(5, rowNb)); } setNextRow(); } if (repository.getFax().size() == 0) { JTextField faxTf = new JTextField(); faxTfs.add(faxTf); builder.add(faxTf, cc.xy(3, rowNb)); JButton addFaxBtn = new ButtonTab(labels.getString("eag2012.contact.addFaxNumbers")); addFaxBtn.addActionListener(new AddFaxAction(eag, tabbedPane, model)); builder.add(addFaxBtn, cc.xy(5, rowNb)); setNextRow(); } //getEmail() emailTfs = new ArrayList<JTextField>(repository.getEmail().size()); emailTitleTfs = new ArrayList<JTextField>(repository.getEmail().size()); if (repository.getEmail().size() == 0) repository.getEmail().add(new Email()); for (Email email : repository.getEmail()) { JTextField emailTf = new JTextField(email.getHref()); JTextField emailTitleTf = new JTextField(email.getContent()); emailTfs.add(emailTf); emailTitleTfs.add(emailTitleTf); builder.addLabel(labels.getString("eag2012.commons.email"), cc.xy(1, rowNb)); builder.add(emailTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(emailTitleTf, cc.xy(7, rowNb)); setNextRow(); } JButton addEmailBtn = new ButtonTab(labels.getString("eag2012.commons.addEmail")); addEmailBtn.addActionListener(new AddEmailAction(eag, tabbedPane, model)); builder.add(addEmailBtn, cc.xy(1, rowNb)); setNextRow(); //getWebpage() webpageTfs = new ArrayList<JTextField>(repository.getWebpage().size()); webpageTitleTfs = new ArrayList<JTextField>(repository.getWebpage().size()); if (repository.getWebpage().size() == 0) repository.getWebpage().add(new Webpage()); for (Webpage webpage : repository.getWebpage()) { JTextField webpageTf = new JTextField(webpage.getHref()); JTextField webpageTitleTf = new JTextField(webpage.getContent()); webpageTitleTfs.add(webpageTitleTf); webpageTfs.add(webpageTf); builder.addLabel(labels.getString("eag2012.commons.webpage"), cc.xy(1, rowNb)); builder.add(webpageTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(webpageTitleTf, cc.xy(7, rowNb)); setNextRow(); if (errors.contains("webpageTfs")) { if (StringUtils.isNotBlank(webpageTf.getText()) && !StringUtils.startsWithAny(webpageTf.getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xyw(1, rowNb, 3)); setNextRow(); } } else if (StringUtils.isNotBlank(webpageTf.getText()) && !StringUtils.startsWithAny(webpageTf.getText(), webPrefixes)) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xyw(1, rowNb, 3)); setNextRow(); } } JButton addWebpageBtn = new ButtonTab(labels.getString("eag2012.commons.addWebpage")); addWebpageBtn.addActionListener(new AddWebpageAction(eag, tabbedPane, model)); builder.add(addWebpageBtn, cc.xy(1, rowNb)); setNextRow(); builder.addSeparator("", cc.xyw(1, rowNb, 7)); setNextRow(); JButton exitBtn = new ButtonTab(labels.getString("eag2012.commons.exit")); builder.add(exitBtn, cc.xy(1, rowNb)); exitBtn.addActionListener(new ExitBtnAction(eag, tabbedPane, model)); if (repositoryNb == 0) { JButton previousTabBtn = new ButtonTab(labels.getString("eag2012.commons.previousTab")); builder.add(previousTabBtn, cc.xy(3, rowNb)); previousTabBtn.addActionListener(new ChangeTabBtnAction(eag, tabbedPane, model, false)); } JButton nextTabBtn = new ButtonTab(labels.getString("eag2012.commons.nextTab")); builder.add(nextTabBtn, cc.xy(5, rowNb)); nextTabBtn.addActionListener(new ChangeTabBtnAction(eag, tabbedPane, model, true)); setNextRow(); JButton saveBtn = new ButtonTab(labels.getString("eag2012.commons.save")); builder.add(saveBtn, cc.xy(5, rowNb)); saveBtn.addActionListener(new SaveBtnAction(eag, tabbedPane, model)); setNextRow(); builder.addSeparator("", cc.xyw(1, rowNb, 7)); setNextRow(); JButton previousInstitutionTabBtn = new ButtonTab(labels.getString("eag2012.controls.previousInstitution")); previousInstitutionTabBtn.addActionListener(new PreviousInstitutionTabBtnAction(eag, tabbedPane, model)); builder.add(previousInstitutionTabBtn, cc.xy(1, rowNb)); JButton nextInstitutionTabBtn = new ButtonTab(labels.getString("eag2012.controls.nextInstitution")); nextInstitutionTabBtn.addActionListener(new NextInstitutionTabBtnAction(eag, tabbedPane, model)); builder.add(nextInstitutionTabBtn, cc.xy(5, rowNb)); // Define the change tab listener. this.removeChangeListener(); this.tabbedPane.addChangeListener( new ChangeTabListener(this.eag, this.tabbedPane, this.model, 2, this.repositoryNb)); JPanel panel = builder.getPanel(); KeyboardFocusManager.getCurrentKeyboardFocusManager() .addPropertyChangeListener(new FocusManagerListener(panel)); return panel; }
From source file:eu.apenet.dpt.standalone.gui.eag2012.EagInstitutionPanel.java
/** * Builds and answer the editor's general tab for the given layout. * * @return the editor's general panel//from ww w .ja va 2s . c om */ protected JComponent buildEditorPanel(List<String> errors) { if (errors == null) { errors = new ArrayList<String>(0); } else if (Utilities.isDev && errors.size() > 0) { LOG.info("Errors in form:"); for (String error : errors) { LOG.info(error); } } FormLayout layout = new FormLayout("right:max(50dlu;p), 4dlu, 100dlu, 7dlu, right:p, 4dlu, 100dlu", EDITOR_ROW_SPEC); layout.setColumnGroups(new int[][] { { 1, 3, 5, 7 } }); PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); CellConstraints cc = new CellConstraints(); rowNb = 1; builder.addSeparator(labels.getString("eag2012.tab.yourInstitution"), cc.xyw(1, rowNb, 7)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.personResponsible"), cc.xy(1, rowNb)); int sizeEvents = eag.getControl().getMaintenanceHistory().getMaintenanceEvent().size(); if (sizeEvents == 0) { if (StringUtils.isNotEmpty(Eag2012Frame.getPersonResponsible())) { personTf = new JTextField(Eag2012Frame.getPersonResponsible()); } else { personTf = new JTextField(""); } } else { MaintenanceEvent event = eag.getControl().getMaintenanceHistory().getMaintenanceEvent() .get(sizeEvents - 1); personTf = new JTextField(event.getAgent().getContent()); } builder.add(personTf, cc.xy(3, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.countryCode") + "*", cc.xy(1, rowNb)); if (isNew && StringUtils.isEmpty(eag.getArchguide().getIdentity().getRepositorid().getCountrycode())) { countryCodeTf = new JTextField(countrycode); } else { countryCodeTf = new JTextField(eag.getArchguide().getIdentity().getRepositorid().getCountrycode()); } countryCodeTf.addKeyListener(new CheckKeyListener()); builder.add(countryCodeTf, cc.xy(3, rowNb)); setNextRow(); if (errors.contains("countryCodeTf")) { builder.add(createErrorLabel(labels.getString("eag2012.errors.countryCode")), cc.xy(1, rowNb)); setNextRow(); } if (eag.getControl().getOtherRecordId().size() == 0) { eag.getControl().getOtherRecordId().add(new OtherRecordId()); if (isNew && StringUtils.isNotEmpty(mainagencycode)) { eag.getControl().getOtherRecordId().get(0).setLocalType("yes"); eag.getControl().getOtherRecordId().get(0).setValue(mainagencycode); } } otherRecordIdTfs = new ArrayList<TextFieldWithCheckbox>(eag.getControl().getOtherRecordId().size()); for (OtherRecordId otherRecordId : eag.getControl().getOtherRecordId()) { String mandatoryStar = "*"; if (otherRecordId != eag.getControl().getOtherRecordId().get(0)) mandatoryStar = ""; TextFieldWithCheckbox textFieldWithCheckbox = new TextFieldWithCheckbox(otherRecordId.getValue(), otherRecordId.getLocalType()); otherRecordIdTfs.add(textFieldWithCheckbox); builder.addLabel(labels.getString("eag2012.control.identifierInstitution") + mandatoryStar, cc.xy(1, rowNb)); builder.add(textFieldWithCheckbox.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.isil.isThisISIL"), cc.xy(5, rowNb)); textFieldWithCheckbox.getTextField().addKeyListener(new CheckKeyListener()); builder.add(textFieldWithCheckbox.getIsilOrNotCombo(), cc.xy(7, rowNb)); textFieldWithCheckbox.getIsilOrNotCombo() .addActionListener(new ComboboxActionListener(textFieldWithCheckbox)); setNextRow(); } if (errors.contains("otherRecordIdTfs")) { builder.add(createErrorLabel(labels.getString("eag2012.errors.notIdentifierInstitution")), cc.xy(1, rowNb)); setNextRow(); } JButton addNewOtherIdentifierBtn = new ButtonTab( labels.getString("eag2012.yourinstitution.addOtherIdentifier")); addNewOtherIdentifierBtn.addActionListener(new AddOtherIdentifierAction(eag, tabbedPane, model)); builder.add(addNewOtherIdentifierBtn, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.idUsedInApe"), cc.xy(5, rowNb)); if (Eag2012ValidFields.isRepositoryCodeCorrect(eag.getControl().getRecordId().getValue())) { idUsedInApeTf = new JTextField(eag.getControl().getRecordId().getValue()); } else { idUsedInApeTf = new JTextField(TextChanger.getNewText(otherRecordIdTfs, countryCodeTf.getText())); } idUsedInApeTf.setEnabled(false); idUsedInApeTf.setEditable(false); builder.add(idUsedInApeTf, cc.xy(7, rowNb)); setNextRow(); if (eag.getArchguide().getIdentity().getAutform().size() == 0) { eag.getArchguide().getIdentity().getAutform().add(new Autform()); } nameInstitutionTfs = new ArrayList<TextFieldWithLanguage>( eag.getArchguide().getIdentity().getAutform().size()); for (Autform autform : eag.getArchguide().getIdentity().getAutform()) { TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage(autform.getContent(), autform.getLang()); nameInstitutionTfs.add(textFieldWithLanguage); builder.addLabel(labels.getString("eag2012.commons.nameOfInstitution") + "*", cc.xy(1, rowNb)); builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); } if (errors.contains("nameInstitutionTfs")) { builder.add(createErrorLabel(labels.getString("eag2012.errors.nameInstitutionEmpty")), cc.xy(1, rowNb)); setNextRow(); } if (eag.getArchguide().getIdentity().getParform().size() == 0) { eag.getArchguide().getIdentity().getParform().add(new Parform()); } parallelNameTfs = new ArrayList<TextFieldWithLanguage>( eag.getArchguide().getIdentity().getParform().size()); for (Parform parform : eag.getArchguide().getIdentity().getParform()) { TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage(parform.getContent(), parform.getLang()); parallelNameTfs.add(textFieldWithLanguage); builder.addLabel(labels.getString("eag2012.commons.parallelNameOfInstitution"), cc.xy(1, rowNb)); builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); } //print repositoryType combo if (eag.getArchguide().getIdentity().getRepositoryType() != null && !eag.getArchguide().getIdentity().getRepositoryType().isEmpty()) { for (RepositoryType repoType : eag.getArchguide().getIdentity().getRepositoryType()) { builder.addLabel(labels.getString("eag2012.identity.selectType"), cc.xy(1, rowNb)); JComboBox comboBox = new JComboBox(typeInstitution); if (repoType.getValue() != null && !repoType.getValue().isEmpty()) { comboBox.setSelectedItem(repoType.getValue()); } else { comboBox.setSelectedItem("---"); } typeInstitutionComboList.add(comboBox); builder.add(comboBox, cc.xy(3, rowNb)); setNextRow(); } } else { builder.addLabel(labels.getString("eag2012.identity.selectType"), cc.xy(1, rowNb)); JComboBox comboBox = new JComboBox(typeInstitution); comboBox.setSelectedItem("---"); typeInstitutionComboList.add(comboBox); builder.add(comboBox, cc.xy(3, rowNb)); setNextRow(); } //add another repositoryType button JButton addNewTypeOfTheInstitution = new ButtonTab( labels.getString("eag2012.yourinstitution.addAnotherRepositoryType")); addNewTypeOfTheInstitution.addActionListener(new AddRepositoryTypeAction(eag, tabbedPane, model)); builder.add(addNewTypeOfTheInstitution, cc.xy(1, rowNb)); setNextRow(); builder.addSeparator("", cc.xyw(1, this.rowNb, 7)); setNextRow(); // if(eag.getArchguide().getDesc().getRepositories().getRepository().size() == 1) { //todo: BECAUSE FOR NOW ONLY ONE REPOSITORY!!!! Repository repository = eag.getArchguide().getDesc().getRepositories().getRepository().get(repositoryNb); boolean hasMinimumOnePostalAddress = false; boolean hasMinimumOneVisitorAddress = false; locationFields = new ArrayList<LocationType>(repository.getLocation().size()); // int locationNb = 0; for (Location location : repository.getLocation()) { // locationNb++; boolean isPostal = false; LocationType locationType = new LocationType(location); if (StringUtils.isEmpty(location.getLocalType()) || location.getLocalType().equals("visitors address")) { locationType.setLocalType("visitors address"); if (hasMinimumOneVisitorAddress) { locationType.getLatitudeTf().setEnabled(false); locationType.getLongitudeTf().setEnabled(false); } builder.addSeparator(labels.getString("eag2012.commons.visitorsAddress"), cc.xyw(1, rowNb, 7)); isPostal = false; hasMinimumOneVisitorAddress = true; } else if (location.getLocalType().equals("postal address")) { // builder.addSeparator(labels.getString("eag2012.commons.postalAddress"), cc.xyw(1, rowNb, 7)); isPostal = true; // hasMinimumOnePostalAddress = true; } if (!isPostal) { locationFields.add(locationType); setNextRow(); String mandatoryStar = "*"; if (isPostal || location != repository.getLocation().get(0)) { mandatoryStar = ""; } builder.addLabel(labels.getString("eag2012.commons.street") + mandatoryStar, cc.xy(1, rowNb)); builder.add(locationType.getStreetTf().getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(locationType.getStreetTf().getLanguageBox(), cc.xy(7, rowNb)); if (errors.contains("streetTf") && StringUtils.isEmpty(locationType.getStreetTfValue())) { setNextRow(); builder.add(createErrorLabel(labels.getString("eag2012.errors.street")), cc.xy(1, rowNb)); } setNextRow(); builder.addLabel(labels.getString("eag2012.commons.cityTownWithPostalcode") + mandatoryStar, cc.xy(1, rowNb)); builder.add(locationType.getCityTf().getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(locationType.getCityTf().getLanguageBox(), cc.xy(7, rowNb)); if (errors.contains("cityTf") && StringUtils.isEmpty(locationType.getCityTfValue())) { setNextRow(); builder.add(createErrorLabel(labels.getString("eag2012.errors.city")), cc.xy(1, rowNb)); } setNextRow(); builder.addLabel(labels.getString("eag2012.commons.country") + mandatoryStar, cc.xy(1, rowNb)); builder.add(locationType.getCountryTf().getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(locationType.getCountryTf().getLanguageBox(), cc.xy(7, rowNb)); if (errors.contains("countryTf") && StringUtils.isEmpty(locationType.getCountryTfValue())) { setNextRow(); builder.add(createErrorLabel(labels.getString("eag2012.errors.country")), cc.xy(1, rowNb)); } setNextRow(); builder.addLabel(labels.getString("eag2012.commons.latitude"), cc.xy(1, rowNb)); locationType.getLatitudeTf() .addFocusListener(new UpdateCoordsText(locationType, EagContactPanel.LATITUDE)); builder.add(locationType.getLatitudeTf(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.longitude"), cc.xy(5, rowNb)); locationType.getLongitudeTf() .addFocusListener(new UpdateCoordsText(locationType, EagContactPanel.LONGITUDE)); builder.add(locationType.getLongitudeTf(), cc.xy(7, rowNb)); setNextRow(); } } if (hasMinimumOneVisitorAddress) { JButton addNewVisitorTranslationAddressBtn = new ButtonTab( labels.getString("eag2012.commons.addVisitorTranslationAddress"), true); addNewVisitorTranslationAddressBtn .addActionListener(new AddAddressAction(eag, tabbedPane, model, false)); builder.add(addNewVisitorTranslationAddressBtn, cc.xy(3, rowNb)); setNextRow(); } else { JButton addNewVisitorAddressBtn = new ButtonTab(labels.getString("eag2012.commons.addVisitorAddress")); addNewVisitorAddressBtn.addActionListener(new AddAddressAction(eag, tabbedPane, model, false)); builder.add(addNewVisitorAddressBtn, cc.xy(3, rowNb)); setNextRow(); } builder.addLabel(labels.getString("eag2012.commons.continent") + "*", cc.xy(1, rowNb)); if (Arrays.asList(continents).contains(repository.getGeogarea().getValue())) { continentCombo.setSelectedItem(repository.getGeogarea().getValue()); } else { continentCombo.setSelectedItem("Europe"); } builder.add(continentCombo, cc.xy(3, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.telephone"), cc.xy(1, rowNb)); if (repository.getTelephone().size() > 0) { telephoneTf = new JTextField(repository.getTelephone().get(0).getContent()); } else { telephoneTf = new JTextField(); } builder.add(telephoneTf, cc.xy(3, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.email"), cc.xy(1, rowNb)); if (repository.getEmail().size() > 0) { emailTf = new JTextField(repository.getEmail().get(0).getHref()); emailTitleTf = new JTextField(repository.getEmail().get(0).getContent()); } else { emailTf = new JTextField(); emailTitleTf = new JTextField(); } builder.add(emailTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(emailTitleTf, cc.xy(7, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.webpage"), cc.xy(1, rowNb)); if (repository.getWebpage().size() > 0) { webpageTf = new JTextField(repository.getWebpage().get(0).getHref()); if (!StringUtils.isBlank(repository.getWebpage().get(0).getContent())) { webpageTitleTf = new JTextField(repository.getWebpage().get(0).getContent()); } else { webpageTitleTf = new JTextField(); } } else { webpageTf = new JTextField(); webpageTitleTf = new JTextField(); } builder.add(webpageTf, cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy(5, rowNb)); builder.add(webpageTitleTf, cc.xy(7, rowNb)); setNextRow(); if ((StringUtils.isNotBlank(webpageTf.getText()) && !StringUtils.startsWithAny(webpageTf.getText(), webPrefixes)) || errors.contains("webpageTf")) { builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); setNextRow(); } if (repository.getTimetable().getOpening().size() == 0) { repository.getTimetable().getOpening().add(new Opening()); } openingHoursTfs = new ArrayList<TextFieldWithLanguage>(repository.getTimetable().getOpening().size()); for (Opening opening : repository.getTimetable().getOpening()) { builder.addLabel(labels.getString("eag2012.commons.openingHours") + "*", cc.xy(1, rowNb)); TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage(opening.getContent(), opening.getLang()); openingHoursTfs.add(textFieldWithLanguage); builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy(5, rowNb)); builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); setNextRow(); } if (errors.contains("openingHoursTfs")) { builder.add(createErrorLabel(labels.getString("eag2012.errors.openingHours")), cc.xy(1, rowNb)); setNextRow(); } if (repository.getTimetable().getClosing().size() == 0) { repository.getTimetable().getClosing().add(new Closing()); } // closingDatesTfs = new ArrayList<TextFieldWithLanguage>(repository.getTimetable().getClosing().size()); // for(Closing closing : repository.getTimetable().getClosing()) { // builder.addLabel(labels.getString("eag2012.commons.closingDates"), cc.xy(1, rowNb)); // TextFieldWithLanguage textFieldWithLanguage = new TextFieldWithLanguage(closing.getContent(), closing.getLang()); // closingDatesTfs.add(textFieldWithLanguage); // builder.add(textFieldWithLanguage.getTextField(), cc.xy(3, rowNb)); // builder.addLabel(labels.getString("eag2012.commons.language"), cc.xy (5, rowNb)); // builder.add(textFieldWithLanguage.getLanguageBox(), cc.xy(7, rowNb)); // setNextRow(); // } builder.addLabel(labels.getString("eag2012.commons.accessiblePublic") + "*", cc.xy(1, rowNb)); if (repository.getAccess() != null && Arrays.asList(yesOrNo).contains(repository.getAccess().getQuestion())) { accessiblePublicCombo.setSelectedItem(repository.getAccess().getQuestion()); } builder.add(accessiblePublicCombo, cc.xy(3, rowNb)); setNextRow(); builder.addLabel(labels.getString("eag2012.commons.disabledAccess") + "*", cc.xy(1, rowNb)); if (repository.getAccessibility().size() > 0 && Arrays.asList(yesOrNo).contains(repository.getAccessibility().get(0).getQuestion())) { facilitiesForDisabledCombo.setSelectedItem(repository.getAccessibility().get(0).getQuestion()); } builder.add(facilitiesForDisabledCombo, cc.xy(3, rowNb)); setNextRow(); // builder.addLabel(labels.getString("eag2012.yourinstitution.linkToHoldingsGuide"), cc.xy(1, rowNb)); // if(eag.getRelations() == null) { // eag.setRelations(new Relations()); // } // if(eag.getRelations().getResourceRelation().size() > 0) { // refInstitutionHoldingsGuideTf = new JTextField(eag.getRelations().getResourceRelation().get(0).getHref()); // if(eag.getRelations().getResourceRelation().get(0).getRelationEntry() != null) // refInstitutionHoldingsGuideTitleTf = new JTextField(eag.getRelations().getResourceRelation().get(0).getRelationEntry().getContent()); // else // refInstitutionHoldingsGuideTitleTf = new JTextField(); // } else { // refInstitutionHoldingsGuideTf = new JTextField(); // refInstitutionHoldingsGuideTitleTf = new JTextField(); // } // builder.add(refInstitutionHoldingsGuideTf, cc.xy(3, rowNb)); // builder.addLabel(labels.getString("eag2012.commons.linkTitle"), cc.xy (5, rowNb)); // builder.add(refInstitutionHoldingsGuideTitleTf, cc.xy(7, rowNb)); // setNextRow(); // if((StringUtils.isNotBlank(refInstitutionHoldingsGuideTf.getText()) && !StringUtils.startsWithAny(refInstitutionHoldingsGuideTf.getText(), webPrefixes)) || errors.contains("refInstitutionHoldingsGuideTf")) { // builder.add(createErrorLabel(labels.getString("eag2012.errors.webpageProtocol")), cc.xy(1, rowNb)); // setNextRow(); // } // } builder.addSeparator("", cc.xyw(1, rowNb, 7)); setNextRow(); JButton addRepositoryBtn = new ButtonTab( labels.getString("eag2012.yourinstitution.addRepositoryTabButton")); builder.add(addRepositoryBtn, cc.xy(1, rowNb)); addRepositoryBtn.addActionListener(new AddRepositoryTabButton()); JButton nextTabBtn = new ButtonTab(labels.getString("eag2012.commons.nextTab")); builder.add(nextTabBtn, cc.xy(5, rowNb)); nextTabBtn.addActionListener(new NextTabBtnAction(eag, tabbedPane, model)); setNextRow(); JButton exitBtn = new ButtonTab(labels.getString("eag2012.commons.exit")); builder.add(exitBtn, cc.xy(1, rowNb)); exitBtn.addActionListener(new ExitBtnAction(eag, tabbedPane, model)); JButton saveBtn = new ButtonTab(labels.getString("eag2012.commons.save")); builder.add(saveBtn, cc.xy(5, rowNb)); saveBtn.addActionListener(new SaveBtnAction(eag, tabbedPane, model)); setNextRow(); builder.addSeparator("", cc.xyw(1, rowNb, 7)); setNextRow(); JButton nextInstitutionTabBtn = new ButtonTab(labels.getString("eag2012.controls.nextInstitution")); nextInstitutionTabBtn.addActionListener(new NextInstitutionTabBtnAction(eag, tabbedPane, model)); builder.add(nextInstitutionTabBtn, cc.xy(5, rowNb)); // Define the change tab listener. this.removeChangeListener(); this.tabbedPane.addChangeListener(new ChangeTabListener(this.eag, this.tabbedPane, this.model, 0)); JPanel panel = builder.getPanel(); KeyboardFocusManager.getCurrentKeyboardFocusManager() .addPropertyChangeListener(new FocusManagerListener(panel)); return panel; }