private boolean checkValidWorkspace(final Shell shell,final URL url){
  if (url == null) {
    return false;
  }
  if (WORKSPACE_CHECK_REFERENCE_BUNDLE_VERSION == null) {
    return true;
  }
  final Version version=readWorkspaceVersion(url);
  if (version == null) {
    return true;
  }
  final Version ide_version=toMajorMinorVersion(WORKSPACE_CHECK_REFERENCE_BUNDLE_VERSION);
  final Version workspace_version=toMajorMinorVersion(version);
  final int versionCompareResult=workspace_version.compareTo(ide_version);
  if (versionCompareResult == 0) {
    return true;
  }
  int severity;
  String title;
  String message;
  if (versionCompareResult < 0) {
    severity=INFORMATION;
    title=IDEApplication_versionTitle_olderWorkspace;
    message=NLS.bind(IDEApplication_versionMessage_olderWorkspace,url.getFile());
  }
 else {
    severity=WARNING;
    title=IDEApplication_versionTitle_newerWorkspace;
    message=NLS.bind(IDEApplication_versionMessage_newerWorkspace,url.getFile());
  }
  final MessageDialog dialog=new MessageDialog(shell,title,null,message,severity,new String[]{IDialogConstants.OK_LABEL,IDialogConstants.CANCEL_LABEL},0);
  return dialog.open() == Window.OK;
}

private boolean checkValidWorkspace ( final Shell shell , final URL url ) { if ( url == null ) { return false ; } if ( WORKSPACE_CHECK_REFERENCE_BUNDLE_VERSION == null ) { return true ; } final Version version = readWorkspaceVersion ( url ) ; if ( version == null ) { return true ; } final Version ide_version = toMajorMinorVersion ( WORKSPACE_CHECK_REFERENCE_BUNDLE_VERSION ) ; final Version workspace_version = toMajorMinorVersion ( version ) ; final int versionCompareResult = workspace_version . compareTo ( ide_version ) ; if ( versionCompareResult == 0 ) { return true ; } int severity ; String title ; String message ; if ( versionCompareResult < 0 ) { severity = INFORMATION ; title = IDEApplication_versionTitle_olderWorkspace ; message = NLS . bind ( IDEApplication_versionMessage_olderWorkspace , url . getFile ( ) ) ; } else { severity = WARNING ; title = IDEApplication_versionTitle_newerWorkspace ; message = NLS . bind ( IDEApplication_versionMessage_newerWorkspace , url . getFile ( ) ) ; } final MessageDialog dialog = new MessageDialog ( shell , title , null , message , severity , new String [ ] { IDialogConstants . OK_LABEL , IDialogConstants . CANCEL_LABEL } , 0 ) ; return dialog . open ( ) == Window . OK ; }
return true if the argument directory is ok to use as a workspace and false otherwise . a version check will be performed , and a confirmation box may be displayed on the argument shell if an older version is detected .
