|
|
|
|
@ -12,6 +12,7 @@ import java.sql.SQLException;
@@ -12,6 +12,7 @@ import java.sql.SQLException;
|
|
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
|
|
import static de.srsoftware.tools.jdbc.Query.SelectQuery.ALL; |
|
|
|
|
import static de.srsoftware.tools.jdbc.Query.insertInto; |
|
|
|
|
import static de.srsoftware.tools.jdbc.Query.select; |
|
|
|
|
import static de.srsoftware.umbrella.core.Constants.*; |
|
|
|
|
import static de.srsoftware.umbrella.core.Constants.ERROR_FAILED_CREATE_TABLE; |
|
|
|
|
@ -81,11 +82,11 @@ public class SqliteDb extends BaseDb implements WikiDb {
@@ -81,11 +82,11 @@ public class SqliteDb extends BaseDb implements WikiDb {
|
|
|
|
|
@Override |
|
|
|
|
public WikiPage load(String id) { |
|
|
|
|
try { |
|
|
|
|
var rs = select(ALL).from(TABLE_PAGES).where(ID,Condition.equal(id)).sort(VERSION).limit(1).exec(db); |
|
|
|
|
var rs = select(ALL).from(TABLE_PAGES).where(ID,Condition.equal(id)).sort(VERSION+" DESC").limit(1).exec(db); |
|
|
|
|
WikiPage page = null; |
|
|
|
|
if (rs.next()) page = WikiPage.of(rs); |
|
|
|
|
rs.close(); |
|
|
|
|
if (page == null) throw notFound("Failed to load wiki page \"{0}\" from databse!",id); |
|
|
|
|
if (page == null) throw notFound("Failed to load wiki page \"{0}\" from database!",id); |
|
|
|
|
rs = select(VERSION).from(TABLE_PAGES).where(ID,Condition.equal(id)).sort(VERSION).exec(db); |
|
|
|
|
var versions = page.versions(); |
|
|
|
|
while (rs.next()) versions.add(rs.getInt(VERSION)); |
|
|
|
|
@ -118,6 +119,11 @@ public class SqliteDb extends BaseDb implements WikiDb {
@@ -118,6 +119,11 @@ public class SqliteDb extends BaseDb implements WikiDb {
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public WikiPage save(WikiPage page) { |
|
|
|
|
throw UmbrellaException.unprocessable("save(Wikipage) not implemented"); |
|
|
|
|
try { |
|
|
|
|
insertInto(TABLE_PAGES,ID,VERSION,CONTENT).values(page.id(),page.version(),page.content()).execute(db).close(); |
|
|
|
|
return page; |
|
|
|
|
} catch (SQLException e) { |
|
|
|
|
throw databaseException("Failed to write wiki page \"{0}\" to database",page.id(),e); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |