Example #1
0
  public static void bindModelToView(ArrayList fieldsToBind, DomainObject model) {

    BeanAdapter adapter = new BeanAdapter(model, true);
    ValueModel valueModel = null;
    Object field = null;
    ATFieldInfo fieldInfo;
    String fieldName = "";
    ComboBoxAdapter comboBoxAdapter = null;

    for (int i = 0; i < fieldsToBind.size(); i++) {
      field = fieldsToBind.get(i);
      fieldName = ((JComponent) field).getName();
      valueModel = adapter.getValueModel(fieldName);
      if (!ignoreArray.contains(fieldName)) {
        if (field instanceof JFormattedTextField) {
          Bindings.bind((JFormattedTextField) field, valueModel);
        } else if (field instanceof JTextComponent) {
          //						Bindings.bind((JTextComponent) field, valueModel);
        } else if (field instanceof JCheckBox) {
          Bindings.bind((JCheckBox) field, valueModel);
        } else if (field instanceof JComboBox) {
          fieldInfo = ATFieldInfo.getFieldInfo(model.getClass().getName() + "." + fieldName);
          if (fieldInfo != null) {
            Vector<String> values = LookupListUtils.getLookupListValues(fieldInfo.getLookupList());
            if (values != null) {
              comboBoxAdapter = new ComboBoxAdapter(values, valueModel);
              ((JComboBox) field).setModel(comboBoxAdapter);
            }
          }
        } else {
          System.out.println(fieldName + " not bound");
        }
      }
    }
  }
 private String cleanAndTrim(String valueToClean, Class clazz, String propertyName) {
   String returnString = StringHelper.cleanUpWhiteSpace(valueToClean);
   ATFieldInfo fieldInfo = ATFieldInfo.getFieldInfo(clazz, propertyName);
   if (fieldInfo.getStringLengthLimit() != null && fieldInfo.getStringLengthLimit() > 0) {
     return StringHelper.trimToLength(returnString, fieldInfo.getStringLengthLimit());
   } else {
     return returnString;
   }
 }
  private void parseAccessionNumber(Accessions accession, IdentifierType value) {
    String composite = value.getComposite();

    if (composite != null) {
      StringTokenizer st = new StringTokenizer(composite, "./-");
      int count = 0;
      String thisToken;
      while (st.hasMoreTokens()) {
        count++;
        thisToken = StringHelper.cleanUpWhiteSpace((String) st.nextElement());
        if (count == 1) {
          accession.setAccessionNumber1(
              StringHelper.trimToLength(
                  thisToken,
                  ATFieldInfo.checkFieldLength(
                      Accessions.class, Accessions.PROPERTYNAME_ACCESSION_NUMBER_1)));
        } else if (count == 2) {
          accession.setAccessionNumber2(
              StringHelper.trimToLength(
                  thisToken,
                  ATFieldInfo.checkFieldLength(
                      Accessions.class, Accessions.PROPERTYNAME_ACCESSION_NUMBER_2)));
        } else if (count == 3) {
          accession.setAccessionNumber3(
              StringHelper.trimToLength(
                  thisToken,
                  ATFieldInfo.checkFieldLength(
                      Accessions.class, Accessions.PROPERTYNAME_ACCESSION_NUMBER_3)));
        } else if (count == 4) {
          accession.setAccessionNumber4(
              StringHelper.trimToLength(
                  thisToken,
                  ATFieldInfo.checkFieldLength(
                      Accessions.class, Accessions.PROPERTYNAME_ACCESSION_NUMBER_4)));
        }
      }
    } else {
      accession.setAccessionNumber1(
          cleanAndTrim(
              value.getPart1(), Accessions.class, Accessions.PROPERTYNAME_ACCESSION_NUMBER_1));
      if (value.getPart2() != null) {
        accession.setAccessionNumber2(
            cleanAndTrim(
                value.getPart2(), Accessions.class, Accessions.PROPERTYNAME_ACCESSION_NUMBER_2));
      }
      if (value.getPart3() != null) {
        accession.setAccessionNumber3(
            cleanAndTrim(
                value.getPart3(), Accessions.class, Accessions.PROPERTYNAME_ACCESSION_NUMBER_3));
      }
      if (value.getPart4() != null) {
        accession.setAccessionNumber4(
            cleanAndTrim(
                value.getPart4(), Accessions.class, Accessions.PROPERTYNAME_ACCESSION_NUMBER_4));
      }
    }
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    sortNameDisplay =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_SORT_NAME));
    tabbedPane = new JTabbedPane();
    detailsContainer = new JPanel();
    detailsPanel = new JPanel();
    separator3 = new JSeparator();
    descriptionPanel = new JPanel();
    label_nameDescriptionNote2 = new JLabel();
    nameDescriptionType =
        ATBasicComponentFactory.createComboBox(
            detailsModel, Names.PROPERTYNAME_DESCRIPTION_TYPE, Names.class);
    label_nameDescriptionNote = new JLabel();
    scrollPane2 = new JScrollPane();
    nameDescriptionNote =
        ATBasicComponentFactory.createTextArea(
            detailsModel.getModel(Names.PROPERTYNAME_DESCRIPTION_NOTE));
    label_nameCitation = new JLabel();
    scrollPane23 = new JScrollPane();
    nameCitation =
        ATBasicComponentFactory.createTextArea(detailsModel.getModel(Names.PROPERTYNAME_CITATION));
    nonPreferredNamePanel = new JPanel();
    label_subjectScopeNote4 = new JLabel();
    scrollPane1 = new JScrollPane();
    nonPreferredNamesTable =
        new DomainSortableTable(NonPreferredNames.class, NonPreferredNames.PROPERTYNAME_SORT_NAME);
    panel1 = new JPanel();
    addNonPreferredNameButton = new JButton();
    removeNonPreferredNameButton = new JButton();
    separator1 = new JSeparator();
    label_subjectScopeNote3 = new JLabel();
    scrollPane5 = new JScrollPane();
    accessionsTable =
        new DomainSortableTable(Accessions.class, Accessions.PROPERTYNAME_ACCESSION_NUMBER);
    separator2 = new JSeparator();
    label_subjectScopeNote2 = new JLabel();
    scrollPane4 = new JScrollPane();
    resourcesTable =
        new ResourceAndComponentLinkTable(
            Resources.class, Resources.PROPERTYNAME_RESOURCE_IDENTIFIER);
    label1 = new JLabel();
    separator4 = new JSeparator();
    label_subjectScopeNote5 = new JLabel();
    scrollPane6 = new JScrollPane();
    digitalObjectsTable =
        new DomainSortableTable(DigitalObjects.class, DigitalObjects.PROPERTYNAME_METS_IDENTIFIER);
    contactInfoPanel = new JPanel();
    label_nameContactAddress3 = new JLabel();
    salutation =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_SALUTATION));
    label_nameContactAddress1 = new JLabel();
    nameContactAddress1 =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_ADDRESS_1));
    label_nameContactAddress2 = new JLabel();
    nameContactAddress2 =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_ADDRESS_2));
    label_nameContactCity = new JLabel();
    nameContactCity =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_CITY));
    label_nameContactRegion = new JLabel();
    nameContactRegion =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_REGION));
    label_nameContactMailCode = new JLabel();
    nameContactMailCode =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_MAIL_CODE));
    label_nameContactCountry = new JLabel();
    nameContactCountry =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_COUNTRY));
    label_nameContactPhone = new JLabel();
    nameContactPhone =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_PHONE));
    label_nameContactFax = new JLabel();
    nameContactFax =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_FAX));
    label_nameContactEmail = new JLabel();
    nameContactEmail =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_EMAIL));
    label_nameContactName = new JLabel();
    nameContactName =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_NAME));
    label_nameContactNotes = new JLabel();
    scrollPane3 = new JScrollPane();
    nameContactNotesTable = new DomainSortedTable(NameContactNotes.class);
    panel2 = new JPanel();
    addNoteButton = new JButton();
    removeContactNoteButton = new JButton();
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    setBackground(new Color(200, 205, 232));
    setPreferredSize(new Dimension(900, 500));
    setBorder(Borders.DLU4_BORDER);
    setLayout(new FormLayout("default:grow", "default, fill:default:grow"));

    // ---- sortNameDisplay ----
    sortNameDisplay.setEditable(false);
    sortNameDisplay.setBorder(null);
    sortNameDisplay.setForeground(new Color(0, 0, 102));
    sortNameDisplay.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    sortNameDisplay.setSelectionColor(new Color(204, 0, 51));
    sortNameDisplay.setOpaque(false);
    add(sortNameDisplay, cc.xy(1, 1));

    // ======== tabbedPane ========
    {
      tabbedPane.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      tabbedPane.setBackground(new Color(200, 205, 232));
      tabbedPane.setOpaque(true);

      // ======== detailsContainer ========
      {
        detailsContainer.setBackground(new Color(200, 205, 232));
        detailsContainer.setLayout(
            new FormLayout(
                ColumnSpec.decodeSpecs("default:grow"),
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC
                }));

        // ======== detailsPanel ========
        {
          detailsPanel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          detailsPanel.setBackground(new Color(200, 205, 232));
          detailsPanel.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    new ColumnSpec(ColumnSpec.RIGHT, Sizes.DEFAULT, FormSpec.NO_GROW),
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    new ColumnSpec("max(default;300px):grow"),
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  new RowSpec[] {
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC
                  }));
        }
        detailsContainer.add(detailsPanel, cc.xy(1, 1));

        // ---- separator3 ----
        separator3.setBackground(new Color(220, 220, 232));
        separator3.setForeground(new Color(147, 131, 86));
        separator3.setMinimumSize(new Dimension(1, 10));
        separator3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        detailsContainer.add(separator3, cc.xy(1, 3));

        // ======== descriptionPanel ========
        {
          descriptionPanel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          descriptionPanel.setBackground(new Color(200, 205, 232));
          descriptionPanel.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                  },
                  new RowSpec[] {
                    new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW),
                    FormFactory.LINE_GAP_ROWSPEC,
                    new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW),
                    FormFactory.LINE_GAP_ROWSPEC,
                    new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW)
                  }));

          // ---- label_nameDescriptionNote2 ----
          label_nameDescriptionNote2.setText("Name Description Type");
          label_nameDescriptionNote2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(
              label_nameDescriptionNote2, Names.class, Names.PROPERTYNAME_DESCRIPTION_TYPE);
          descriptionPanel.add(label_nameDescriptionNote2, cc.xy(1, 1));

          // ---- nameDescriptionType ----
          nameDescriptionType.setOpaque(false);
          nameDescriptionType.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          descriptionPanel.add(
              nameDescriptionType,
              cc.xywh(3, 1, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

          // ---- label_nameDescriptionNote ----
          label_nameDescriptionNote.setText("Description Note");
          label_nameDescriptionNote.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(
              label_nameDescriptionNote, Names.class, Names.PROPERTYNAME_DESCRIPTION_NOTE);
          descriptionPanel.add(label_nameDescriptionNote, cc.xy(1, 3));

          // ======== scrollPane2 ========
          {
            scrollPane2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

            // ---- nameDescriptionNote ----
            nameDescriptionNote.setRows(8);
            nameDescriptionNote.setLineWrap(true);
            nameDescriptionNote.setWrapStyleWord(true);
            nameDescriptionNote.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            scrollPane2.setViewportView(nameDescriptionNote);
          }
          descriptionPanel.add(scrollPane2, cc.xy(3, 3));

          // ---- label_nameCitation ----
          label_nameCitation.setText("Citation(s)");
          label_nameCitation.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(label_nameCitation, Names.class, Names.PROPERTYNAME_CITATION);
          descriptionPanel.add(label_nameCitation, cc.xy(1, 5));

          // ======== scrollPane23 ========
          {
            scrollPane23.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane23.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

            // ---- nameCitation ----
            nameCitation.setRows(8);
            nameCitation.setLineWrap(true);
            nameCitation.setWrapStyleWord(true);
            nameCitation.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            scrollPane23.setViewportView(nameCitation);
          }
          descriptionPanel.add(scrollPane23, cc.xy(3, 5));
        }
        detailsContainer.add(descriptionPanel, cc.xy(1, 5));
      }
      tabbedPane.addTab("Details", detailsContainer);

      // ======== nonPreferredNamePanel ========
      {
        nonPreferredNamePanel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.setBackground(new Color(200, 205, 232));
        nonPreferredNamePanel.setLayout(
            new FormLayout(
                ColumnSpec.decodeSpecs("default:grow"),
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.CENTER, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.CENTER, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.CENTER, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC
                }));

        // ---- label_subjectScopeNote4 ----
        label_subjectScopeNote4.setText("Non-Preferred Forms");
        label_subjectScopeNote4.setVerticalAlignment(SwingConstants.TOP);
        label_subjectScopeNote4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(
            label_subjectScopeNote4,
            cc.xywh(1, 1, 1, 1, CellConstraints.DEFAULT, CellConstraints.TOP));

        // ======== scrollPane1 ========
        {
          scrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- nonPreferredNamesTable ----
          nonPreferredNamesTable.setPreferredScrollableViewportSize(new Dimension(450, 120));
          nonPreferredNamesTable.addMouseListener(
              new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                  nonPreferredNamesTableMouseClicked(e);
                }
              });
          scrollPane1.setViewportView(nonPreferredNamesTable);
        }
        nonPreferredNamePanel.add(
            scrollPane1, cc.xywh(1, 3, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

        // ======== panel1 ========
        {
          panel1.setBackground(new Color(231, 188, 251));
          panel1.setOpaque(false);
          panel1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          panel1.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  RowSpec.decodeSpecs("default")));

          // ---- addNonPreferredNameButton ----
          addNonPreferredNameButton.setText("Add Non-Preferred Form");
          addNonPreferredNameButton.setOpaque(false);
          addNonPreferredNameButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          addNonPreferredNameButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  addNonPreferredNameButtonActionPerformed();
                }
              });
          panel1.add(addNonPreferredNameButton, cc.xy(1, 1));

          // ---- removeNonPreferredNameButton ----
          removeNonPreferredNameButton.setText("Remove Non-Preferred Form");
          removeNonPreferredNameButton.setOpaque(false);
          removeNonPreferredNameButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          removeNonPreferredNameButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  removeNonPreferredNameButtonActionPerformed();
                }
              });
          panel1.add(removeNonPreferredNameButton, cc.xy(3, 1));
        }
        nonPreferredNamePanel.add(
            panel1, cc.xywh(1, 5, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

        // ---- separator1 ----
        separator1.setBackground(new Color(220, 220, 232));
        separator1.setForeground(new Color(147, 131, 86));
        separator1.setMinimumSize(new Dimension(1, 10));
        separator1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(separator1, cc.xy(1, 7));

        // ---- label_subjectScopeNote3 ----
        label_subjectScopeNote3.setText("Accessions");
        label_subjectScopeNote3.setVerticalAlignment(SwingConstants.TOP);
        label_subjectScopeNote3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(
            label_subjectScopeNote3,
            cc.xywh(1, 9, 1, 1, CellConstraints.DEFAULT, CellConstraints.TOP));

        // ======== scrollPane5 ========
        {
          scrollPane5.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane5.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- accessionsTable ----
          accessionsTable.setPreferredScrollableViewportSize(new Dimension(450, 120));
          scrollPane5.setViewportView(accessionsTable);
        }
        nonPreferredNamePanel.add(scrollPane5, cc.xy(1, 11));

        // ---- separator2 ----
        separator2.setBackground(new Color(220, 220, 232));
        separator2.setForeground(new Color(147, 131, 86));
        separator2.setMinimumSize(new Dimension(1, 10));
        separator2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(separator2, cc.xy(1, 13));

        // ---- label_subjectScopeNote2 ----
        label_subjectScopeNote2.setText("Resources");
        label_subjectScopeNote2.setVerticalAlignment(SwingConstants.TOP);
        label_subjectScopeNote2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(label_subjectScopeNote2, cc.xy(1, 15));

        // ======== scrollPane4 ========
        {
          scrollPane4.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- resourcesTable ----
          resourcesTable.setPreferredScrollableViewportSize(new Dimension(450, 120));
          scrollPane4.setViewportView(resourcesTable);
        }
        nonPreferredNamePanel.add(scrollPane4, cc.xy(1, 17));

        // ---- label1 ----
        label1.setText("Resources in Red have the subject term linked at the component level");
        label1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(label1, cc.xy(1, 19));

        // ---- separator4 ----
        separator4.setBackground(new Color(220, 220, 232));
        separator4.setForeground(new Color(147, 131, 86));
        separator4.setMinimumSize(new Dimension(1, 10));
        separator4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(separator4, cc.xy(1, 21));

        // ---- label_subjectScopeNote5 ----
        label_subjectScopeNote5.setText("Digital Objects");
        label_subjectScopeNote5.setVerticalAlignment(SwingConstants.TOP);
        label_subjectScopeNote5.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(label_subjectScopeNote5, cc.xy(1, 23));

        // ======== scrollPane6 ========
        {
          scrollPane6.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane6.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- digitalObjectsTable ----
          digitalObjectsTable.setPreferredScrollableViewportSize(new Dimension(450, 120));
          scrollPane6.setViewportView(digitalObjectsTable);
        }
        nonPreferredNamePanel.add(scrollPane6, cc.xy(1, 25));
      }
      tabbedPane.addTab(
          "Non-Preferred Forms, Accessions, Resources & Digital Objects", nonPreferredNamePanel);

      // ======== contactInfoPanel ========
      {
        contactInfoPanel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.setBackground(new Color(200, 205, 232));
        contactInfoPanel.setBorder(Borders.DLU2_BORDER);
        contactInfoPanel.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec("max(default;100px):grow"),
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                },
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC
                }));

        // ---- label_nameContactAddress3 ----
        label_nameContactAddress3.setText("Salutation");
        label_nameContactAddress3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactAddress3, Names.class, Names.PROPERTYNAME_SALUTATION);
        contactInfoPanel.add(label_nameContactAddress3, cc.xy(1, 1));

        // ---- salutation ----
        salutation.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(salutation, cc.xywh(3, 1, 9, 1));

        // ---- label_nameContactAddress1 ----
        label_nameContactAddress1.setText("Address");
        label_nameContactAddress1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactAddress1, Names.class, Names.PROPERTYNAME_CONTACT_ADDRESS_1);
        contactInfoPanel.add(label_nameContactAddress1, cc.xy(1, 3));

        // ---- nameContactAddress1 ----
        nameContactAddress1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactAddress1, cc.xywh(3, 3, 9, 1));

        // ---- label_nameContactAddress2 ----
        label_nameContactAddress2.setText("Address");
        label_nameContactAddress2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactAddress2, Names.class, Names.PROPERTYNAME_CONTACT_ADDRESS_2);
        contactInfoPanel.add(label_nameContactAddress2, cc.xy(1, 5));

        // ---- nameContactAddress2 ----
        nameContactAddress2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactAddress2, cc.xywh(3, 5, 9, 1));

        // ---- label_nameContactCity ----
        label_nameContactCity.setText("City");
        label_nameContactCity.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactCity, Names.class, Names.PROPERTYNAME_CONTACT_CITY);
        contactInfoPanel.add(label_nameContactCity, cc.xy(1, 7));

        // ---- nameContactCity ----
        nameContactCity.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactCity, cc.xy(3, 7));

        // ---- label_nameContactRegion ----
        label_nameContactRegion.setText("Region");
        label_nameContactRegion.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactRegion, Names.class, Names.PROPERTYNAME_CONTACT_REGION);
        contactInfoPanel.add(label_nameContactRegion, cc.xy(5, 7));

        // ---- nameContactRegion ----
        nameContactRegion.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactRegion, cc.xy(7, 7));

        // ---- label_nameContactMailCode ----
        label_nameContactMailCode.setText("Mail Code");
        label_nameContactMailCode.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactMailCode, Names.class, Names.PROPERTYNAME_CONTACT_MAIL_CODE);
        contactInfoPanel.add(label_nameContactMailCode, cc.xy(9, 7));

        // ---- nameContactMailCode ----
        nameContactMailCode.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactMailCode, cc.xy(11, 7));

        // ---- label_nameContactCountry ----
        label_nameContactCountry.setText("Country");
        label_nameContactCountry.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactCountry, Names.class, Names.PROPERTYNAME_CONTACT_COUNTRY);
        contactInfoPanel.add(label_nameContactCountry, cc.xy(1, 9));

        // ---- nameContactCountry ----
        nameContactCountry.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactCountry, cc.xywh(3, 9, 9, 1));

        // ---- label_nameContactPhone ----
        label_nameContactPhone.setText("Telephone");
        label_nameContactPhone.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactPhone, Names.class, Names.PROPERTYNAME_CONTACT_PHONE);
        contactInfoPanel.add(label_nameContactPhone, cc.xy(1, 11));

        // ---- nameContactPhone ----
        nameContactPhone.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactPhone, cc.xywh(3, 11, 5, 1));

        // ---- label_nameContactFax ----
        label_nameContactFax.setText("FAX");
        label_nameContactFax.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactFax, Names.class, Names.PROPERTYNAME_CONTACT_FAX);
        contactInfoPanel.add(label_nameContactFax, cc.xy(9, 11));

        // ---- nameContactFax ----
        nameContactFax.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactFax, cc.xy(11, 11));

        // ---- label_nameContactEmail ----
        label_nameContactEmail.setText("e-mail");
        label_nameContactEmail.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactEmail, Names.class, Names.PROPERTYNAME_CONTACT_EMAIL);
        contactInfoPanel.add(label_nameContactEmail, cc.xy(1, 13));

        // ---- nameContactEmail ----
        nameContactEmail.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactEmail, cc.xywh(3, 13, 9, 1));

        // ---- label_nameContactName ----
        label_nameContactName.setText("Contact");
        label_nameContactName.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactName, Names.class, Names.PROPERTYNAME_CONTACT_NAME);
        contactInfoPanel.add(label_nameContactName, cc.xy(1, 15));

        // ---- nameContactName ----
        nameContactName.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactName, cc.xywh(3, 15, 9, 1));

        // ---- label_nameContactNotes ----
        label_nameContactNotes.setText("Notes");
        label_nameContactNotes.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(
            label_nameContactNotes,
            cc.xywh(1, 17, 1, 1, CellConstraints.DEFAULT, CellConstraints.TOP));

        // ======== scrollPane3 ========
        {
          scrollPane3.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- nameContactNotesTable ----
          nameContactNotesTable.setPreferredScrollableViewportSize(new Dimension(450, 150));
          nameContactNotesTable.addMouseListener(
              new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                  nameContactNotesTableMousePressed(e);
                }

                @Override
                public void mouseReleased(MouseEvent e) {
                  nameContactNotesTableMouseReleased(e);
                }

                @Override
                public void mouseClicked(MouseEvent e) {
                  nameContactNotesTableMouseClicked(e);
                }
              });
          scrollPane3.setViewportView(nameContactNotesTable);
        }
        contactInfoPanel.add(scrollPane3, cc.xywh(3, 17, 9, 1));

        // ======== panel2 ========
        {
          panel2.setBackground(new Color(231, 188, 251));
          panel2.setOpaque(false);
          panel2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          panel2.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  RowSpec.decodeSpecs("default")));

          // ---- addNoteButton ----
          addNoteButton.setText("Add Note");
          addNoteButton.setOpaque(false);
          addNoteButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          addNoteButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  addNoteButtonActionPerformed();
                }
              });
          panel2.add(addNoteButton, cc.xy(1, 1));

          // ---- removeContactNoteButton ----
          removeContactNoteButton.setText("Remove Contact Note");
          removeContactNoteButton.setOpaque(false);
          removeContactNoteButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          removeContactNoteButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  removeContactNoteButtonActionPerformed();
                }
              });
          panel2.add(removeContactNoteButton, cc.xy(3, 1));
        }
        contactInfoPanel.add(
            panel2, cc.xywh(3, 19, 9, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));
      }
      tabbedPane.addTab("Contact Info", contactInfoPanel);
    }
    add(tabbedPane, cc.xy(1, 2));
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }
  private void addResource(
      Accessions accession,
      IdentifierType resourceId,
      DomainImportController controller,
      String accesionNumber,
      int recordNumber)
      throws ImportException {

    if (resourceId != null) {

      String resourceId1;
      String resourceId2 = null;
      String resourceId3 = null;
      String resourceId4 = null;
      if (resourceId.getComposite() != null) {
        resourceId1 =
            StringHelper.trimToLength(
                resourceId.getComposite(),
                ATFieldInfo.checkFieldLength(
                    Resources.class, Resources.PROPERTYNAME_RESOURCE_IDENTIFIER_1));
      } else {
        resourceId1 = resourceId.getPart1();
        resourceId2 = resourceId.getPart2();
        resourceId3 = resourceId.getPart3();
        resourceId4 = resourceId.getPart4();
      }

      ResourcesDAO resourceDao = new ResourcesDAO();
      Resources resource;
      if (resourceCreation.equalsIgnoreCase(AccessionImportXmlHandler.RESOURCE_CREATION_NONE)) {
        resource =
            resourceDao.lookupResource(
                resourceId1, resourceId2, resourceId3, resourceId4, false, repository);
      } else {
        resource =
            resourceDao.lookupResource(
                resourceId1, resourceId2, resourceId3, resourceId4, true, repository);
      }
      if (resourceDao.getNewRecordCreated()
          && resourceCreation.equalsIgnoreCase(AccessionImportXmlHandler.RESOURCE_CREATION_FULL)) {
        try {
          resource = (Resources) resourceDao.findByPrimaryKeyLongSession(resource.getIdentifier());
          resource.populateResourceFromAccession(accession);
          resourceDao.updateLongSession(resource);

        } catch (LookupException e) {
          throw new ImportException(
              "Error creating resource: " + resourceId + ", " + e.getMessage(), e);
        } catch (PersistenceException e) {
          throw new ImportException(
              "Error creating resource: " + resourceId + ", " + e.getMessage(), e);
        } catch (DuplicateLinkException e) {
          throw new ImportException(
              "Error creating resource: duplicate link" + resourceId + ", " + e.getMessage(), e);
        }
      }
      if (resource != null) {
        AccessionsResources accessionResource = new AccessionsResources(resource, accession);
        accession.addAccessionsResources(accessionResource);
      }
    } else {
      if (!resourceCreation.equalsIgnoreCase(AccessionImportXmlHandler.RESOURCE_CREATION_NONE)) {
        controller.addLineToImportLog(
            "Record # "
                + recordNumber
                + " - "
                + accesionNumber
                + " has no resource id so no resource record was created");
      }
    }
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    label_subjectScopeNote = new JLabel();
    scrollPane1 = new JScrollPane();
    descritpion =
        ATBasicComponentFactory.createTextArea(
            detailsModel.getModel(IndexItems.PROPERTYNAME_ITEM_VALUE));
    label_subjectScopeNote2 = new JLabel();
    type =
        ATBasicComponentFactory.createComboBox(
            detailsModel, IndexItems.PROPERTYNAME_ITEM_TYPE, IndexItems.class);
    label_subjectScopeNote3 = new JLabel();
    reference = new JComboBox();
    label_subjectScopeNote4 = new JLabel();
    referenceText =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(IndexItems.PROPERTYNAME_REFERENCE_TEXT));
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    setBorder(Borders.DLU4_BORDER);
    setBackground(new Color(234, 201, 250));
    setOpaque(false);
    setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    setLayout(
        new FormLayout(
            new ColumnSpec[] {
              FormFactory.DEFAULT_COLSPEC,
              FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
              new ColumnSpec("max(default;400px):grow")
            },
            new RowSpec[] {
              FormFactory.DEFAULT_ROWSPEC,
              FormFactory.LINE_GAP_ROWSPEC,
              new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW),
              FormFactory.LINE_GAP_ROWSPEC,
              new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW),
              FormFactory.LINE_GAP_ROWSPEC,
              FormFactory.DEFAULT_ROWSPEC
            }));

    // ---- label_subjectScopeNote ----
    label_subjectScopeNote.setText("Value");
    label_subjectScopeNote.setVerticalAlignment(SwingConstants.TOP);
    label_subjectScopeNote.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    ATFieldInfo.assignLabelInfo(
        label_subjectScopeNote, IndexItems.class, IndexItems.PROPERTYNAME_ITEM_VALUE);
    add(label_subjectScopeNote, cc.xywh(1, 1, 1, 1, CellConstraints.DEFAULT, CellConstraints.TOP));

    // ======== scrollPane1 ========
    {
      scrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
      scrollPane1.setMaximumSize(new Dimension(32767, 100));
      scrollPane1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

      // ---- descritpion ----
      descritpion.setRows(4);
      descritpion.setLineWrap(true);
      descritpion.setTabSize(20);
      descritpion.setWrapStyleWord(true);
      scrollPane1.setViewportView(descritpion);
    }
    add(scrollPane1, cc.xy(3, 1));

    // ---- label_subjectScopeNote2 ----
    label_subjectScopeNote2.setText("Type");
    label_subjectScopeNote2.setVerticalAlignment(SwingConstants.TOP);
    label_subjectScopeNote2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    ATFieldInfo.assignLabelInfo(
        label_subjectScopeNote2, IndexItems.class, IndexItems.PROPERTYNAME_ITEM_TYPE);
    add(
        label_subjectScopeNote2,
        cc.xywh(1, 3, 1, 1, CellConstraints.DEFAULT, CellConstraints.CENTER));

    // ---- type ----
    type.setMaximumSize(new Dimension(50, 27));
    type.setOpaque(false);
    type.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    add(type, cc.xywh(3, 3, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

    // ---- label_subjectScopeNote3 ----
    label_subjectScopeNote3.setText("Reference");
    label_subjectScopeNote3.setVerticalAlignment(SwingConstants.TOP);
    label_subjectScopeNote3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    ATFieldInfo.assignLabelInfo(
        label_subjectScopeNote3, IndexItems.class, IndexItems.PROPERTYNAME_REFERENCE);
    add(
        label_subjectScopeNote3,
        cc.xywh(1, 5, 1, 1, CellConstraints.DEFAULT, CellConstraints.CENTER));

    // ---- reference ----
    reference.setMaximumSize(new Dimension(50, 27));
    reference.setOpaque(false);
    reference.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    reference.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            referenceActionPerformed(e);
          }
        });
    add(reference, cc.xywh(3, 5, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

    // ---- label_subjectScopeNote4 ----
    label_subjectScopeNote4.setText("Reference Text");
    label_subjectScopeNote4.setVerticalAlignment(SwingConstants.TOP);
    label_subjectScopeNote4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    ATFieldInfo.assignLabelInfo(
        label_subjectScopeNote4, IndexItems.class, IndexItems.PROPERTYNAME_REFERENCE_TEXT);
    add(
        label_subjectScopeNote4,
        cc.xywh(1, 7, 1, 1, CellConstraints.DEFAULT, CellConstraints.CENTER));
    add(referenceText, cc.xy(3, 7));
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    panel7 = new JPanel();
    panel3 = new JPanel();
    label_resourcesLevel = new JLabel();
    resourcesLevel =
        ATBasicComponentFactory.createComboBox(
            detailsModel, ResourcesComponents.PROPERTYNAME_LEVEL, ResourcesComponents.class);
    panel12 = new JPanel();
    label3 = new JLabel();
    resourcesDateBegin2 =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_PERSISTENT_ID));
    label_otherLevel = new JLabel();
    resourcesOtherLevel =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_OTHER_LEVEL), false);
    label_resourcesTitle = new JLabel();
    scrollPane42 = new JScrollPane();
    resourcesTitle =
        ATBasicComponentFactory.createTextArea(
            detailsModel.getModel(ArchDescription.PROPERTYNAME_TITLE), false);
    tagApplicatorPanel = new JPanel();
    insertInlineTag =
        ATBasicComponentFactory.createUnboundComboBox(
            InLineTagsUtils.getInLineTagList(InLineTagsUtils.TITLE));
    label_repositoryName4 = new JLabel();
    scrollPane8 = new JScrollPane();
    dateTable = new DomainSortableTable(ArchDescriptionDates.class);
    panel22 = new JPanel();
    addDate = new JButton();
    removeDate = new JButton();
    panel9 = new JPanel();
    label_resourcesLanguageCode2 = new JLabel();
    resourcesLanguageCode =
        ATBasicComponentFactory.createComboBox(
            detailsModel,
            ResourcesComponents.PROPERTYNAME_LANGUAGE_CODE,
            ResourcesComponents.class);
    panel23 = new JPanel();
    label_resourcesLanguageNote2 = new JLabel();
    scrollPane423 = new JScrollPane();
    resourcesLanguageNote =
        ATBasicComponentFactory.createTextArea(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_REPOSITORY_PROCESSING_NOTE),
            false);
    separator2 = new JSeparator();
    panel10 = new JPanel();
    panel1 = new JPanel();
    label_resourcesLevel2 = new JLabel();
    subdivisionIdentifier =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_UNIQUE_IDENTIFIER), false);
    label_repositoryName5 = new JLabel();
    scrollPane9 = new JScrollPane();
    physicalDescriptionsTable = new DomainSortableTable(ArchDescriptionPhysicalDescriptions.class);
    panel24 = new JPanel();
    addPhysicalDescription = new JButton();
    removePhysicalDescription = new JButton();
    panel2 = new JPanel();
    panel6 = new JPanel();
    label1 = new JLabel();
    scrollPane4 = new JScrollPane();
    instancesTable =
        new DomainSortableTable(
            ArchDescriptionInstances.class, ArchDescriptionInstances.PROPERTYNAME_INSTANCE_TYPE);
    panel13 = new JPanel();
    addInstanceButton = new JButton();
    removeInstanceButton = new JButton();
    panel4 = new JPanel();
    restrictionsApply2 =
        ATBasicComponentFactory.createCheckBox(
            detailsModel,
            ResourcesComponents.PROPERTYNAME_INTERNAL_ONLY,
            ResourcesComponents.class);
    resourcesRestrictionsApply =
        ATBasicComponentFactory.createCheckBox(
            detailsModel,
            ArchDescription.PROPERTYNAME_RESTRICTIONS_APPLY,
            ResourcesComponents.class);
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    setBackground(new Color(200, 205, 232));
    setLayout(
        new FormLayout(
            new ColumnSpec[] {
              FormFactory.DEFAULT_COLSPEC,
              FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
              FormFactory.DEFAULT_COLSPEC,
              FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
              FormFactory.DEFAULT_COLSPEC
            },
            RowSpec.decodeSpecs("default")));

    // ======== panel7 ========
    {
      panel7.setOpaque(false);
      panel7.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel7.setBorder(Borders.DLU2_BORDER);
      panel7.setLayout(
          new FormLayout(
              ColumnSpec.decodeSpecs("default:grow"),
              new RowSpec[] {
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
              }));

      // ======== panel3 ========
      {
        panel3.setOpaque(false);
        panel3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel3.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.MIN_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.RIGHT, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                },
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC
                }));

        // ---- label_resourcesLevel ----
        label_resourcesLevel.setText("Level");
        label_resourcesLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLevel,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_LEVEL);
        panel3.add(
            label_resourcesLevel,
            cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

        // ---- resourcesLevel ----
        resourcesLevel.setOpaque(false);
        resourcesLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        resourcesLevel.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                resourcesLevelActionPerformed();
              }
            });
        panel3.add(
            resourcesLevel, cc.xywh(3, 1, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

        // ======== panel12 ========
        {
          panel12.setOpaque(false);
          panel12.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  RowSpec.decodeSpecs("default")));

          // ---- label3 ----
          label3.setText("Persistent ID");
          label3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(
              label3, ResourcesComponents.class, ResourcesComponents.PROPERTYNAME_PERSISTENT_ID);
          panel12.add(label3, cc.xy(1, 1));

          // ---- resourcesDateBegin2 ----
          resourcesDateBegin2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          resourcesDateBegin2.setEditable(false);
          resourcesDateBegin2.setOpaque(false);
          panel12.add(resourcesDateBegin2, cc.xy(3, 1));
        }
        panel3.add(panel12, cc.xy(5, 1));

        // ---- label_otherLevel ----
        label_otherLevel.setText("Other Level");
        label_otherLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_otherLevel,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_OTHER_LEVEL);
        panel3.add(
            label_otherLevel, cc.xywh(1, 3, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

        // ---- resourcesOtherLevel ----
        resourcesOtherLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel3.add(resourcesOtherLevel, cc.xywh(3, 3, 3, 1));

        // ---- label_resourcesTitle ----
        label_resourcesTitle.setText("Title");
        label_resourcesTitle.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesTitle,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_TITLE);
        panel3.add(label_resourcesTitle, cc.xywh(1, 5, 5, 1));

        // ======== scrollPane42 ========
        {
          scrollPane42.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane42.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- resourcesTitle ----
          resourcesTitle.setRows(4);
          resourcesTitle.setLineWrap(true);
          resourcesTitle.setWrapStyleWord(true);
          resourcesTitle.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          scrollPane42.setViewportView(resourcesTitle);
        }
        panel3.add(scrollPane42, cc.xywh(1, 7, 5, 1));

        // ======== tagApplicatorPanel ========
        {
          tagApplicatorPanel.setOpaque(false);
          tagApplicatorPanel.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  RowSpec.decodeSpecs("default")));

          // ---- insertInlineTag ----
          insertInlineTag.setOpaque(false);
          insertInlineTag.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          insertInlineTag.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  insertInlineTagActionPerformed();
                }
              });
          tagApplicatorPanel.add(insertInlineTag, cc.xy(1, 1));
        }
        panel3.add(tagApplicatorPanel, cc.xywh(1, 9, 5, 1));
      }
      panel7.add(panel3, cc.xywh(1, 1, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

      // ---- label_repositoryName4 ----
      label_repositoryName4.setText("Dates");
      label_repositoryName4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel7.add(label_repositoryName4, cc.xy(1, 3));

      // ======== scrollPane8 ========
      {
        scrollPane8.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        scrollPane8.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        scrollPane8.setPreferredSize(new Dimension(200, 104));

        // ---- dateTable ----
        dateTable.setPreferredScrollableViewportSize(new Dimension(200, 100));
        dateTable.addMouseListener(
            new MouseAdapter() {
              @Override
              public void mouseClicked(MouseEvent e) {
                dateTableMouseClicked(e);
              }
            });
        scrollPane8.setViewportView(dateTable);
      }
      panel7.add(scrollPane8, cc.xywh(1, 5, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

      // ======== panel22 ========
      {
        panel22.setBackground(new Color(231, 188, 251));
        panel22.setOpaque(false);
        panel22.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel22.setMinimumSize(new Dimension(100, 29));
        panel22.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC
                },
                RowSpec.decodeSpecs("default")));

        // ---- addDate ----
        addDate.setText("Add Date");
        addDate.setOpaque(false);
        addDate.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        addDate.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                addDateActionPerformed(e);
              }
            });
        panel22.add(addDate, cc.xy(1, 1));

        // ---- removeDate ----
        removeDate.setText("Remove Date");
        removeDate.setOpaque(false);
        removeDate.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        removeDate.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                removeDateActionPerformed(e);
              }
            });
        panel22.add(removeDate, cc.xy(3, 1));
      }
      panel7.add(panel22, cc.xywh(1, 7, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

      // ======== panel9 ========
      {
        panel9.setOpaque(false);
        panel9.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec("left:min(default;200px)")
                },
                RowSpec.decodeSpecs("default")));

        // ---- label_resourcesLanguageCode2 ----
        label_resourcesLanguageCode2.setText("Lanaguage");
        label_resourcesLanguageCode2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLanguageCode2,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_LANGUAGE_CODE);
        panel9.add(label_resourcesLanguageCode2, cc.xy(1, 1));

        // ---- resourcesLanguageCode ----
        resourcesLanguageCode.setMaximumSize(new Dimension(150, 32767));
        resourcesLanguageCode.setOpaque(false);
        resourcesLanguageCode.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel9.add(
            resourcesLanguageCode,
            cc.xywh(3, 1, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));
      }
      panel7.add(panel9, cc.xy(1, 9));

      // ======== panel23 ========
      {
        panel23.setOpaque(false);
        panel23.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel23.setLayout(
            new FormLayout(
                ColumnSpec.decodeSpecs("default:grow"),
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                }));

        // ---- label_resourcesLanguageNote2 ----
        label_resourcesLanguageNote2.setText("Repository Processing Note");
        label_resourcesLanguageNote2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLanguageNote2,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_REPOSITORY_PROCESSING_NOTE);
        panel23.add(
            label_resourcesLanguageNote2,
            new CellConstraints(
                1,
                1,
                1,
                1,
                CellConstraints.DEFAULT,
                CellConstraints.DEFAULT,
                new Insets(0, 10, 0, 0)));

        // ======== scrollPane423 ========
        {
          scrollPane423.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane423.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- resourcesLanguageNote ----
          resourcesLanguageNote.setRows(4);
          resourcesLanguageNote.setWrapStyleWord(true);
          resourcesLanguageNote.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          scrollPane423.setViewportView(resourcesLanguageNote);
        }
        panel23.add(
            scrollPane423,
            new CellConstraints(
                1,
                3,
                1,
                1,
                CellConstraints.DEFAULT,
                CellConstraints.DEFAULT,
                new Insets(0, 10, 0, 0)));
      }
      panel7.add(panel23, cc.xy(1, 11));
    }
    add(panel7, cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

    // ---- separator2 ----
    separator2.setForeground(new Color(147, 131, 86));
    separator2.setOrientation(SwingConstants.VERTICAL);
    add(separator2, cc.xywh(3, 1, 1, 1, CellConstraints.FILL, CellConstraints.FILL));

    // ======== panel10 ========
    {
      panel10.setOpaque(false);
      panel10.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel10.setBorder(Borders.DLU2_BORDER);
      panel10.setLayout(
          new FormLayout(
              ColumnSpec.decodeSpecs("default:grow"),
              new RowSpec[] {
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.NO_GROW),
                FormFactory.LINE_GAP_ROWSPEC,
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC
              }));

      // ======== panel1 ========
      {
        panel1.setOpaque(false);
        panel1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel1.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                },
                RowSpec.decodeSpecs("default")));

        // ---- label_resourcesLevel2 ----
        label_resourcesLevel2.setText("Component Unique Identifier");
        label_resourcesLevel2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLevel2,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_UNIQUE_IDENTIFIER);
        panel1.add(
            label_resourcesLevel2,
            cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

        // ---- subdivisionIdentifier ----
        subdivisionIdentifier.setColumns(5);
        subdivisionIdentifier.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel1.add(
            subdivisionIdentifier,
            cc.xywh(3, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));
      }
      panel10.add(panel1, cc.xy(1, 1));

      // ---- label_repositoryName5 ----
      label_repositoryName5.setText("Physical Description");
      label_repositoryName5.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel10.add(label_repositoryName5, cc.xy(1, 3));

      // ======== scrollPane9 ========
      {
        scrollPane9.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        scrollPane9.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        scrollPane9.setPreferredSize(new Dimension(200, 104));

        // ---- physicalDescriptionsTable ----
        physicalDescriptionsTable.setPreferredScrollableViewportSize(new Dimension(200, 100));
        physicalDescriptionsTable.addMouseListener(
            new MouseAdapter() {
              @Override
              public void mouseClicked(MouseEvent e) {
                physicalDescriptionMouseClicked(e);
              }
            });
        scrollPane9.setViewportView(physicalDescriptionsTable);
      }
      panel10.add(scrollPane9, cc.xywh(1, 5, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

      // ======== panel24 ========
      {
        panel24.setBackground(new Color(231, 188, 251));
        panel24.setOpaque(false);
        panel24.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel24.setMinimumSize(new Dimension(100, 29));
        panel24.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC
                },
                RowSpec.decodeSpecs("default")));

        // ---- addPhysicalDescription ----
        addPhysicalDescription.setText("Add Description");
        addPhysicalDescription.setOpaque(false);
        addPhysicalDescription.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        addPhysicalDescription.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                addPhysicalDescriptionActionPerformed();
              }
            });
        panel24.add(addPhysicalDescription, cc.xy(1, 1));

        // ---- removePhysicalDescription ----
        removePhysicalDescription.setText("Remove Description");
        removePhysicalDescription.setOpaque(false);
        removePhysicalDescription.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        removePhysicalDescription.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                removePhysicalDescriptionActionPerformed();
              }
            });
        panel24.add(removePhysicalDescription, cc.xy(3, 1));
      }
      panel10.add(panel24, cc.xywh(1, 7, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

      // ======== panel2 ========
      {
        panel2.setBackground(new Color(182, 187, 212));
        panel2.setBorder(new BevelBorder(BevelBorder.LOWERED));
        panel2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel2.setLayout(new FormLayout("default:grow", "fill:default:grow"));

        // ======== panel6 ========
        {
          panel6.setOpaque(false);
          panel6.setBorder(Borders.DLU2_BORDER);
          panel6.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.RELATED_GAP_COLSPEC,
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                  },
                  new RowSpec[] {
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC
                  }));

          // ---- label1 ----
          label1.setText("Instances");
          label1.setForeground(new Color(0, 0, 102));
          label1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(
              label1, ResourcesComponents.class, ResourcesComponents.PROPERTYNAME_INSTANCES);
          panel6.add(label1, cc.xywh(1, 1, 2, 1));

          // ======== scrollPane4 ========
          {
            scrollPane4.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

            // ---- instancesTable ----
            instancesTable.setPreferredScrollableViewportSize(new Dimension(200, 75));
            instancesTable.setRowHeight(20);
            instancesTable.addMouseListener(
                new MouseAdapter() {
                  @Override
                  public void mouseClicked(MouseEvent e) {
                    instancesTableMouseClicked(e);
                  }
                });
            scrollPane4.setViewportView(instancesTable);
          }
          panel6.add(scrollPane4, cc.xy(2, 3));

          // ======== panel13 ========
          {
            panel13.setBackground(new Color(231, 188, 251));
            panel13.setOpaque(false);
            panel13.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel13.setLayout(
                new FormLayout(
                    new ColumnSpec[] {
                      FormFactory.DEFAULT_COLSPEC,
                      FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                      FormFactory.DEFAULT_COLSPEC
                    },
                    RowSpec.decodeSpecs("default")));

            // ---- addInstanceButton ----
            addInstanceButton.setBackground(new Color(231, 188, 251));
            addInstanceButton.setText("Add Instance");
            addInstanceButton.setOpaque(false);
            addInstanceButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            addInstanceButton.addActionListener(
                new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                    addInstanceButtonActionPerformed();
                  }
                });
            panel13.add(addInstanceButton, cc.xy(1, 1));

            // ---- removeInstanceButton ----
            removeInstanceButton.setBackground(new Color(231, 188, 251));
            removeInstanceButton.setText("Remove Instance");
            removeInstanceButton.setOpaque(false);
            removeInstanceButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            removeInstanceButton.addActionListener(
                new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                    removeInstanceButtonActionPerformed();
                  }
                });
            panel13.add(removeInstanceButton, cc.xy(3, 1));
          }
          panel6.add(panel13, cc.xywh(1, 5, 2, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));
        }
        panel2.add(panel6, cc.xy(1, 1));
      }
      panel10.add(panel2, cc.xy(1, 9));

      // ======== panel4 ========
      {
        panel4.setOpaque(false);
        panel4.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC
                },
                RowSpec.decodeSpecs("default")));

        // ---- restrictionsApply2 ----
        restrictionsApply2.setBackground(new Color(231, 188, 251));
        restrictionsApply2.setText("Internal Only");
        restrictionsApply2.setOpaque(false);
        restrictionsApply2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        restrictionsApply2.setText(
            ATFieldInfo.getLabel(
                ResourcesComponents.class, ResourcesComponents.PROPERTYNAME_INTERNAL_ONLY));
        panel4.add(restrictionsApply2, cc.xy(1, 1));

        // ---- resourcesRestrictionsApply ----
        resourcesRestrictionsApply.setBackground(new Color(231, 188, 251));
        resourcesRestrictionsApply.setText("Restrictions Apply");
        resourcesRestrictionsApply.setOpaque(false);
        resourcesRestrictionsApply.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        resourcesRestrictionsApply.setText(
            ATFieldInfo.getLabel(
                ResourcesComponents.class, ArchDescription.PROPERTYNAME_RESTRICTIONS_APPLY));
        panel4.add(resourcesRestrictionsApply, cc.xy(3, 1));
      }
      panel10.add(panel4, cc.xy(1, 11));
    }
    add(panel10, cc.xywh(5, 1, 1, 1, CellConstraints.FILL, CellConstraints.FILL));
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }