Download de arquivo

Boa tarde galera do GUJ

Eu estou com um probleminha, tenho um curso online (desenvolvido em JSF2.0), e nesse curso o aluno faz o download das lições dele, ate ai beleza, so que quando o aluno fizer o download eu presciso executar uma logica assim:

Aluno clica no botão download, eu pego os dados da lição e faço um update no banco, na minha classe Licao eu tenho um campo que eh datadeDownload e eu presciso altera essa data quando ele fizesse o download, mais como fazer isso?

eu fiz assim:

<p:column> <f:facet name="header"> Download </f:facet> <p:commandLink> <a href="#{licao.caminho}"><p:graphicImage value="resources/imagens/download.gif" width="30" height="30" /> </a> </p:commandLink> </p:column>

Ate ai resolve o problema do download, mais ele não executa a logica.
oque eu queria era fazer mais ou menos assim(isso não funciona blz):

public File atualizaLicao(){
		LicaoDAO dao = new LicaoDAO();
		licao.setStatus("Baixado");
		DateTime data = new DateTime();
		String dia = data.getDayOfMonth()+"/"+data.getMonthOfYear()+"/"+data.getYear()+ " as "+ data.getHourOfDay()+":"+ data.getMinuteOfDay()+":"+data.getSecondOfMinute();
		System.out.println(dia);
		licao.setDataDeDownload(dia);
		File file= new File(System.getProperty("user.dir")+licao.getCaminho());
		System.out.println(file.getAbsolutePath());
		return file; 
	}

Ou talvez retornar uma URL ou ate mesmo uma string pois no jsf se eu não me engano vc pode retornar por exemplo index.xhtml…

Bom se alguem tiver alguma ideia de como ser feito eu fico agradecido :wink:

[]'s