/*
   * (non-Javadoc)
   *
   * @see com.intel.stl.ui.framework.AbstractView#getMainComponent()
   */
  @Override
  public JComponent getMainComponent() {
    if (propsPanel == null) {
      propsPanel = new PropertyCategoryPanel(style);
      propsPanel.setPropertyRenderer(
          new DefaultPropertyRenderer() {

            /*
             * (non-Javadoc)
             *
             * @see
             * com.intel.stl.ui.configuration.view.DefaultPropertyRenderer
             * #getValueComponent(com.intel.stl.ui.model.PropertyItem, int,
             * int, com.intel.stl.ui.configuration.view.PropertyVizStyle)
             */
            @Override
            public Component getValueComponent(
                PropertyItem<?> item, int itemIndex, int row, PropertyVizStyle style) {
              Object key = item.getKey();
              if (key instanceof DeviceProperty) {
                DeviceProperty dp = (DeviceProperty) key;
                URI uri = null;
                String address = item.getValue();
                try {
                  if (dp == DeviceProperty.IP_ADDR_IPV6) {
                    uri = getIPv6URI(address);
                  } else if (dp == DeviceProperty.IP_ADDR_IPV4
                      || dp == DeviceProperty.IPCHASSIS_NAME) {
                    uri = getIPv4URI(address);
                  }
                } catch (URISyntaxException e) {
                  e.printStackTrace();
                }
                if (uri != null) {
                  AbstractAction action = HyperlinkAction.createHyperlinkAction(uri);
                  action.putValue(Action.NAME, address);
                  JXHyperlink link = new JXHyperlink(action);
                  link.setUnclickedColor(UIConstants.INTEL_BLUE);
                  link.setToolTipText(uri.toString());
                  link.setBorderPainted(true);
                  link.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 2));
                  style.decorateValue(link, itemIndex);
                  return link;
                }
              }
              return super.getValueComponent(item, itemIndex, row, style);
            }
          });
    }
    return propsPanel;
  }
 /*
  * (non-Javadoc)
  *
  * @see
  * com.intel.stl.ui.framework.AbstractView#modelChanged(com.intel.stl.ui
  * .framework.IModel)
  */
 @Override
 public void modelChanged(DevicePropertyCategory model) {
   propsPanel.setModel(model);
 }