Skip to content

Commit

Permalink
Merge pull request #27 from Java-Supremacists/pre-main
Browse files Browse the repository at this point in the history
Ultimo antes de la entrega
  • Loading branch information
FacuGerez authored Apr 25, 2023
2 parents ca06626 + 5db5ca4 commit e435689
Show file tree
Hide file tree
Showing 27 changed files with 1,571 additions and 125 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,4 @@ build/
.vscode/

### Mac OS ###
.DS_Store
.DS_Store
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ Alumnos:
- Gerez Facundo Nahuel - 109429
- Orsi Tomas Fabrizio - 109735

![Diagrama UML](Diagrama/diagramaClases.png)

# Consigna
Lógica de negocio (etapa 1)

Expand Down
26 changes: 24 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,27 @@
<scope>test</scope>
</dependency>
</dependencies>

</project>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.9</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
65 changes: 48 additions & 17 deletions src/main/java/Activities.java
Original file line number Diff line number Diff line change
@@ -1,31 +1,43 @@
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

public abstract class Activities {
//--------- Atributos ---------
enum tipo {TAREA,EVENTO}
protected final String name;
protected final String description;
protected ArrayList<LocalDateTime> alarm;
protected final boolean isComplete;

protected String name;
protected String description;
protected final Alarmas alarm = new Alarmas();
protected boolean isComplete;

//--------- Atributos ---------

//--------- Constructores ---------
public Activities(String name, String description, ArrayList<LocalDateTime> alarm, boolean isComplete) {
this.name = name;
this.description = description;
this.alarm = alarm;
this.isComplete = isComplete;
}
public Activities(String name, String description, boolean isComplete) {
this.name = name;
this.description = description;
this.isComplete = isComplete;

public Activities() {
this.name = "";
this.description = "";
this.isComplete = false;
}

//--------- Constructores ---------

//--------- Metodos ---------
public abstract tipo type();

public abstract LocalDateTime cuandoTermina();
public abstract LocalDateTime cuandoEmpieza();
public LocalDateTime ultimaAlarma(){
if (alarm.quedanAlarmas()){
return alarm.primerAlarmaASonar();
}
return null;
}
public void sonarUltimaAlarma(){
if (alarm.quedanAlarmas()){
alarm.sonarAlarma();
}//else
//error
//}
}
public String getTitulo() {
return name;
}
Expand All @@ -35,5 +47,24 @@ public String getDescripcion() {
public boolean esDiaEntero() {
return isComplete;
}
public void setName(String name) {
this.name = name;
}
public void setDescription(String description) {
this.description = description;
}
public void setComplete(boolean complete) {
isComplete = complete;
}
public void agregarAlarma(LocalDateTime alarmaNueva) {
this.alarm.agregarAlarma(alarmaNueva);
}
public void agregarAlarmas(List<LocalDateTime> alarmasNuevas) {
this.alarm.agregarAlarma(alarmasNuevas);
}
public void eliminarAlarma(LocalDateTime alarmaNueva) {
this.alarm.eliminarAlarma(alarmaNueva);
}

//--------- Metodos ---------
}
133 changes: 133 additions & 0 deletions src/main/java/Alarmas.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
//import java.time.Duration;
import java.time.LocalDateTime;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Alarmas {
//--------- Atributos ---------

private final Set<LocalDateTime> alarmas;
private LocalDateTime alarmaMasTemprana;
private final Set<LocalDateTime> alarmasYaSonadas;
private boolean mantenerAlarmas = false;

//--------- Atributos ---------

//--------- Constructores ---------
public Alarmas() {
alarmaMasTemprana = null;
alarmas = new HashSet<>();
alarmasYaSonadas = new HashSet<>();
}
public Alarmas(boolean mantener) {
alarmaMasTemprana = null;
alarmas = new HashSet<>();
mantenerAlarmas = mantener;
alarmasYaSonadas = new HashSet<>();
}

//--------- Constructores ---------

//--------- Metodos ---------

/*
*public void actualizarAlarmas(LocalDateTime dif){
if (dif != null && alarmas.size()==0 && mantenerAlarmas){
for (LocalDateTime alarm : alarmasYaSonadas){
LocalDateTime nuevaAlarm = alarm.plusYears(dif.getYear()).plusMonths(dif.getMonthValue()).plusDays(dif.getDayOfMonth()).plusHours(dif.getHour()).plusMinutes(dif.getMinute());
alarmasYaSonadas.remove(alarm);
alarmasYaSonadas.add(nuevaAlarm);
}
alarmas.addAll(alarmasYaSonadas);
}
}*/
public int size(){
return alarmas.size();
}
public void actualizarAlarmas(long cantidadDiasASumar){
if (cantidadDiasASumar != 0 && alarmas.size()==0 && mantenerAlarmas){
for (LocalDateTime alarm : alarmasYaSonadas){
LocalDateTime nuevaAlarm = alarm.plusDays(cantidadDiasASumar);
alarmas.add(nuevaAlarm);
}
alarmasYaSonadas.clear();
alarmasYaSonadas.addAll(alarmas);
}
}
public void agregarAlarma(LocalDateTime alarmaParaAgregar){
if (alarmaParaAgregar== null){
return;
}
alarmas.add(alarmaParaAgregar);
if (mantenerAlarmas){
alarmasYaSonadas.add(alarmaParaAgregar);
}
if ((alarmaMasTemprana != null) && alarmaMasTemprana.isAfter(alarmaParaAgregar)) {
alarmaMasTemprana = alarmaParaAgregar;
}
}
public void agregarAlarma(List<LocalDateTime> alarmasParaAgregar){
if (alarmasParaAgregar!=null){
for (LocalDateTime alarm : alarmasParaAgregar){
if (alarm== null){
continue;
}
alarmas.add(alarm);
if (mantenerAlarmas){
alarmasYaSonadas.add(alarm);
}
if ((alarmaMasTemprana != null) && alarmaMasTemprana.isAfter(alarm)) {
alarmaMasTemprana = alarm;
}
}
}


}
public boolean quedanAlarmas(){
//devuelve true si todavia quedan
return alarmas.size()!= 0;
}
public boolean existeAlarma(LocalDateTime a1){
return alarmas.contains(a1);
}
public void eliminarAlarma(LocalDateTime paraEliminar){
alarmas.remove(paraEliminar);
alarmasYaSonadas.remove(paraEliminar);
if (paraEliminar!= null && paraEliminar.equals(alarmaMasTemprana)){
alarmaMasTemprana = null;
}
}
public LocalDateTime primerAlarmaASonar(){
if (alarmaMasTemprana == null){
for (LocalDateTime alarm : alarmas){
if (alarmaMasTemprana == null){
alarmaMasTemprana = alarm;
} else if (alarmaMasTemprana.isAfter(alarm)) {
alarmaMasTemprana = alarm;
}
}
}
return alarmaMasTemprana;
}
public void sonarAlarma(){
if (alarmaMasTemprana == null){
this.primerAlarmaASonar();
}
if (alarmaMasTemprana != null){
alarmas.remove(alarmaMasTemprana);
alarmaMasTemprana = null;
}//else {
//error
//}
}
public boolean repiteLasAlarmas() {
return mantenerAlarmas;
}
public void mantenerAlarmas(boolean mantenerAlarmas) {
this.mantenerAlarmas = mantenerAlarmas;
}

//--------- Metodos ---------
}
Loading

0 comments on commit e435689

Please sign in to comment.