List of usage examples for com.jgoodies.forms.layout CellConstraints xyw
public CellConstraints xyw(int col, int row, int colSpan)
Examples:
cc.xyw(1, 3, 7); cc.xyw(1, 3, 2);
From source file:eu.apenet.dpt.standalone.gui.eaccpf.EacCpfIdentityPanel.java
License:EUPL
/** * Main method to build the identifier section. * * @param builder//from w w w . j a v a 2 s .c om * @param cc * @return the PanelBuilder */ private PanelBuilder buildIdentifierSection(PanelBuilder builder, CellConstraints cc) { this.setNextRow(); builder.addSeparator("", cc.xyw(1, this.rowNb, 7)); this.setNextRow(); // Set section title. this.setNextRow(); builder.addSeparator(this.labels.getString("eaccpf.identity.identifier"), cc.xyw(1, this.rowNb, 7)); this.setNextRow(); // Define values of the section. if (this.eaccpf.getCpfDescription().getIdentity().getEntityId().isEmpty()) { this.eaccpf.getCpfDescription().getIdentity().getEntityId().add(new EntityId()); } List<EntityId> entityIds = this.eaccpf.getCpfDescription().getIdentity().getEntityId(); this.identifierTfs = new ArrayList<JTextField>(entityIds.size()); this.identifierTypeTfs = new ArrayList<JTextField>(entityIds.size()); for (EntityId entityId : entityIds) { // Create element. JTextField identifierTf = new JTextField(entityId.getContent()); JTextField identifierTypeTf = new JTextField(entityId.getLocalType()); // Add elements to the list. this.identifierTfs.add(identifierTf); this.identifierTypeTfs.add(identifierTypeTf); // Add elements to the panel. if (this.entityType != null && XmlTypeEacCpf.EAC_CPF_CORPORATEBODY.getName().equalsIgnoreCase(this.entityType.getName())) { builder.addLabel(this.labels.getString("eaccpf.identity.identifier.corporateBody"), cc.xy(1, this.rowNb)); } else if (this.entityType != null && XmlTypeEacCpf.EAC_CPF_FAMILY.getName().equalsIgnoreCase(this.entityType.getName())) { builder.addLabel(this.labels.getString("eaccpf.identity.identifier.family"), cc.xy(1, this.rowNb)); } else if (this.entityType != null && XmlTypeEacCpf.EAC_CPF_PERSON.getName().equalsIgnoreCase(this.entityType.getName())) { builder.addLabel(this.labels.getString("eaccpf.identity.identifier.person"), cc.xy(1, this.rowNb)); } else { builder.addLabel(this.labels.getString("eaccpf.identity.identifier"), cc.xy(1, this.rowNb)); } builder.add(identifierTf, cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.identity.identifier.agency"), cc.xy(5, this.rowNb)); builder.add(identifierTypeTf, cc.xy(7, this.rowNb)); this.setNextRow(); } // Button to add new entries. JButton addIdentifierBtn = new ButtonTab(this.labels.getString("eaccpf.identity.add.identifier")); addIdentifierBtn.addActionListener(new AddIdentifierAction(this.eaccpf, this.tabbedPane, this.model)); builder.add(addIdentifierBtn, cc.xy(1, this.rowNb)); return builder; }
From source file:eu.apenet.dpt.standalone.gui.eaccpf.EacCpfIdentityPanel.java
License:EUPL
/** * Main method to build the dates of existence section. * * @param builder/* ww w . j a va2 s . co m*/ * @param cc * @param errors * @return the PanelBuilder */ private PanelBuilder buildDatesOfExistenceSection(PanelBuilder builder, CellConstraints cc, List<String> errors) { this.setNextRow(); builder.addSeparator("", cc.xyw(1, this.rowNb, 7)); this.setNextRow(); // Set section title. this.setNextRow(); builder.addSeparator(this.labels.getString("eaccpf.identity.dates.existence") + "*", cc.xyw(1, this.rowNb, 7)); // Define values of the section. if (this.eaccpf.getCpfDescription().getDescription() == null) { this.eaccpf.getCpfDescription().setDescription(new Description()); } if (this.eaccpf.getCpfDescription().getDescription().getExistDates() == null) { this.eaccpf.getCpfDescription().getDescription().setExistDates(new ExistDates()); } if (this.eaccpf.getCpfDescription().getDescription().getExistDates().getDate() == null && this.eaccpf.getCpfDescription().getDescription().getExistDates().getDateRange() == null && this.eaccpf.getCpfDescription().getDescription().getExistDates().getDateSet() == null) { this.eaccpf.getCpfDescription().getDescription().getExistDates().setDateRange(new DateRange()); } List<Object> existingDates = getAllDates(this.eaccpf.getCpfDescription().getDescription().getExistDates()); this.existenceDateTFs = new ArrayList<TextFieldsWithRadioButtonForDates>(existingDates.size()); int position = 0; for (Object object : existingDates) { this.setNextRow(); // Type of date. boolean isDateRange = false; // Create element. TextFieldsWithRadioButtonForDates existenceDateTF = null; if (object instanceof Date) { Date date = (Date) object; boolean isDateUndefined = this.isUndefinedDate(date.getLocalType()); boolean isStillDate = (!isDateUndefined && (date != null && date.getLocalType() != null && date.getLocalType().equals("open"))); existenceDateTF = new TextFieldsWithRadioButtonForDates( this.labels.getString("eaccpf.commons.unknown.date"), this.labels.getString("eaccpf.commons.date.known"), (this.entityType.getName().equals(XmlTypeEacCpf.EAC_CPF_PERSON.getName())) ? this.labels.getString("eaccpf.commons.date.open.person") : this.labels.getString("eaccpf.commons.date.open.corpfam"), date.getContent(), isDateUndefined, isStillDate, isStillDate, date.getStandardDate(), "", false, "", "", false, "", false); } else if (object instanceof DateRange) { isDateRange = true; DateRange dateRange = (DateRange) object; String dateFrom = ""; String dateFromStandard = ""; String dateTo = ""; String dateToStandard = ""; if (dateRange.getFromDate() != null) { if (dateRange.getFromDate().getContent() != null && !dateRange.getFromDate().getContent().isEmpty()) { dateFrom = dateRange.getFromDate().getContent(); } if (dateRange.getFromDate().getStandardDate() != null && !dateRange.getFromDate().getStandardDate().isEmpty()) { dateFromStandard = dateRange.getFromDate().getStandardDate(); } } if (dateRange.getToDate() != null) { if (dateRange.getToDate().getContent() != null && !dateRange.getToDate().getContent().isEmpty()) { dateTo = dateRange.getToDate().getContent(); } if (dateRange.getToDate().getStandardDate() != null && !dateRange.getToDate().getStandardDate().isEmpty()) { dateToStandard = dateRange.getToDate().getStandardDate(); } } boolean isDateFromUndefined = this.isUndefinedFromDate(dateRange); boolean isDateToUndefined = this.isUndefinedToDate(dateRange); boolean isDateFromOpen = isOpenFromDate(dateRange); boolean isDateToOpen = isOpenToDate(dateRange); existenceDateTF = new TextFieldsWithRadioButtonForDates( this.labels.getString("eaccpf.commons.unknown.date"), this.labels.getString("eaccpf.commons.date.known"), (this.entityType.getName().equals(XmlTypeEacCpf.EAC_CPF_PERSON.getName())) ? this.labels.getString("eaccpf.commons.date.open.person") : this.labels.getString("eaccpf.commons.date.open.corpfam"), "", false, isDateFromOpen, isDateToOpen, "", dateFrom, isDateFromUndefined, dateFromStandard, dateTo, isDateToUndefined, dateToStandard, true); } // Add elements to the list. this.existenceDateTFs.add(existenceDateTF); // Add elements to the panel. if (isDateRange) { // First date row. Normal date text fields. builder.addLabel(this.labels.getString("eaccpf.commons.from.date") + ((position == 0) ? "*" : ""), cc.xy(1, this.rowNb)); existenceDateTF.getDateFromTextField() .addFocusListener(new AddIsoText(existenceDateTF, EacCpfIdentityPanel.UNKNOWN_DATE_FROM)); builder.add(existenceDateTF.getDateFromTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.commons.to.date") + ((position == 0) ? "*" : ""), cc.xy(5, this.rowNb)); existenceDateTF.getDateToTextField() .addFocusListener(new AddIsoText(existenceDateTF, EacCpfIdentityPanel.UNKNOWN_DATE_TO)); builder.add(existenceDateTF.getDateToTextField(), cc.xy(7, this.rowNb)); // Second date row. Unknown radio boxes. setNextRow(); builder.addLabel(this.labels.getString("eaccpf.commons.date.type"), cc.xy(1, this.rowNb)); existenceDateTF.getDateFromDefinedRB().addActionListener( new AddUndefinedTexts(existenceDateTF, EacCpfIdentityPanel.KNOWN_DATE_FROM)); existenceDateTF.getDateToDefinedRB().addActionListener( new AddUndefinedTexts(existenceDateTF, EacCpfIdentityPanel.KNOWN_DATE_TO)); builder.add(existenceDateTF.getDateFromDefinedRB(), cc.xy(3, this.rowNb)); builder.add(existenceDateTF.getDateToDefinedRB(), cc.xy(7, this.rowNb)); this.setNextRow(); existenceDateTF.getDateFromUndefinedRB().addActionListener( new AddUndefinedTexts(existenceDateTF, EacCpfIdentityPanel.UNKNOWN_DATE_FROM)); existenceDateTF.getDateToUndefinedRB().addActionListener( new AddUndefinedTexts(existenceDateTF, EacCpfIdentityPanel.UNKNOWN_DATE_TO)); builder.add(existenceDateTF.getDateFromUndefinedRB(), cc.xy(3, this.rowNb)); builder.add(existenceDateTF.getDateToUndefinedRB(), cc.xy(7, this.rowNb)); setNextRow(); existenceDateTF.getDateFromStillRB().addActionListener( new AddUndefinedTexts(existenceDateTF, EacCpfIdentityPanel.STILL_DATE_FROM)); existenceDateTF.getDateToStillRB().addActionListener( new AddUndefinedTexts(existenceDateTF, EacCpfIdentityPanel.STILL_DATE_TO)); // builder.add(existenceDateTF.getDateFromStillRB(), cc.xy(3, this.rowNb)); builder.add(existenceDateTF.getDateToStillRB(), cc.xy(7, this.rowNb)); // Third date row. Standard dates. setNextRow(); builder.addLabel(this.labels.getString("eaccpf.commons.iso.date"), cc.xy(1, this.rowNb)); existenceDateTF.getStandardDateFromTextField() .addFocusListener(new CheckIsoText(existenceDateTF, EacCpfIdentityPanel.UNKNOWN_DATE_FROM)); builder.add(existenceDateTF.getStandardDateFromTextField(), cc.xy(3, this.rowNb)); //builder.addLabel(this.labels.getString("eaccpf.commons.iso.date"), cc.xy(5, this.rowNb)); existenceDateTF.getStandardDateToTextField() .addFocusListener(new CheckIsoText(existenceDateTF, EacCpfIdentityPanel.UNKNOWN_DATE_TO)); builder.add(existenceDateTF.getStandardDateToTextField(), cc.xy(7, this.rowNb)); if (errors.contains(EacCpfIdentityPanel.ERROR_EXISTENCE_DATES) && position == 0) { this.setNextRow(); builder.add(createErrorLabel(this.labels.getString("eaccpf.identity.error.empty.date.label")), cc.xyw(1, this.rowNb, 3)); } } else { // First date row. Normal date text fields. builder.addLabel(this.labels.getString("eaccpf.commons.date"), cc.xy(1, this.rowNb)); existenceDateTF.getDateTextField() .addFocusListener(new AddIsoText(existenceDateTF, EacCpfIdentityPanel.UNKNOWN_DATE)); builder.add(existenceDateTF.getDateTextField(), cc.xy(3, this.rowNb)); // Second date row. Unknown radiobuttons. setNextRow(); existenceDateTF.getDateDefinedRB() .addActionListener(new AddUndefinedTexts(existenceDateTF, EacCpfIdentityPanel.KNOWN_DATE)); builder.add(existenceDateTF.getDateDefinedRB(), cc.xy(3, this.rowNb)); this.setNextRow(); existenceDateTF.getDateUndefinedRB().addActionListener( new AddUndefinedTexts(existenceDateTF, EacCpfIdentityPanel.UNKNOWN_DATE)); builder.add(existenceDateTF.getDateUndefinedRB(), cc.xy(3, this.rowNb)); setNextRow(); existenceDateTF.getDateStillRB() .addActionListener(new AddUndefinedTexts(existenceDateTF, EacCpfIdentityPanel.STILL_DATE)); builder.add(existenceDateTF.getDateStillRB(), cc.xy(3, this.rowNb)); // Third date row. Standard dates. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.commons.iso.date"), cc.xy(1, this.rowNb)); existenceDateTF.getStandardDateTextField() .addFocusListener(new CheckIsoText(existenceDateTF, EacCpfIdentityPanel.UNKNOWN_DATE)); builder.add(existenceDateTF.getStandardDateTextField(), cc.xy(3, this.rowNb)); if (errors.contains(EacCpfIdentityPanel.ERROR_EXISTENCE_DATES) && position == 0) { this.setNextRow(); builder.add(createErrorLabel(this.labels.getString("eaccpf.identity.error.empty.date.label")), cc.xyw(1, this.rowNb, 3)); } } position++; } // Buttons to add new entries. this.setNextRow(); JButton addSingleDateBtn = new ButtonTab(this.labels.getString("eaccpf.commons.add.single.date")); addSingleDateBtn.addActionListener( new AddSingleOrRangeDateAction(this.eaccpf, this.tabbedPane, this.model, false, false, 0)); builder.add(addSingleDateBtn, cc.xy(1, this.rowNb)); JButton addRangeDateBtn = new ButtonTab(this.labels.getString("eaccpf.commons.add.range.date")); addRangeDateBtn.addActionListener( new AddSingleOrRangeDateAction(this.eaccpf, this.tabbedPane, this.model, false, true, 0)); builder.add(addRangeDateBtn, cc.xy(3, this.rowNb)); return builder; }
From source file:eu.apenet.dpt.standalone.gui.eaccpf.EacCpfIdentityPanel.java
License:EUPL
/** * Method to build the main buttons zone. * * @param builder the PanelBuilder to add the buttons. * @param cc the constraints to use.//from w w w. j a v a 2s . c o m * @return the PanelBuilder with the buttons. */ private PanelBuilder buildButtons(PanelBuilder builder, CellConstraints cc) { // Row for the next tab button. this.setNextRow(); builder.addSeparator("", cc.xyw(1, this.rowNb, 7)); this.setNextRow(); JButton nextTabBtn = new ButtonTab(this.labels.getString("eaccpf.commons.nextTab")); builder.add(nextTabBtn, cc.xy(5, this.rowNb)); nextTabBtn.addActionListener(new NextTabBtnAction(this.eaccpf, this.tabbedPane, this.model)); // Row for exit and save buttons. this.setNextRow(); JButton exitBtn = new ButtonTab(this.labels.getString("eaccpf.commons.exit")); builder.add(exitBtn, cc.xy(1, this.rowNb)); exitBtn.addActionListener(new ExitBtnAction(this.eaccpf, this.tabbedPane, this.model)); JButton saveBtn = new ButtonTab(labels.getString("eaccpf.commons.save")); builder.add(saveBtn, cc.xy(5, this.rowNb)); saveBtn.addActionListener(new SaveBtnAction(this.eaccpf, this.tabbedPane, this.model)); return builder; }
From source file:eu.apenet.dpt.standalone.gui.eaccpf.EacCpfRelationsPanel.java
License:EUPL
private PanelBuilder buildSetRelationsSection(PanelBuilder builder, CellConstraints cc) { // Define values of the part. if (this.eaccpf.getCpfDescription().getAlternativeSet() == null) { this.eaccpf.getCpfDescription().setAlternativeSet(new AlternativeSet()); }/*from ww w . j a v a2 s. c o m*/ if (this.eaccpf.getCpfDescription().getAlternativeSet().getSetComponent().isEmpty()) { // this.eaccpf.getCpfDescription().getAlternativeSet().getSetComponent().add(new SetComponent()); } List<SetComponent> setComponents = this.eaccpf.getCpfDescription().getAlternativeSet().getSetComponent(); for (int i = 0; i < setComponents.size(); i++) { // Set title. this.setNextRow(); builder.addSeparator(this.labels.getString("eaccpf.relations.cpf.relation"), cc.xyw(1, this.rowNb, 7)); this.setNextRow(); SetComponent setComponent = setComponents.get(i); // Create elements. TextFieldWithLanguage setComponentNameTf = null; JTextField setComponentIdentifierTf = null; TextFieldWithComboBoxEacCpf setComponentHrefAndTypeTf = new TextFieldWithComboBoxEacCpf( setComponent.getHref(), "identity", TextFieldWithComboBoxEacCpf.TYPE_CPF_RELATION, this.entityType, this.labels); TextAreaWithLanguage setComponentDescriptionTa = null; List<TextFieldWithLanguage> setComponentOrganisationNameAndIdTfList = new ArrayList<TextFieldWithLanguage>(); // Recovers the values of the relation entry elements. String title = ""; String other = ""; String language = ""; String id = ""; List<String> agencyNameList = new ArrayList<String>(); List<String> agencyCodeList = new ArrayList<String>(); if (!setComponent.getComponentEntry().isEmpty()) { for (ComponentEntry componentEntry : setComponent.getComponentEntry()) { // Title of the relation. // /eacCpf/cpfDescription/relations/setComponent/componentEntry@localType='title' if (StringUtils.isNotEmpty(componentEntry.getLocalType()) && componentEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_TITLE) && StringUtils.isNotEmpty(componentEntry.getContent())) { title = componentEntry.getContent(); } // Id of the relation. // /eacCpf/cpfDescription/relations/setComponent/componentEntry@localType='id' if (StringUtils.isNotEmpty(componentEntry.getLocalType()) && componentEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_ID) && StringUtils.isNotEmpty(componentEntry.getContent())) { id = componentEntry.getContent(); } // Agency name of the relation. // /eacCpf/cpfDescription/relations/setComponent/componentEntry@localType='agencyName' if (StringUtils.isNotEmpty(componentEntry.getLocalType()) && componentEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_AGENCYNAME)) { agencyNameList.add(componentEntry.getContent()); } // Agency code of the relation. // /eacCpf/cpfDescription/relations/setComponent/componentEntry@localType='agencyCode' if (StringUtils.isNotEmpty(componentEntry.getLocalType()) && componentEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_AGENCYCODE)) { agencyCodeList.add(componentEntry.getContent()); } // Texts of relation entries without @localType. // This texts will be loaded in field "name" if (StringUtils.isNotEmpty(componentEntry.getContent()) && StringUtils.isEmpty(componentEntry.getLocalType())) { if (!other.isEmpty()) { other = other + ". "; } other = other + componentEntry.getContent(); } // Language of the relation. // /eacCpf/cpfDescription/relations/setComponent/componentEntry@lang if (StringUtils.isEmpty(language) && StringUtils.isNotEmpty(componentEntry.getLang())) { language = componentEntry.getLang(); } } } else if (StringUtils.isNotEmpty(firstLanguage) && StringUtils.isEmpty(setComponent.getHref()) && StringUtils.isEmpty(setComponent.getType()) && (setComponent.getDescriptiveNote() == null || (setComponent.getDescriptiveNote() != null && setComponent.getDescriptiveNote().getP().isEmpty()))) { language = firstLanguage; } // Identifier of the relation. setComponentIdentifierTf = new JTextField(id); // Descriptive note. // /eacCpf/cpfDescription/relations/cpfRelation/descriptiveNote // Currently only recovers the content of the first value. String descriptiveNote = ""; if (setComponent.getDescriptiveNote() != null && !setComponent.getDescriptiveNote().getP().isEmpty() && StringUtils.isNotEmpty(setComponent.getDescriptiveNote().getP().get(0).getContent())) { descriptiveNote = setComponent.getDescriptiveNote().getP().get(0).getContent(); if (StringUtils.isEmpty(language)) { language = setComponent.getDescriptiveNote().getP().get(0).getLang(); } } setComponentDescriptionTa = new TextAreaWithLanguage(descriptiveNote, "", 1); // Name and language of the relation. if (title.isEmpty()) { title = other; } setComponentNameTf = new TextFieldWithLanguage(title, language); // Agency code and name of the relation. int size = 0; if (agencyNameList.size() > agencyCodeList.size()) { size = agencyNameList.size(); } else { size = agencyCodeList.size(); } if (size == 0) { agencyNameList.add(""); agencyCodeList.add(""); size = 1; } for (int j = 0; j < size; j++) { String agencyName = ""; String agencyCode = ""; if (agencyNameList.size() > j) { agencyName = agencyNameList.get(j); } if (agencyCodeList.size() > j) { agencyCode = agencyCodeList.get(j); } TextFieldWithLanguage cpfRelationOrganisationNameAndIdTf = new TextFieldWithLanguage(agencyName, language, agencyCode); setComponentOrganisationNameAndIdTfList.add(cpfRelationOrganisationNameAndIdTf); } // Add elements to the list. this.cpfRelationNameTfs.add(setComponentNameTf); this.cpfRelationIdentifierTfs.add(setComponentIdentifierTf); this.cpfRelationHrefAndTypeTfs.add(setComponentHrefAndTypeTf); this.cpfRelationDescriptionTas.add(setComponentDescriptionTa); cpfRelationOrganisationNameAndIdTfs.add(setComponentOrganisationNameAndIdTfList); // Add elements to the panel. // Name and language. builder.addLabel(this.labels.getString("eaccpf.relations.cpf.relation.name"), cc.xy(1, this.rowNb)); builder.add(setComponentNameTf.getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.commons.select.language"), cc.xy(5, this.rowNb)); builder.add(setComponentNameTf.getLanguageBox(), cc.xy(7, this.rowNb)); // Identity. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.cpf.relation.identifier"), cc.xy(1, this.rowNb)); builder.add(setComponentIdentifierTf, cc.xy(3, this.rowNb)); // Link and relation type. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.link"), cc.xy(1, this.rowNb)); builder.add(setComponentHrefAndTypeTf.getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.relations.relation.type") + "*", cc.xy(5, this.rowNb)); builder.add(setComponentHrefAndTypeTf.getComboBox(), cc.xy(7, this.rowNb)); // Agency part. // Title. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.cpf.relation.organisation"), cc.xyw(1, this.rowNb, 7)); for (int j = 0; j < setComponentOrganisationNameAndIdTfList.size(); j++) { // Name and identifier. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.name"), cc.xy(1, this.rowNb)); builder.add(setComponentOrganisationNameAndIdTfList.get(j).getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.relations.identifier"), cc.xy(5, this.rowNb)); builder.add(setComponentOrganisationNameAndIdTfList.get(j).getExtraField(), cc.xy(7, this.rowNb)); } // Description. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.description"), cc.xy(1, this.rowNb)); builder.add(setComponentDescriptionTa.getTextField(), cc.xyw(3, this.rowNb, 5)); // Button to add new agency information. // this.setNextRow(); // JButton addFurtherAgencyBtn = new ButtonTab(this.labels.getString("eaccpf.relations.add.further.organisation")); // addFurtherAgencyBtn.addActionListener(new AddFurtherAgency(this.eaccpf, this.tabbedPane, this.model,AddFurtherAgency.CPF,i)); // builder.add(addFurtherAgencyBtn, cc.xy(1, this.rowNb)); } return builder; }
From source file:eu.apenet.dpt.standalone.gui.eaccpf.EacCpfRelationsPanel.java
License:EUPL
/** * Method to build the relations with other EAC-CPF files. * * @param builder/*from w w w .j a v a2 s .c o m*/ * @param cc * @return the PanelBuilder */ private PanelBuilder buildCPFRelation(PanelBuilder builder, CellConstraints cc) { // Define values of the part. if (this.eaccpf.getCpfDescription().getRelations().getCpfRelation().isEmpty()) { if (this.eaccpf.getCpfDescription().getAlternativeSet() == null || (this.eaccpf.getCpfDescription().getAlternativeSet() != null && this.eaccpf.getCpfDescription().getAlternativeSet().getSetComponent().isEmpty())) { this.eaccpf.getCpfDescription().getRelations().getCpfRelation().add(new CpfRelation()); } } List<CpfRelation> cpfRelations = this.eaccpf.getCpfDescription().getRelations().getCpfRelation(); for (int i = 0; i < cpfRelations.size(); i++) { // Set title. this.setNextRow(); builder.addSeparator(this.labels.getString("eaccpf.relations.cpf.relation"), cc.xyw(1, this.rowNb, 7)); this.setNextRow(); CpfRelation cpfRelation = cpfRelations.get(i); // Create elements. TextFieldWithLanguage cpfRelationNameTf = null; JTextField cpfRelationIdentifierTf = null; TextFieldWithComboBoxEacCpf cpfRelationHrefAndTypeTf = null; TextAreaWithLanguage cpfRelationDescriptionTa = null; List<TextFieldWithLanguage> cpfRelationOrganisationNameAndIdTfList = new ArrayList<TextFieldWithLanguage>(); // Recovers the values of the relation entry elements. String title = ""; String other = ""; String language = ""; String id = ""; List<String> agencyNameList = new ArrayList<String>(); List<String> agencyCodeList = new ArrayList<String>(); if (!cpfRelation.getRelationEntry().isEmpty()) { for (RelationEntry relationEntry : cpfRelation.getRelationEntry()) { // Title of the relation. // /eacCpf/cpfDescription/relations/cpfRelation/relationEntry@localType='title' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_TITLE) && StringUtils.isNotEmpty(relationEntry.getContent())) { title = relationEntry.getContent(); } // Id of the relation. // /eacCpf/cpfDescription/relations/cpfRelation/relationEntry@localType='id' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_ID) && StringUtils.isNotEmpty(relationEntry.getContent())) { id = relationEntry.getContent(); } // Agency name of the relation. // /eacCpf/cpfDescription/relations/cpfRelation/relationEntry@localType='agencyName' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_AGENCYNAME)) { agencyNameList.add(relationEntry.getContent()); } // Agency code of the relation. // /eacCpf/cpfDescription/relations/cpfRelation/relationEntry@localType='agencyCode' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_AGENCYCODE)) { agencyCodeList.add(relationEntry.getContent()); } // Texts of relation entries without @localType. // This texts will be loaded in field "name" if (StringUtils.isNotEmpty(relationEntry.getContent()) && StringUtils.isEmpty(relationEntry.getLocalType())) { if (!other.isEmpty()) { other = other + ". "; } other = other + relationEntry.getContent(); } // Language of the relation. // /eacCpf/cpfDescription/relations/cpfRelation/relationEntry@lang if (StringUtils.isEmpty(language) && StringUtils.isNotEmpty(relationEntry.getLang())) { language = relationEntry.getLang(); } } } else if (StringUtils.isNotEmpty(firstLanguage) && StringUtils.isEmpty(cpfRelation.getHref()) && StringUtils.isEmpty(cpfRelation.getCpfRelationType()) && (cpfRelation.getDescriptiveNote() == null || (cpfRelation.getDescriptiveNote() != null && cpfRelation.getDescriptiveNote().getP().isEmpty()))) { language = firstLanguage; } // Identifier of the relation. cpfRelationIdentifierTf = new JTextField(id); // Type and link of the relation. String type = ""; String link = ""; // /eacCpf/cpfDescription/relations/cpfRelation@cpfRelationType if (StringUtils.isNotEmpty(cpfRelation.getCpfRelationType())) { type = cpfRelation.getCpfRelationType(); } // /eacCpf/cpfDescription/relations/cpfRelation@type if (StringUtils.isEmpty(type) && StringUtils.isNotEmpty(cpfRelation.getType())) { type = cpfRelation.getType(); } // /eacCpf/cpfDescription/relations/cpfRelation@xlink:href if (StringUtils.isNotEmpty(cpfRelation.getHref())) { link = cpfRelation.getHref(); } cpfRelationHrefAndTypeTf = new TextFieldWithComboBoxEacCpf(link, type, TextFieldWithComboBoxEacCpf.TYPE_CPF_RELATION, this.entityType, this.labels); // Descriptive note. // /eacCpf/cpfDescription/relations/cpfRelation/descriptiveNote // Currently only recovers the content of the first value. String descriptiveNote = ""; if (cpfRelation.getDescriptiveNote() != null && !cpfRelation.getDescriptiveNote().getP().isEmpty() && StringUtils.isNotEmpty(cpfRelation.getDescriptiveNote().getP().get(0).getContent())) { descriptiveNote = cpfRelation.getDescriptiveNote().getP().get(0).getContent(); if (StringUtils.isEmpty(language)) { language = cpfRelation.getDescriptiveNote().getP().get(0).getLang(); } } cpfRelationDescriptionTa = new TextAreaWithLanguage(descriptiveNote, "", 1); // Name and language of the relation. if (title.isEmpty()) { title = other; } cpfRelationNameTf = new TextFieldWithLanguage(title, language); // Agency code and name of the relation. int size = 0; if (agencyNameList.size() > agencyCodeList.size()) { size = agencyNameList.size(); } else { size = agencyCodeList.size(); } if (size == 0) { agencyNameList.add(""); agencyCodeList.add(""); size = 1; } for (int j = 0; j < size; j++) { String agencyName = ""; String agencyCode = ""; if (agencyNameList.size() > j) { agencyName = agencyNameList.get(j); } if (agencyCodeList.size() > j) { agencyCode = agencyCodeList.get(j); } TextFieldWithLanguage cpfRelationOrganisationNameAndIdTf = new TextFieldWithLanguage(agencyName, language, agencyCode); cpfRelationOrganisationNameAndIdTfList.add(cpfRelationOrganisationNameAndIdTf); } // Add elements to the list. this.cpfRelationNameTfs.add(cpfRelationNameTf); this.cpfRelationIdentifierTfs.add(cpfRelationIdentifierTf); this.cpfRelationHrefAndTypeTfs.add(cpfRelationHrefAndTypeTf); this.cpfRelationDescriptionTas.add(cpfRelationDescriptionTa); this.cpfRelationOrganisationNameAndIdTfs.add(cpfRelationOrganisationNameAndIdTfList); // Add elements to the panel. // Name and language. builder.addLabel(this.labels.getString("eaccpf.relations.cpf.relation.name"), cc.xy(1, this.rowNb)); builder.add(cpfRelationNameTf.getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.commons.select.language"), cc.xy(5, this.rowNb)); builder.add(cpfRelationNameTf.getLanguageBox(), cc.xy(7, this.rowNb)); // Identity. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.cpf.relation.identifier"), cc.xy(1, this.rowNb)); builder.add(cpfRelationIdentifierTf, cc.xy(3, this.rowNb)); // Link and relation type. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.link"), cc.xy(1, this.rowNb)); builder.add(cpfRelationHrefAndTypeTf.getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.relations.relation.type") + "*", cc.xy(5, this.rowNb)); builder.add(cpfRelationHrefAndTypeTf.getComboBox(), cc.xy(7, this.rowNb)); // Agency part. // Title. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.cpf.relation.organisation"), cc.xyw(1, this.rowNb, 7)); for (int j = 0; j < size; j++) { // Name and identifier. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.name"), cc.xy(1, this.rowNb)); builder.add(cpfRelationOrganisationNameAndIdTfList.get(j).getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.relations.identifier"), cc.xy(5, this.rowNb)); builder.add(cpfRelationOrganisationNameAndIdTfList.get(j).getExtraField(), cc.xy(7, this.rowNb)); } // Description. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.description"), cc.xy(1, this.rowNb)); builder.add(cpfRelationDescriptionTa.getTextField(), cc.xyw(3, this.rowNb, 5)); // Button to add new agency information. // this.setNextRow(); // JButton addFurtherAgencyBtn = new ButtonTab(this.labels.getString("eaccpf.relations.add.further.organisation")); // addFurtherAgencyBtn.addActionListener(new AddFurtherAgency(this.eaccpf, this.tabbedPane, this.model,AddFurtherAgency.CPF,i+this.eaccpf.getCpfDescription().getAlternativeSet().getSetComponent().size())); // builder.add(addFurtherAgencyBtn, cc.xy(1, this.rowNb)); } return builder; }
From source file:eu.apenet.dpt.standalone.gui.eaccpf.EacCpfRelationsPanel.java
License:EUPL
private PanelBuilder buildResourceRelationForm(PanelBuilder builder, CellConstraints cc, ResourceRelation resourceRelation, int i) { // Set title. setNextRow();/*from w w w . j a va2 s .c o m*/ builder.addSeparator(this.labels.getString("eaccpf.relations.resources.relation"), cc.xyw(1, this.rowNb, 7)); setNextRow(); // Create elements. TextFieldWithLanguage resourceRelationNameTf = null; JTextField resourceRelationIdentifierTf = null; TextFieldWithComboBoxEacCpf resourceRelationHrefAndTypeTf = null; TextAreaWithLanguage resourceRelationDescriptionTa = null; List<TextFieldWithLanguage> resourceRelationOrganisationNameAndIdTfsList = new ArrayList<TextFieldWithLanguage>(); // Recovers the values of the relation entry elements. String title = ""; String other = ""; String language = ""; String id = ""; List<String> agencyNameList = new ArrayList<String>(); List<String> agencyCodeList = new ArrayList<String>(); // Type and link of the relation. String type = ""; String link = ""; // Descriptive note. // /eacCpf/cpfDescription/relations/resourceRelation/descriptiveNote // Currently only recovers the content of the first value. String descriptiveNote = ""; // Agency code and name of the relation. int size = 0; if (resourceRelation != null) { for (RelationEntry relationEntry : resourceRelation.getRelationEntry()) { // Title of the relation. // /eacCpf/cpfDescription/relations/resourceRelation/relationEntry@localType='title' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_TITLE) && StringUtils.isNotEmpty(relationEntry.getContent())) { title = relationEntry.getContent(); } // Id of the relation. // /eacCpf/cpfDescription/relations/resourceRelation/relationEntry@localType='id' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_ID) && StringUtils.isNotEmpty(relationEntry.getContent())) { id = relationEntry.getContent(); } // Agency name of the relation. // /eacCpf/cpfDescription/relations/resourceRelation/relationEntry@localType='agencyName' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_AGENCYNAME)) { agencyNameList.add(relationEntry.getContent()); } // Agency code of the relation. // /eacCpf/cpfDescription/relations/resourceRelation/relationEntry@localType='agencyCode' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_AGENCYCODE)) { agencyCodeList.add(relationEntry.getContent()); } // Texts of relation entries without @localType. // This texts will be loaded in field "name" if (StringUtils.isNotEmpty(relationEntry.getContent()) && StringUtils.isEmpty(relationEntry.getLocalType())) { if (!other.isEmpty()) { other = other + ". "; } other = other + relationEntry.getContent(); } // Language of the relation. // /eacCpf/cpfDescription/relations/resourceRelation/relationEntry@lang if (StringUtils.isEmpty(language) && StringUtils.isNotEmpty(relationEntry.getLang())) { language = relationEntry.getLang(); } } // /eacCpf/cpfDescription/relations/resourceRelation@resourceRelationType if (StringUtils.isNotEmpty(resourceRelation.getResourceRelationType())) { type = resourceRelation.getResourceRelationType(); } // /eacCpf/cpfDescription/relations/resourceRelation@type if (StringUtils.isEmpty(type) && StringUtils.isNotEmpty(resourceRelation.getType())) { type = resourceRelation.getType(); } // /eacCpf/cpfDescription/relations/resourceRelation@xlink:href if (StringUtils.isNotEmpty(resourceRelation.getHref())) { link = resourceRelation.getHref(); } if (resourceRelation.getDescriptiveNote() != null && !resourceRelation.getDescriptiveNote().getP().isEmpty() && StringUtils.isNotEmpty(resourceRelation.getDescriptiveNote().getP().get(0).getContent())) { descriptiveNote = resourceRelation.getDescriptiveNote().getP().get(0).getContent(); if (StringUtils.isEmpty(language)) { language = resourceRelation.getDescriptiveNote().getP().get(0).getLang(); } } // Name and language of the relation. if (title.isEmpty()) { title = other; } if (agencyNameList.size() > agencyCodeList.size()) { size = agencyNameList.size(); } else { size = agencyCodeList.size(); } if (size == 0) { agencyNameList.add(""); agencyCodeList.add(""); size = 1; } } if (StringUtils.isEmpty(language) && StringUtils.isNotEmpty(firstLanguage) && (resourceRelation != null && StringUtils.isEmpty(resourceRelation.getHref()) && StringUtils.isEmpty(resourceRelation.getResourceRelationType()) && (resourceRelation.getDescriptiveNote() == null || (resourceRelation.getDescriptiveNote() != null && resourceRelation.getDescriptiveNote().getP().isEmpty()))) || resourceRelation == null) { language = firstLanguage; } resourceRelationNameTf = new TextFieldWithLanguage(title, language); // Identifier of the relation. resourceRelationIdentifierTf = new JTextField(id); resourceRelationHrefAndTypeTf = new TextFieldWithComboBoxEacCpf(link, type, TextFieldWithComboBoxEacCpf.TYPE_RESOURCE_RELATION, this.entityType, this.labels); resourceRelationDescriptionTa = new TextAreaWithLanguage(descriptiveNote, "", 1); for (int j = 0; j < size; j++) { String agencyName = ""; String agencyCode = ""; if (agencyNameList.size() > j) { agencyName = agencyNameList.get(j); } if (agencyCodeList.size() > j) { agencyCode = agencyCodeList.get(j); } TextFieldWithLanguage resourceRelationOrganisationNameAndIdTf = new TextFieldWithLanguage(agencyName, language, agencyCode); resourceRelationOrganisationNameAndIdTfsList.add(resourceRelationOrganisationNameAndIdTf); } if (size == 0) { resourceRelationOrganisationNameAndIdTfsList.add(new TextFieldWithLanguage("", "", "")); } // Add elements to the list. this.resourceRelationNameTfs.add(resourceRelationNameTf); this.resourceRelationIdentifierTfs.add(resourceRelationIdentifierTf); this.resourceRelationHrefAndTypeTfs.add(resourceRelationHrefAndTypeTf); this.resourceRelationDescriptionTas.add(resourceRelationDescriptionTa); this.resourceRelationOrganisationNameAndIdTfs.put(Integer.valueOf(i), resourceRelationOrganisationNameAndIdTfsList); // Add elements to the panel. // Name and language. builder.addLabel(this.labels.getString("eaccpf.relations.resource.relation.name"), cc.xy(1, this.rowNb)); builder.add(resourceRelationNameTf.getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.commons.select.language"), cc.xy(5, this.rowNb)); builder.add(resourceRelationNameTf.getLanguageBox(), cc.xy(7, this.rowNb)); // Identity. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.resource.relation.identifier"), cc.xy(1, this.rowNb)); builder.add(resourceRelationIdentifierTf, cc.xy(3, this.rowNb)); // Link and relation type. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.link"), cc.xy(1, this.rowNb)); builder.add(resourceRelationHrefAndTypeTf.getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.relations.relation.type") + "*", cc.xy(5, this.rowNb)); builder.add(resourceRelationHrefAndTypeTf.getComboBox(), cc.xy(7, this.rowNb)); // Agency part. // Title. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.resource.relation.organisation"), cc.xyw(1, this.rowNb, 7)); if (size > 0) { //flag which control if has been counter a valid list or an empty list for (int j = 0; j < size; j++) { // Name and identifier. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.name"), cc.xy(1, this.rowNb)); builder.add(resourceRelationOrganisationNameAndIdTfsList.get(j).getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.relations.identifier"), cc.xy(5, this.rowNb)); builder.add(resourceRelationOrganisationNameAndIdTfsList.get(j).getExtraField(), cc.xy(7, this.rowNb)); } } else { this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.name"), cc.xy(1, this.rowNb)); builder.add(resourceRelationOrganisationNameAndIdTfsList.get(0).getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.relations.identifier"), cc.xy(5, this.rowNb)); builder.add(resourceRelationOrganisationNameAndIdTfsList.get(0).getExtraField(), cc.xy(7, this.rowNb)); } // Description. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.description"), cc.xy(1, this.rowNb)); builder.add(resourceRelationDescriptionTa.getTextField(), cc.xyw(3, this.rowNb, 5)); // // Button to add new agency information. // this.setNextRow(); // JButton addFurtherAgencyBtn = new ButtonTab(this.labels.getString("eaccpf.relations.add.further.organisation")); // addFurtherAgencyBtn.addActionListener(new AddFurtherAgency(this.eaccpf, this.tabbedPane, this.model, AddFurtherAgency.RESOURCE, i)); // builder.add(addFurtherAgencyBtn, cc.xy(1, this.rowNb)); return builder; }
From source file:eu.apenet.dpt.standalone.gui.eaccpf.EacCpfRelationsPanel.java
License:EUPL
/** * Main method to build the section that contains the relations with other functions. * * @param builder/*w w w . java2 s. c om*/ * @param cc * @return the PanelBuilder */ private PanelBuilder buildFunctionsRelationsSection(PanelBuilder builder, CellConstraints cc) { // Set section title. this.setNextRow(); /*builder.addSeparator("", cc.xyw(1, this.rowNb, 7)); this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.functions.section"), cc.xyw(1, this.rowNb, 7)); this.setNextRow();*/ // Define values of the part. if (this.eaccpf.getCpfDescription().getRelations().getFunctionRelation().isEmpty()) { this.eaccpf.getCpfDescription().getRelations().getFunctionRelation().add(new FunctionRelation()); } List<FunctionRelation> functionRelations = this.eaccpf.getCpfDescription().getRelations() .getFunctionRelation(); this.functionRelationNameTfs = new ArrayList<TextFieldWithLanguage>(functionRelations.size()); this.functionRelationIdentifierTfs = new ArrayList<JTextField>(functionRelations.size()); this.functionRelationHrefAndTypeTfs = new ArrayList<TextFieldWithComboBoxEacCpf>(functionRelations.size()); this.functionRelationDescriptionTas = new ArrayList<TextAreaWithLanguage>(functionRelations.size()); this.functionRelationOrganisationNameAndIdTfs = new HashMap<Integer, List<TextFieldWithLanguage>>( functionRelations.size()); for (int i = 0; i < functionRelations.size(); i++) { // Set title. this.setNextRow(); builder.addSeparator(this.labels.getString("eaccpf.relations.functions.relation"), cc.xyw(1, this.rowNb, 7)); this.setNextRow(); FunctionRelation functionRelation = functionRelations.get(i); // Create elements. TextFieldWithLanguage resourceRelationNameTf = null; JTextField resourceRelationIdentifierTf = null; TextFieldWithComboBoxEacCpf resourceRelationHrefAndTypeTf = null; TextAreaWithLanguage resourceRelationDescriptionTa = null; List<TextFieldWithLanguage> resourceRelationOrganisationNameAndIdTfsList = new ArrayList<TextFieldWithLanguage>(); // Recovers the values of the relation entry elements. String title = ""; String other = ""; String language = ""; String id = ""; List<String> agencyNameList = new ArrayList<String>(); List<String> agencyCodeList = new ArrayList<String>(); if (!functionRelation.getRelationEntry().isEmpty()) { for (RelationEntry relationEntry : functionRelation.getRelationEntry()) { // Title of the relation. // /eacCpf/cpfDescription/relations/functionRelation/relationEntry@localType='title' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_TITLE) && StringUtils.isNotEmpty(relationEntry.getContent())) { title = relationEntry.getContent(); } // Id of the relation. // /eacCpf/cpfDescription/relations/functionRelation/relationEntry@localType='id' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_ID) && StringUtils.isNotEmpty(relationEntry.getContent())) { id = relationEntry.getContent(); } // Agency name of the relation. // /eacCpf/cpfDescription/relations/functionRelation/relationEntry@localType='agencyName' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_AGENCYNAME)) { agencyNameList.add(relationEntry.getContent()); } // Agency code of the relation. // /eacCpf/cpfDescription/relations/functionRelation/relationEntry@localType='agencyCode' if (StringUtils.isNotEmpty(relationEntry.getLocalType()) && relationEntry.getLocalType().equals(EacCpfRelationsPanel.LOCALTYPE_AGENCYCODE)) { agencyCodeList.add(relationEntry.getContent()); } // Texts of relation entries without @localType. // This texts will be loaded in field "name" if (StringUtils.isNotEmpty(relationEntry.getContent()) && StringUtils.isEmpty(relationEntry.getLocalType())) { if (!other.isEmpty()) { other = other + ". "; } other = other + relationEntry.getContent(); } // Language of the relation. // /eacCpf/cpfDescription/relations/functionRelation/relationEntry@lang if (StringUtils.isEmpty(language) && StringUtils.isNotEmpty(relationEntry.getLang())) { language = relationEntry.getLang(); } } } else if (StringUtils.isNotEmpty(firstLanguage) && StringUtils.isEmpty(functionRelation.getHref()) && StringUtils.isEmpty(functionRelation.getFunctionRelationType()) && (functionRelation.getDescriptiveNote() == null || (functionRelation.getDescriptiveNote() != null && functionRelation.getDescriptiveNote().getP().isEmpty()))) { language = firstLanguage; } // Identifier of the relation. resourceRelationIdentifierTf = new JTextField(id); // Type and link of the relation. String type = ""; String link = ""; // /eacCpf/cpfDescription/relations/functionRelation@functionRelationType if (StringUtils.isNotEmpty(functionRelation.getFunctionRelationType())) { type = functionRelation.getFunctionRelationType(); } // /eacCpf/cpfDescription/relations/functionRelation@type if (StringUtils.isEmpty(type) && StringUtils.isNotEmpty(functionRelation.getType())) { type = functionRelation.getType(); } // /eacCpf/cpfDescription/relations/functionRelation@xlink:href if (StringUtils.isNotEmpty(functionRelation.getHref())) { link = functionRelation.getHref(); } resourceRelationHrefAndTypeTf = new TextFieldWithComboBoxEacCpf(link, type, TextFieldWithComboBoxEacCpf.TYPE_FUNCTION_RELATION, this.entityType, this.labels); // Descriptive note. // /eacCpf/cpfDescription/relations/functionRelation/descriptiveNote // Currently only recovers the content of the first value. String descriptiveNote = ""; if (functionRelation.getDescriptiveNote() != null && !functionRelation.getDescriptiveNote().getP().isEmpty() && StringUtils.isNotEmpty(functionRelation.getDescriptiveNote().getP().get(0).getContent())) { descriptiveNote = functionRelation.getDescriptiveNote().getP().get(0).getContent(); if (StringUtils.isEmpty(language)) { language = functionRelation.getDescriptiveNote().getP().get(0).getLang(); } } resourceRelationDescriptionTa = new TextAreaWithLanguage(descriptiveNote, "", 1); // Name and language of the relation. if (title.isEmpty()) { title = other; } resourceRelationNameTf = new TextFieldWithLanguage(title, language); // Agency code and name of the relation. int size = 0; if (agencyNameList.size() > agencyCodeList.size()) { size = agencyNameList.size(); } else { size = agencyCodeList.size(); } if (size == 0) { agencyNameList.add(""); agencyCodeList.add(""); size = 1; } for (int j = 0; j < size; j++) { String agencyName = ""; String agencyCode = ""; if (agencyNameList.size() > j) { agencyName = agencyNameList.get(j); } if (agencyCodeList.size() > j) { agencyCode = agencyCodeList.get(j); } TextFieldWithLanguage resourceRelationOrganisationNameAndIdTf = new TextFieldWithLanguage( agencyName, language, agencyCode); resourceRelationOrganisationNameAndIdTfsList.add(resourceRelationOrganisationNameAndIdTf); } // Add elements to the list. this.functionRelationNameTfs.add(resourceRelationNameTf); this.functionRelationIdentifierTfs.add(resourceRelationIdentifierTf); this.functionRelationHrefAndTypeTfs.add(resourceRelationHrefAndTypeTf); this.functionRelationDescriptionTas.add(resourceRelationDescriptionTa); this.functionRelationOrganisationNameAndIdTfs.put(Integer.valueOf(i), resourceRelationOrganisationNameAndIdTfsList); // Add elements to the panel. // Name and language. builder.addLabel(this.labels.getString("eaccpf.relations.function.relation.name"), cc.xy(1, this.rowNb)); builder.add(resourceRelationNameTf.getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.commons.select.language"), cc.xy(5, this.rowNb)); builder.add(resourceRelationNameTf.getLanguageBox(), cc.xy(7, this.rowNb)); // Identity. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.function.relation.identifier"), cc.xy(1, this.rowNb)); builder.add(resourceRelationIdentifierTf, cc.xy(3, this.rowNb)); // Link and relation type. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.link"), cc.xy(1, this.rowNb)); builder.add(resourceRelationHrefAndTypeTf.getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.relations.relation.type") + "*", cc.xy(5, this.rowNb)); builder.add(resourceRelationHrefAndTypeTf.getComboBox(), cc.xy(7, this.rowNb)); // Agency part. // Title. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.function.relation.organisation"), cc.xyw(1, this.rowNb, 7)); for (int j = 0; j < size; j++) { // Name and identifier. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.name"), cc.xy(1, this.rowNb)); builder.add(resourceRelationOrganisationNameAndIdTfsList.get(j).getTextField(), cc.xy(3, this.rowNb)); builder.addLabel(this.labels.getString("eaccpf.relations.identifier"), cc.xy(5, this.rowNb)); builder.add(resourceRelationOrganisationNameAndIdTfsList.get(j).getExtraField(), cc.xy(7, this.rowNb)); } // Description. this.setNextRow(); builder.addLabel(this.labels.getString("eaccpf.relations.description"), cc.xy(1, this.rowNb)); builder.add(resourceRelationDescriptionTa.getTextField(), cc.xyw(3, this.rowNb, 5)); // Button to add new agency information. // this.setNextRow(); // JButton addFurtherAgencyBtn = new ButtonTab(this.labels.getString("eaccpf.relations.add.further.organisation")); // addFurtherAgencyBtn.addActionListener(new AddFurtherAgency(this.eaccpf, this.tabbedPane, this.model, AddFurtherAgency.FUNCTION,i)); // builder.add(addFurtherAgencyBtn, cc.xy(1, this.rowNb)); } // Button to add new resource relation. this.setNextRow(); JButton addFurtherFunctionBtn = new ButtonTab( this.labels.getString("eaccpf.relations.add.further.function")); addFurtherFunctionBtn.addActionListener(new AddFurtherFunction(this.eaccpf, this.tabbedPane, this.model)); builder.add(addFurtherFunctionBtn, cc.xy(1, this.rowNb)); return builder; }
From source file:eu.apenet.dpt.standalone.gui.eaccpf.EacCpfStartPanel.java
License:EUPL
/** * Builds and answer the editor's tab for the given layout. * @return the editor's panel//from w w w .j a va 2 s. co m */ 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, max(100dlu;p)", EDITOR_ROW_SPEC); layout.setColumnGroups(new int[][] { { 1, 5 }, { 3, 7 } }); PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); CellConstraints cc = new CellConstraints(); LanguageDeclaration languageDeclaration = null; if (this.eaccpf.getControl().getLanguageDeclaration() == null) { languageDeclaration = new LanguageDeclaration(); languageDeclaration.setLanguage(new Language()); languageDeclaration.setScript(new Script()); this.eaccpf.getControl().setLanguageDeclaration(languageDeclaration); } rowNb = 1; builder.addSeparator(labels.getString("eaccpf.start.title"), cc.xyw(1, rowNb, 7)); this.setNextRow(); // the radio button Panel builder.addLabel(labels.getString("eaccpf.start.createInstance") + "*" + ":", cc.xy(1, rowNb)); this.radioBtnPanel = new JPanel(); builder.add(makeCheckboxesType(), cc.xyw(3, rowNb, 5)); this.setNextRow(); builder.addLabel(labels.getString("eaccpf.start.text"), cc.xyw(1, rowNb, 5)); this.setNextRow(); //language builder.addLabel(labels.getString("eaccpf.start.language") + ":", cc.xy(1, rowNb)); LanguageWithScript languageWithScript = new LanguageWithScript( languageDeclaration.getLanguage().getLanguageCode(), languageDeclaration.getScript().getScriptCode(), labels); this.languageWithScriptFirst = languageWithScript; builder.add(languageWithScript.getLanguageBox(), cc.xy(3, rowNb)); //script builder.addLabel(labels.getString("eaccpf.start.script") + ":", cc.xy(5, rowNb)); builder.add(languageWithScript.getScriptBox(), cc.xy(7, rowNb)); this.setNextRow(); builder.addSeparator("", cc.xyw(1, rowNb, 7)); this.setNextRow(); //exit button JButton exitBtn = new ButtonTab(labels.getString("eaccpf.commons.exit")); builder.add(exitBtn, cc.xy(5, rowNb)); exitBtn.addActionListener(new ExitBtnAction()); //Go button JButton goBtn = new ButtonTab(labels.getString("eaccpf.start.go")); goBtn.addActionListener(new GoBtnAction()); builder.add(goBtn, cc.xy(7, rowNb)); JScrollPane scrollPane; scrollPane = new JScrollPane(builder.getPanel()); scrollPane.getVerticalScrollBar().setUnitIncrement(20); return scrollPane; }
From source file:eu.apenet.dpt.standalone.gui.eag2012.EagAccessAndServicesPanel.java
License:EUPL
@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);/*from w w w . j a v a 2 s . c om*/ } } 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
License:EUPL
@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);//ww w . j av a 2 s . 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; }