made Appointment.location() return an optional
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -12,7 +12,6 @@ spotless {
|
|||||||
removeUnusedImports()
|
removeUnusedImports()
|
||||||
importOrder()
|
importOrder()
|
||||||
licenseHeader("/* © SRSoftware 2024 */")
|
licenseHeader("/* © SRSoftware 2024 */")
|
||||||
toggleOffOn()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ public interface Appointment {
|
|||||||
* descriptive text of the location, e.g. address
|
* descriptive text of the location, e.g. address
|
||||||
* @return location text
|
* @return location text
|
||||||
*/
|
*/
|
||||||
String location();
|
Optional<String> location();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The date and time, when the appointment starts
|
* The date and time, when the appointment starts
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ public class BaseAppointment implements Appointment {
|
|||||||
sb.append(contentLine(SUMMARY,title()));
|
sb.append(contentLine(SUMMARY,title()));
|
||||||
sb.append(contentLine(DESCRIPTION,description()));
|
sb.append(contentLine(DESCRIPTION,description()));
|
||||||
coords().map(Coords::icalFormat).map(geo -> contentLine(GEO,geo)).ifPresent(sb::append);
|
coords().map(Coords::icalFormat).map(geo -> contentLine(GEO,geo)).ifPresent(sb::append);
|
||||||
if (!location().isBlank()) sb.append(contentLine(LOCATION,location()));
|
location().map(loc -> contentLine(LOCATION,loc)).ifPresent(sb::append);
|
||||||
for (var attachment : attachments()) sb.append(contentLine("ATTACH;FMTYPE=%s".formatted(attachment.mime()),attachment.url().toString()));
|
for (var attachment : attachments()) sb.append(contentLine("ATTACH;FMTYPE=%s".formatted(attachment.mime()),attachment.url().toString()));
|
||||||
for (var link : links) sb.append(contentLine("ATTACH;TITLE="+paramText(link.desciption()),link.url().toString()));
|
for (var link : links) sb.append(contentLine("ATTACH;TITLE="+paramText(link.desciption()),link.url().toString()));
|
||||||
sb.append(contentLine("CLASS","PUBLIC"));
|
sb.append(contentLine("CLASS","PUBLIC"));
|
||||||
@@ -156,7 +156,7 @@ public class BaseAppointment implements Appointment {
|
|||||||
json.put("description", description());
|
json.put("description", description());
|
||||||
json.put("end", end().map(end -> end.format(DATE_TIME)).orElse(null));
|
json.put("end", end().map(end -> end.format(DATE_TIME)).orElse(null));
|
||||||
json.put("id", id());
|
json.put("id", id());
|
||||||
json.put("location", location());
|
json.put("location", location().orElse(null));
|
||||||
json.put("start", start().format(DATE_TIME));
|
json.put("start", start().format(DATE_TIME));
|
||||||
json.put("tags", tags());
|
json.put("tags", tags());
|
||||||
json.put("title", title());
|
json.put("title", title());
|
||||||
@@ -166,8 +166,8 @@ public class BaseAppointment implements Appointment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String location() {
|
public Optional<String> location() {
|
||||||
return location;
|
return nullable(location);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public class MariaDB implements Database {
|
|||||||
public Result<Appointment> add(Appointment appointment) {
|
public Result<Appointment> add(Appointment appointment) {
|
||||||
try {
|
try {
|
||||||
ResultSet keys = insertInto(APPOINTMENTS, TITLE, DESCRIPTION, START, END, LOCATION, COORDS) //
|
ResultSet keys = insertInto(APPOINTMENTS, TITLE, DESCRIPTION, START, END, LOCATION, COORDS) //
|
||||||
.values(appointment.title(), appointment.description(), appointment.start(), appointment.end().orElse(null), appointment.location(), appointment.coords().orElse(null))
|
.values(appointment.title(), appointment.description(), appointment.start(), appointment.end().orElse(null), appointment.location().orElse(null), appointment.coords().orElse(null))
|
||||||
.execute(connection)
|
.execute(connection)
|
||||||
.getGeneratedKeys();
|
.getGeneratedKeys();
|
||||||
Appointment saved = null;
|
Appointment saved = null;
|
||||||
@@ -316,7 +316,7 @@ public class MariaDB implements Database {
|
|||||||
.set(TITLE, DESCRIPTION, START, END, LOCATION, COORDS)
|
.set(TITLE, DESCRIPTION, START, END, LOCATION, COORDS)
|
||||||
.where(AID, equal(event.id()))
|
.where(AID, equal(event.id()))
|
||||||
.prepare(connection)
|
.prepare(connection)
|
||||||
.apply(event.title(), event.description(), Timestamp.valueOf(event.start()), end, event.location(), event.coords().orElse(null));
|
.apply(event.title(), event.description(), Timestamp.valueOf(event.start()), end, event.location().orElse(null), event.coords().orElse(null));
|
||||||
|
|
||||||
// TODO: update links, attachments, tags
|
// TODO: update links, attachments, tags
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user