private void fillFields() {
    if (connection != null) {
      removeListeners();
      String repositoryId = connection.getRepositoryId();
      if (repositoryId == null || "".equals(repositoryId)) {
        if (getRepository() != null) {
          connection.setRepositoryId(getRepository().getId());
        } else {
          connection.setRepositoryId(RepositoryConstants.REPOSITORY_LOCAL_ID);
        }
      }
      IRepositoryFactory repositoriyById =
          RepositoryFactoryProvider.getRepositoriyById(repositoryId);
      repositoryCombo.setSelection(new StructuredSelection(new Object[] {repositoriyById}));

      if (getRepository() != null) {
        Map<String, LabelText> map = dynamicControls.get(getRepository());

        for (String fieldKey : map.keySet()) {
          LabelText current = map.get(fieldKey);
          String string = connection.getDynamicFields().get(fieldKey);
          current.setText(string == null ? "" : string); // $NON-NLS-1$
        }

        Map<String, LabelledCombo> map2 = dynamicChoices.get(getRepository());
        for (String fieldKey : map2.keySet()) {
          Combo combo = map2.get(fieldKey).getCombo();
          String value = connection.getDynamicFields().get(fieldKey);
          combo.deselectAll();
          for (DynamicChoiceBean dynamicChoiceBean : getRepository().getChoices()) {
            if (dynamicChoiceBean.getId().equals(fieldKey)) {
              combo.select(dynamicChoiceBean.getChoiceIndex(value));
            }
          }
        }
      }
      nameText.setText((connection.getName() == null ? "" : connection.getName())); // $NON-NLS-1$
      descriptionText.setText(
          (connection.getDescription() == null ? "" : connection.getDescription())); // $NON-NLS-1$
      userText.setText((connection.getUser() == null ? "" : connection.getUser())); // $NON-NLS-1$
      passwordText.setText(
          (connection.getPassword() == null ? "" : connection.getPassword())); // $NON-NLS-1$
      workSpaceText.setText(
          ("".equals(connection.getWorkSpace()) || connection.getWorkSpace() == null)
              ? getRecentWorkSpace()
              : connection.getWorkSpace()); // $NON-NLS-1$
      addListeners();
    }
  }
  private void fillBean() {
    if (connection != null) {
      if (getRepository() != null) {
        connection.setRepositoryId(getRepository().getId());

        Map<String, String> connFields = new HashMap<String, String>();

        Map<String, LabelText> map = dynamicControls.get(getRepository());
        for (String fieldKey : map.keySet()) {
          connFields.put(fieldKey, map.get(fieldKey).getText());
        }

        Map<String, LabelledCombo> map2 = dynamicChoices.get(getRepository());
        for (String fieldKey : map2.keySet()) {
          for (DynamicChoiceBean dynamicChoiceBean : getRepository().getChoices()) {
            if (dynamicChoiceBean.getId().equals(fieldKey)) {
              int selectionIndex = map2.get(fieldKey).getCombo().getSelectionIndex();
              connFields.put(fieldKey, dynamicChoiceBean.getChoiceValue(selectionIndex));
            }
          }
        }

        connection.setDynamicFields(connFields);
      }
      connection.setName(nameText.getText());
      connection.setDescription(descriptionText.getText());
      connection.setUser(userText.getText());
      connection.setPassword(passwordText.getText());

      connectionsListComposite.refresh(connection);
    }
  }