Updated hue nad compile settings

This commit is contained in:
Dawit Gulino 20013954
2018-05-24 11:49:35 +02:00
parent 3ce64c12dc
commit 9a83a06215
8 changed files with 267 additions and 55 deletions

192
.idea/workspace.xml generated
View File

@@ -2,17 +2,14 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="243109fa-fc75-416b-9614-487ca658c24f" name="Default" comment="">
<change afterPath="$PROJECT_DIR$/.idea/gradle.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/build.gradle" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.jar" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gradlew" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gradlew.bat" afterDir="false" />
<change afterPath="$PROJECT_DIR$/settings.gradle" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/hue.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/rest.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/device/hue.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/manage/rest.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gradle/4.4/fileHashes/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/4.4/fileHashes/fileHashes.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gradle/4.4/fileHashes/fileHashes.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/4.4/fileHashes/fileHashes.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/build.gradle" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/hue.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/rest.java" beforeDir="false" />
</list>
<ignored path="$PROJECT_DIR$/out/" />
<ignored path="$PROJECT_DIR$/.gradle/" />
@@ -32,19 +29,31 @@
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="hue.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/hue.java">
<entry file="file://$PROJECT_DIR$/src/main/java/device/hue.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="16" selection-start-column="16" selection-end-column="16" />
<state relative-caret-position="136">
<caret line="8" column="30" selection-start-line="8" selection-start-column="30" selection-end-line="8" selection-end-column="30" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="rest.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/main/java/rest.java">
<file leaf-file-name="rest.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/manage/rest.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="17" selection-start-column="17" selection-end-column="17" />
<state relative-caret-position="34">
<caret line="7" column="23" selection-start-line="7" selection-start-column="7" selection-end-line="7" selection-end-column="23" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="build.gradle" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/build.gradle">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306">
<caret line="18" column="43" selection-start-line="18" selection-start-column="43" selection-end-line="18" selection-end-column="43" />
</state>
</provider>
</entry>
@@ -239,9 +248,9 @@
</option>
<option name="modificationStamps">
<map>
<entry key="$PROJECT_DIR$" value="6107918198694" />
<entry key="$PROJECT_DIR$" value="6108089818220" />
<entry key="$PROJECT_DIR$/.gradle" value="0" />
<entry key="$PROJECT_DIR$/build.gradle" value="1180961346" />
<entry key="$PROJECT_DIR$/build.gradle" value="3362878784" />
<entry key="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties" value="1741342742" />
<entry key="$PROJECT_DIR$/settings.gradle" value="2435099665" />
</map>
@@ -356,6 +365,17 @@
</map>
</option>
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/src/main/java/hue.java" />
<option value="$PROJECT_DIR$/src/main/java/rest.java" />
<option value="$PROJECT_DIR$/src/main/java/device/hue.java" />
<option value="$PROJECT_DIR$/src/main/java/manage/rest.java" />
<option value="$PROJECT_DIR$/build.gradle" />
</list>
</option>
</component>
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsGulpfileManager">
@@ -366,10 +386,9 @@
<packageJsonPaths />
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="85" />
<option name="y" value="25" />
<option name="width" value="1750" />
<option name="height" value="970" />
<option name="x" value="-9" />
<option name="width" value="978" />
<option name="height" value="1039" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectView">
@@ -377,7 +396,7 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="AndroidView" />
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<expand>
@@ -385,6 +404,11 @@
<item name="SeniorAssistant" type="b2602c69:ProjectViewProjectNode" />
<item name="SeniorAssistant" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
</path>
<path>
<item name="SeniorAssistant" type="b2602c69:ProjectViewProjectNode" />
<item name="SeniorAssistant" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name=".gradle" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="SeniorAssistant" type="b2602c69:ProjectViewProjectNode" />
<item name="SeniorAssistant" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
@@ -403,29 +427,53 @@
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="SeniorAssistant" type="b2602c69:ProjectViewProjectNode" />
<item name="SeniorAssistant" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="device" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="SeniorAssistant" type="b2602c69:ProjectViewProjectNode" />
<item name="SeniorAssistant" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="manage" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="SeniorAssistant" type="b2602c69:ProjectViewProjectNode" />
<item name="SeniorAssistant" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="test" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
</path>
<path>
<item name="SeniorAssistant" type="b2602c69:ProjectViewProjectNode" />
<item name="External Libraries" type="cb654da1:ExternalLibrariesNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
<pane id="AndroidView" />
<pane id="PackagesPane" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="Downloaded.Files.Path.Enabled" value="false" />
<property name="Repository.Attach.JavaDocs" value="false" />
<property name="Repository.Attach.Sources" value="false" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../spark-rest" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="project.structure.last.edited" value="Modules" />
<property name="project.structure.proportion" value="0.0" />
<property name="project.structure.side.proportion" value="0.0" />
<property name="settings.editor.selected.configurable" value="preferences.keymap" />
<property name="project.structure.last.edited" value="Libraries" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="settings.editor.selected.configurable" value="JavaScript.Libraries" />
</component>
<component name="RunDashboard">
<option name="ruleStates">
@@ -496,22 +544,25 @@
<workItem from="1526979548185" duration="326000" />
<workItem from="1526979941856" duration="575000" />
<workItem from="1526985361240" duration="446000" />
<workItem from="1527146875914" duration="4543000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="2254000" />
<option name="totallyTimeSpent" value="6797000" />
</component>
<component name="ToolWindowManager">
<frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
<editor active="true" />
<layout>
<window_info anchor="right" id="Palette" order="3" />
<window_info anchor="right" id="sbt" order="3" />
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
<window_info anchor="bottom" id="Event Log" order="7" sideWeight="0.50065106" side_tool="true" visible="true" weight="0.32551724" />
<window_info anchor="right" id="Maven Projects" order="3" />
<window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
<window_info id="Capture Tool" order="2" />
<window_info id="Designer" order="2" />
<window_info anchor="bottom" id="Build" order="7" sideWeight="0.49934897" visible="true" weight="0.32551724" />
<window_info anchor="right" id="Database" order="3" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
@@ -521,10 +572,10 @@
<window_info anchor="right" id="Palette&#9;" order="3" />
<window_info id="Image Layers" order="2" />
<window_info anchor="right" id="Capture Analysis" order="3" />
<window_info active="true" anchor="bottom" id="Version Control" order="7" visible="true" weight="0.32965517" />
<window_info anchor="bottom" id="Version Control" order="7" sideWeight="0.4993481" weight="0.33333334" />
<window_info anchor="bottom" id="Run" order="2" />
<window_info anchor="bottom" id="Terminal" order="7" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.25" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.25" />
<window_info anchor="bottom" id="sbt-shell-toolwindow" order="7" />
<window_info id="Learn" order="2" />
<window_info anchor="right" id="Gradle" order="3" />
@@ -534,7 +585,6 @@
<window_info anchor="bottom" id="Find" order="1" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Build" order="7" visible="true" weight="0.32965517" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
</layout>
@@ -545,15 +595,46 @@
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="java-method">
<url>file://$PROJECT_DIR$/src/main/java/device/hue.java</url>
<line>12</line>
<properties class="device.hue" method="turnOn">
<option name="EMULATED" value="true" />
</properties>
</line-breakpoint>
</breakpoints>
<option name="time" value="1" />
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/main/java/hue.java">
<entry file="file://$PROJECT_DIR$/src/main/java/device/hue.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="16" selection-start-column="16" selection-end-column="16" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/manage/rest.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="17" selection-start-column="17" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/device/hue.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="16" selection-start-column="16" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/rest.java">
<entry file="file://$PROJECT_DIR$/src/main/java/manage/rest.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="17" selection-start-column="17" selection-end-column="17" />
@@ -568,27 +649,20 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/hue.java">
<entry file="file://$PROJECT_DIR$/src/main/java/device/hue.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="16" selection-start-column="16" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/rest.java">
<entry file="file://$PROJECT_DIR$/src/main/java/manage/rest.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="17" selection-start-column="17" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/hue.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="16" selection-start-column="16" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
@@ -599,10 +673,27 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/rest.java">
<entry file="file://$PROJECT_DIR$/src/main/java/device/hue.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="17" selection-start-column="17" selection-end-column="17" />
<state relative-caret-position="136">
<caret line="8" column="30" selection-start-line="8" selection-start-column="30" selection-end-line="8" selection-end-column="30" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/manage/rest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<caret line="7" column="23" selection-start-line="7" selection-start-column="7" selection-end-line="7" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/build.gradle">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306">
<caret line="18" column="43" selection-start-line="18" selection-start-column="43" selection-end-line="18" selection-end-column="43" />
</state>
</provider>
</entry>
@@ -658,12 +749,11 @@
</state>
<state key="ModuleStructureConfigurable.UI">
<settings>
<last-edited>SeniorAssistant_main|SeniorAssistant</last-edited>
<last-edited>SeniorAssistant</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
<option value="0.6" />
</list>
</option>
</splitter-proportions>

View File

@@ -13,4 +13,8 @@ repositories {
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile "com.sparkjava:spark-core:2.5.5"
compile "org.slf4j:slf4j-simple:1.7.21"
compile "com.google.code.gson:gson:2.8.0"
compile "org.xerial:sqlite-jdbc:3.15.1"
}

View File

@@ -0,0 +1,38 @@
package device;
import java.util.Map;
import manage.rest;
public class hue {
String baseURL = "192.168.0.2";
String username = "admin";
String lightsURL = baseURL+"/api/"+username+"/lights/";
Map<String, ?> allLights = rest.get(lightsURL);
public void turnOn() {
for (String light : allLights.keySet()) {
String callURL = lightsURL + light + "/state";
String body = "{ \"on\" : true }";
rest.put(callURL, body, "application/json");
}
}
public void turnOff() {
for (String light : allLights.keySet()) {
String callURL = lightsURL + light + "/state";
String body = "{ \"on\" : false }";
rest.put(callURL, body, "application/json");
}
}
public void looping() {
for (String light : allLights.keySet()) {
String callURL = lightsURL + light + "/state";
String body = "{ \"on\" : true, \"effect\" : \"colorloop\" }";
rest.put(callURL, body, "application/json");
}
}
}

View File

@@ -1,2 +0,0 @@
public class hue {
}

View File

@@ -0,0 +1,84 @@
package manage;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.google.gson.Gson;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
/**
* A generic class to perform HTTP calls and parse the resulting JSON.
*
* @author <a href="mailto:luigi.derussis@uniupo.it">Luigi De Russis</a>
* @version 1.0 (18/05/2017)
*/
public class rest {
// init gson
private static final Gson gson = new Gson();
/**
* Perform a GET request towards a server
*
* @param URL the @link{URL} to call
* @return the response, parsed from JSON
*/
public static Map<String, ?> get(String URL) {
// init
Map<String, ?> response = new HashMap<>();
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet request = new HttpGet(URL);
CloseableHttpResponse result = null;
try {
result = httpclient.execute(request);
String json = EntityUtils.toString(result.getEntity());
// do something useful with the response body
response = gson.fromJson(json, Map.class);
// should be inside a finally...
result.close();
httpclient.close();
} catch (IOException e) {
e.printStackTrace();
}
return response;
}
/**
* Perform a PUT request towards a server
*
* @param URL the @link{URL} to call
* @param contentBody the content body of the request
* @param contentType the content type of the request
*/
public static void put(String URL, String contentBody, String contentType) {
// init
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPut request = new HttpPut(URL);
StringEntity params = null;
try {
params = new StringEntity(contentBody);
request.addHeader("content-type", contentType);
request.setEntity(params);
// I don't really care about the response
HttpResponse result = httpclient.execute(request);
// should be in finally...
httpclient.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -1,2 +0,0 @@
public class rest {
}