From da5df3957ba41d28256ab8183aae0dd3b6e0dcba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Magdalena=20Grodzi=C5=84ska?= <mag.grodzinska@gmail.com>
Date: Sun, 12 Jan 2020 21:05:28 +0100
Subject: Add query signer architecture

---
 .../pl/edu/mimuw/cloudatlas/model/ValueQuery.java  | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

(limited to 'src/main/java/pl/edu/mimuw/cloudatlas/model')

diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
index 82e1602..d203e99 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
@@ -15,6 +15,28 @@ public class ValueQuery extends Value {
     private String code;
     // Parsed query
     private Program query;
+
+    public byte[] getSignature() {
+        return signature;
+    }
+
+    public void setSignature(byte[] signature) {
+        this.signature = signature;
+    }
+
+    public long getTimestamp() {
+        return timestamp;
+    }
+
+    public void setTimestamp(long timestamp) {
+        this.timestamp = timestamp;
+    }
+
+    // Query signature
+    private byte[] signature;
+    // Query signing timestamp
+    private long timestamp;
+
     /**
      * Constructs a new <code>ValueQuery</code> object.
      *
-- 
cgit v1.2.3


From 36cf47fd63352c67a5fdeea7a922c16f0856e9aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Magdalena=20Grodzi=C5=84ska?= <mag.grodzinska@gmail.com>
Date: Sun, 12 Jan 2020 22:57:43 +0100
Subject: Add new fields to value query

---
 .../pl/edu/mimuw/cloudatlas/model/ValueQuery.java  | 39 ++++++++++++----------
 1 file changed, 22 insertions(+), 17 deletions(-)

(limited to 'src/main/java/pl/edu/mimuw/cloudatlas/model')

diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
index d203e99..26a5fbb 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
@@ -15,23 +15,6 @@ public class ValueQuery extends Value {
     private String code;
     // Parsed query
     private Program query;
-
-    public byte[] getSignature() {
-        return signature;
-    }
-
-    public void setSignature(byte[] signature) {
-        this.signature = signature;
-    }
-
-    public long getTimestamp() {
-        return timestamp;
-    }
-
-    public void setTimestamp(long timestamp) {
-        this.timestamp = timestamp;
-    }
-
     // Query signature
     private byte[] signature;
     // Query signing timestamp
@@ -47,17 +30,39 @@ public class ValueQuery extends Value {
         this.code = query;
         Yylex lex = new Yylex(new ByteArrayInputStream(query.getBytes()));
         this.query = (new parser(lex)).pProgram();
+        this.signature = null;
+        this.timestamp = System.currentTimeMillis();
+    }
+
+    public ValueQuery(String query, byte[] querySignature) throws Exception {
+        this.code = query;
+        Yylex lex = new Yylex(new ByteArrayInputStream(query.getBytes()));
+        this.query = (new parser(lex)).pProgram();
+        this.signature = querySignature;
+        this.timestamp = System.currentTimeMillis();
     }
 
     private ValueQuery() {
         this.code = null;
         this.query = null;
+        this.signature = null;
+        this.timestamp = System.currentTimeMillis();
     }
 
     public Program getQuery() {
         return query;
     }
 
+    public byte[] getSignature() { return signature; }
+
+    public long getTimestamp() { return timestamp; }
+
+    public void setTimestamp(long timestamp) { this.timestamp = timestamp; }
+
+    public String getCode() {
+        return code;
+    }
+
     @Override
     public Type getType() {
         return TypePrimitive.QUERY;
-- 
cgit v1.2.3


From cc901690a8e3e41a1958ae33d95462031fba8e89 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Magdalena=20Grodzi=C5=84ska?= <mag.grodzinska@gmail.com>
Date: Sun, 12 Jan 2020 23:07:32 +0100
Subject: Fix query value typo

---
 src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java | 5 -----
 1 file changed, 5 deletions(-)

(limited to 'src/main/java/pl/edu/mimuw/cloudatlas/model')

diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
index c5d4b54..6839e4c 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
@@ -23,7 +23,6 @@ public class ValueQuery extends Value {
     /**
      * Constructs a new <code>ValueQuery</code> object.
      *
-     * @param name the name of the query
      * @param query the code of the query
      */
     public ValueQuery(String query) throws Exception {
@@ -61,10 +60,6 @@ public class ValueQuery extends Value {
 
     public void setTimestamp(long timestamp) { this.timestamp = timestamp; }
 
-    public String getCode() {
-        return code;
-    }
-
     @Override
     public Type getType() {
         return TypePrimitive.QUERY;
-- 
cgit v1.2.3


From 23b8714b29816b608cb3aa330b6e93610e107126 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Magdalena=20Grodzi=C5=84ska?= <mag.grodzinska@gmail.com>
Date: Mon, 13 Jan 2020 20:56:41 +0100
Subject: Create simple query data structure so that RMI doesn't blow up

---
 src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java | 9 +++++++++
 1 file changed, 9 insertions(+)

(limited to 'src/main/java/pl/edu/mimuw/cloudatlas/model')

diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
index 6839e4c..ece50b5 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
@@ -6,6 +6,7 @@ import pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Program;
 import pl.edu.mimuw.cloudatlas.interpreter.query.parser;
 import pl.edu.mimuw.cloudatlas.interpreter.query.Yylex;
 import pl.edu.mimuw.cloudatlas.model.Value;
+import pl.edu.mimuw.cloudatlas.querysigner.QueryData;
 
 /**
  * A class that holds a CloudAtlas query.
@@ -41,6 +42,14 @@ public class ValueQuery extends Value {
         this.timestamp = System.currentTimeMillis();
     }
 
+    public ValueQuery(QueryData queryData) throws Exception {
+        this.code = queryData.getCode();
+        Yylex lex = new Yylex(new ByteArrayInputStream(queryData.getCode().getBytes()));
+        this.query = (new parser(lex)).pProgram();
+        this.signature = queryData.getSignature();
+        this.timestamp = System.currentTimeMillis();
+    }
+
     private ValueQuery() {
         this.code = null;
         this.query = null;
-- 
cgit v1.2.3


From 83feb6ad13187af9be55cc71408611f67d280955 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Magdalena=20Grodzi=C5=84ska?= <mag.grodzinska@gmail.com>
Date: Tue, 14 Jan 2020 21:28:10 +0100
Subject: Fix timestamps and ValueQuery

---
 .../java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

(limited to 'src/main/java/pl/edu/mimuw/cloudatlas/model')

diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
index ece50b5..3edda69 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
@@ -28,24 +28,30 @@ public class ValueQuery extends Value {
      */
     public ValueQuery(String query) throws Exception {
         this.code = query;
-        Yylex lex = new Yylex(new ByteArrayInputStream(query.getBytes()));
-        this.query = (new parser(lex)).pProgram();
+        if (!query.isEmpty()) {
+            Yylex lex = new Yylex(new ByteArrayInputStream(query.getBytes()));
+            this.query = (new parser(lex)).pProgram();
+        }
         this.signature = null;
         this.timestamp = System.currentTimeMillis();
     }
 
     public ValueQuery(String query, byte[] querySignature) throws Exception {
         this.code = query;
-        Yylex lex = new Yylex(new ByteArrayInputStream(query.getBytes()));
-        this.query = (new parser(lex)).pProgram();
+        if (!query.isEmpty()) {
+            Yylex lex = new Yylex(new ByteArrayInputStream(query.getBytes()));
+            this.query = (new parser(lex)).pProgram();
+        }
         this.signature = querySignature;
         this.timestamp = System.currentTimeMillis();
     }
 
     public ValueQuery(QueryData queryData) throws Exception {
         this.code = queryData.getCode();
-        Yylex lex = new Yylex(new ByteArrayInputStream(queryData.getCode().getBytes()));
-        this.query = (new parser(lex)).pProgram();
+        if (!queryData.getCode().isEmpty()) {
+            Yylex lex = new Yylex(new ByteArrayInputStream(queryData.getCode().getBytes()));
+            this.query = (new parser(lex)).pProgram();
+        }
         this.signature = queryData.getSignature();
         this.timestamp = System.currentTimeMillis();
     }
-- 
cgit v1.2.3


From c4513b4817ec623d026fa35682b4934a211e1b8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Magdalena=20Grodzi=C5=84ska?= <mag.grodzinska@gmail.com>
Date: Tue, 14 Jan 2020 21:54:11 +0100
Subject: Some small fixes

---
 src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java | 10 ++++++++++
 1 file changed, 10 insertions(+)

(limited to 'src/main/java/pl/edu/mimuw/cloudatlas/model')

diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
index 3edda69..f049603 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
@@ -56,6 +56,16 @@ public class ValueQuery extends Value {
         this.timestamp = System.currentTimeMillis();
     }
 
+    public ValueQuery(String query, long timestamp) throws Exception {
+        this.code = query;
+        if (!query.isEmpty()) {
+            Yylex lex = new Yylex(new ByteArrayInputStream(query.getBytes()));
+            this.query = (new parser(lex)).pProgram();
+        }
+        this.signature = null;
+        this.timestamp = timestamp;
+    }
+
     private ValueQuery() {
         this.code = null;
         this.query = null;
-- 
cgit v1.2.3


From 9681d76b15cc68f2f8246972ae8266522b92fefe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Magdalena=20Grodzi=C5=84ska?= <mag.grodzinska@gmail.com>
Date: Tue, 14 Jan 2020 22:33:17 +0100
Subject: Add query installation check

---
 src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java | 11 +++++++++++
 1 file changed, 11 insertions(+)

(limited to 'src/main/java/pl/edu/mimuw/cloudatlas/model')

diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
index f049603..95f826a 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueQuery.java
@@ -20,6 +20,8 @@ public class ValueQuery extends Value {
     private byte[] signature;
     // Query signing timestamp
     private long timestamp;
+    // Query installation status
+    private boolean installed;
 
     /**
      * Constructs a new <code>ValueQuery</code> object.
@@ -34,6 +36,7 @@ public class ValueQuery extends Value {
         }
         this.signature = null;
         this.timestamp = System.currentTimeMillis();
+        this.installed = true;
     }
 
     public ValueQuery(String query, byte[] querySignature) throws Exception {
@@ -44,6 +47,7 @@ public class ValueQuery extends Value {
         }
         this.signature = querySignature;
         this.timestamp = System.currentTimeMillis();
+        this.installed = true;
     }
 
     public ValueQuery(QueryData queryData) throws Exception {
@@ -54,6 +58,7 @@ public class ValueQuery extends Value {
         }
         this.signature = queryData.getSignature();
         this.timestamp = System.currentTimeMillis();
+        this.installed = queryData.isInstalled();
     }
 
     public ValueQuery(String query, long timestamp) throws Exception {
@@ -64,6 +69,7 @@ public class ValueQuery extends Value {
         }
         this.signature = null;
         this.timestamp = timestamp;
+        this.installed = true;
     }
 
     private ValueQuery() {
@@ -71,6 +77,7 @@ public class ValueQuery extends Value {
         this.query = null;
         this.signature = null;
         this.timestamp = System.currentTimeMillis();
+        this.installed = true;
     }
 
     public String getCode() { return code; }
@@ -85,6 +92,10 @@ public class ValueQuery extends Value {
 
     public void setTimestamp(long timestamp) { this.timestamp = timestamp; }
 
+    public boolean isInstalled() { return installed; }
+
+    public void setInstalled(boolean installed) { this.installed = installed; }
+
     @Override
     public Type getType() {
         return TypePrimitive.QUERY;
-- 
cgit v1.2.3