No, sono io che all'1:20 di Sabato sera sono un pò fuso e non avevo considerato questa eventualitàOriginariamente inviato da Ghiozzo
sono io che non ho ancora capito il tuo metodo?
Ok... solo quel controllo non basta. Con il controllo che ho fatto io si verifica che il range nuovadatInizio/nuovaDataFine sia esterno ad ogni singolo range. Verificato ciò è necessario poi controllare che solo nuovaDataFine non ricada in un intervallo già presente:
Così dovrebbe andare... sperando non mi sia sfuggito altroCodice PHP:
boolean okInsert = false;
for (Oggetto obj : listaOggetti) {
if (obj.getDataInizio().compareTo(nuovoOggetto.getDataInizio()) > 0 && obj.getDataInizio().compareTo(nuovoOggetto.getDataFine()) > 0) {
okInsert = true;
break;
}
}
if (okInsert) {
//superato primo controllo
for (Oggetto obj : listaOggetti) {
if (obj.getDataInizio().compareTo(nuovoOggetto.getDataFine()) < 0 && obj.getDataFine().compareTo(nuovoOggetto.getDataFine()) > 0) {
okInsert = false;
break;
}
}
}
if (okInsert) {
...
} else {
...
}
![]()