summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/db/mappers/DbOperatingSystem.java
diff options
context:
space:
mode:
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;
+ }
+
+}