@Override
	public void run() {
		try {
			renderHtmlOverview();
			
			int seconds;
			try {
				seconds = Integer.parseInt(getProperty(CHECKING_INTERVAL_IN_SECONDS));
			} catch (NumberFormatException e) {
				throw new ServerException("checking-interval-in-seconds property must be a number");
			}
			if(seconds < 0) {
				throw new ServerException("checking-interval-in-seconds property must be bigger 1 or bigger");
			}
			
			File dir = new File(getProperty(INCOMING_DIRECTORY));
			
			while(running) {
				try {
					Thread.sleep(seconds*1000);
				} catch (InterruptedException e) {
					throw new ServerException(e);
				}
				File[] files;
				try {
					files = completenessChecker.getCompletedFiles(dir);
				} catch (Exception e) {
					repository.getLogger().logError("There was an Error in CompletenessChecker");
					repository.getLogger().logError(e.getMessage());
					continue;
				}
				for(File f : files) {
					try {
						addFile(f); 
					} catch (RepositoryException e) {
						throw new ServerException("server could not add file " + f.getPath());
					}
				}
				if(files.length > 0) {
					renderHtmlOverview();
				}
			}
		} catch (ServerException e) {
			serverLogger.logError(e.getMessage());
		}
	}