summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/db/mappers/DbOperatingSystem.java
diff options
context:
space:
mode:
authorSimon Rettberg2015-09-07 18:20:58 +0200
committerSimon Rettberg2015-09-07 18:20:58 +0200
commit2f140304dd193763b2aa9d509f972c6f23202e93 (patch)
tree8639a625543d78b35caccfe3dcdfa4740ba6d917 /src/main/java/org/openslx/imagemaster/db/mappers/DbOperatingSystem.java
parentStuff (diff)
downloadmasterserver-2f140304dd193763b2aa9d509f972c6f23202e93.tar.gz
masterserver-2f140304dd193763b2aa9d509f972c6f23202e93.tar.xz
masterserver-2f140304dd193763b2aa9d509f972c6f23202e93.zip
Start adapting to new DB/Thrift model
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/db/mappers/DbOperatingSystem.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/db/mappers/DbOperatingSystem.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/imagemaster/db/mappers/DbOperatingSystem.java b/src/main/java/org/openslx/imagemaster/db/mappers/DbOperatingSystem.java
new file mode 100644
index 0000000..1504e50
--- /dev/null
+++ b/src/main/java/org/openslx/imagemaster/db/mappers/DbOperatingSystem.java
@@ -0,0 +1,36 @@
+package org.openslx.imagemaster.db.mappers;
+
+import java.util.List;
+
+import org.openslx.bwlp.thrift.iface.OperatingSystem;
+import org.openslx.imagemaster.db.MySQL;
+import org.openslx.util.TimeoutReference;
+
+public class DbOperatingSystem
+{
+
+ private static TimeoutReference<List<OperatingSystem>> cached = new TimeoutReference<List<OperatingSystem>>(
+ 30000, null );
+
+ private DbOperatingSystem()
+ {
+ }
+
+ public static List<OperatingSystem> getAll()
+ {
+ List<OperatingSystem> list = cached.get();
+ if ( list != null )
+ return list;
+ list = MySQL.findAll(
+ OperatingSystem.class,
+ "SELECT osid, displayname, NULL, architecture"
+ + " FROM operatingsystem" );
+ for ( OperatingSystem os : list ) {
+ os.virtualizerOsId = MySQL.findMap( String.class, String.class,
+ "SELECT virtid, virtoskeyword FROM os_x_virt WHERE osid = ?", os.osId );
+ }
+ cached.set( list );
+ return list;
+ }
+
+}