Soma de minutos em Hora

Boa tarde galera,

Estou fazendo uma aplicação utilizando Servlet + JSP + JDBC… Gostaria de fazer uma soma de Horas…

Estou disponibilizando abaixo um exemplo:

Tenho na minha JSP:

<input type="radio" name="dataInicialAgendamento" value="${data} 09:00:00" />
<br/><br/>
<input type="radio" name="dataInicialAgendamento" value="${data} 09:30:00" />
<br/><br/>
<input type="radio" name="dataInicialAgendamento" value="${data} 10:00:00" />
<br/><br/>
<input type="radio" name="dataInicialAgendamento" value="${data} 10:30:00" />
<br/><br/>

Duração: 

<select name="duracao">
	<option value="00:30:00">00:30h</option>
	<option value="01:00:00">01:00h</option>
	<option value="01:30:00">01:30h</option>
</select> 

O meu Servlet está assim:


String duracao = request.getParameter("duracao");

if (duracao.equalsIgnoreCase("00:30:00")) {

Agendamento a = new Agendamento(codSala, dataAgendamento, situacao);

ad.agendar(a, dataInicialAgendamento, agendadoPor, solicitadoPor);

} else if (duracao.equalsIgnoreCase("01:00:00")) {

Agendamento a = new Agendamento(codSala, dataAgendamento, situacao);

ad.agendar(a, dataInicialAgendamento, agendadoPor, solicitadoPor);


}else if (duracao.equalsIgnoreCase("01:30:00")) {

Agendamento a = new Agendamento(codSala, dataAgendamento, situacao);

ad.agendar(a, dataInicialAgendamento, agendadoPor, solicitadoPor);


}

O meu problema é o seguinte:

Quando eu seleciono a duração em 00:30h ele faz o agendamento de uma sala normalmente… mas se eu seleciono 01:00h o sistema deveria criar 2 agendamentos, pois os agendamentos são feitos de 30 em 30 minutos.

Eu gostaria de fazer uma soma da hora que vem da JSP.

Exemplo:

Selecionei 01:30h de duração e eu escolhi o horário de 09:00:00

Como posso calcular ou separar o horário de 30 em 30 minutos… ->

09:30:00 (CADASTREI OUTRO AGENDAMENTO).

10:00:00 (CADASTREI OUTRO AGENDAMENTO).

11:00:00 (CADASTREI OUTRO AGENDAMENTO).

Alguém pode me ajudar ?

Muito obrigado Pessoal…

Aguardo resposta.