/**
   * Gets the list of near movies.
   *
   * <p>1.Stufe: Suche nach Filmen mit bestimmten Namen. Die while Schleife sorgt daf�r das im falle
   * eines Timeouts die anfrage erneut ausgef�hrt wird
   *
   * @param suchstring the string to search fot in the Database
   * @return the list of near movies
   */
  public EList<Movie> searchForMoviesByString(String suchstring) {

    EList<Movie> movies = null;
    try {
      while ((movies =
              domParser.parseNearMovies(
                  connectURL(QueryServiceProperties.SEARCH_URL, suchstring), suchstring))
          == null) {}
    } catch (MovieNotFoundException e) {
      movies = searchPreferences(suchstring);
      if (movies == null) {
        openDialog(e);
      }
      if (movies != null) {
        return movies;
      }
    } catch (ParserException e) {
      openDialog(e);
    } catch (DatabaseException e) {
      openDialog(e);
    } catch (ConnectionException e) {
      movies = searchPreferences(suchstring);
      if (movies == null) {
        openDialog(e);
      }
      if (movies != null) {
        return movies;
      }
    }
    return movies;
  }