Updated hue nad compile settings
This commit is contained in:
Binary file not shown.
Binary file not shown.
192
.idea/workspace.xml
generated
192
.idea/workspace.xml
generated
@@ -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	" 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>
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
38
src/main/java/device/hue.java
Normal file
38
src/main/java/device/hue.java
Normal 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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
public class hue {
|
||||
}
|
||||
84
src/main/java/manage/rest.java
Normal file
84
src/main/java/manage/rest.java
Normal 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
public class rest {
|
||||
}
|
||||
Reference in New Issue
Block a user