コード例 #1
0
        /**
         * {@inheritDoc}
         *
         * @see org.eclipse.ui.dialogs.ISelectionStatusValidator#validate(java.lang.Object[])
         */
        @Override
        public IStatus validate(final Object[] selection) {
          for (int ndx = selection.length; --ndx >= 0; ) {
            Object obj = selection[ndx];
            if (obj instanceof IContainer) {
              return new Status(
                  IStatus.ERROR,
                  VdbUiConstants.PLUGIN_ID,
                  0,
                  ADD_FILE_DIALOG_INVALID_SELECTION_MESSAGE,
                  null);
            } else if (obj instanceof IFile) {
              IFile file = (IFile) obj;

              if (!ModelUtilities.isModelFile(file) && !ModelUtil.isXsdFile(file)) {
                return new Status(
                    IStatus.ERROR,
                    VdbUiConstants.PLUGIN_ID,
                    0,
                    ADD_FILE_DIALOG_NON_MODEL_SELECTED_MESSAGE,
                    null);
              }
              if (ModelUtilities.isVdbSourceModel(file)) {
                return new Status(
                    IStatus.ERROR,
                    VdbUiConstants.PLUGIN_ID,
                    0,
                    ADD_FILE_DIALOG_VDB_SOURCE_MODEL_SELECTED_MESSAGE,
                    null);
              }
            }
          }

          return new Status(IStatus.OK, VdbUiConstants.PLUGIN_ID, 0, EMPTY_STRING, null);
        }
コード例 #2
0
 private boolean isXsdResource(final IFile resource) {
   return ModelUtil.isXsdFile(resource);
 }