Lightweight web server for web commands, start of web config post
This commit is contained in:
177
.idea/workspace.xml
generated
177
.idea/workspace.xml
generated
@@ -2,17 +2,10 @@
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="28cc251f-c94f-44ee-a66d-77aaab6e3483" name="Default" comment="">
|
||||
<change type="DELETED" beforePath="$PROJECT_DIR$/barneyWell.json" afterPath="" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/com/henrypump/poc/WebServer.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/henrypump/poc/Database.java" afterPath="$PROJECT_DIR$/src/main/java/com/henrypump/poc/Database.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/henrypump/poc/IOControl.java" afterPath="$PROJECT_DIR$/src/main/java/com/henrypump/poc/IOControl.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/henrypump/poc/POC.java" afterPath="$PROJECT_DIR$/src/main/java/com/henrypump/poc/POC.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/henrypump/poc/Well.java" afterPath="$PROJECT_DIR$/src/main/java/com/henrypump/poc/Well.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/www/pocwww/pocwww/__init__.py" afterPath="$PROJECT_DIR$/www/pocwww/pocwww/__init__.py" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/www/pocwww/pocwww/templates/dashboard.jinja2" afterPath="$PROJECT_DIR$/www/pocwww/pocwww/templates/dashboard.jinja2" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/www/pocwww/pocwww/templates/layout.jinja2" afterPath="$PROJECT_DIR$/www/pocwww/pocwww/templates/layout.jinja2" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/www/pocwww/pocwww/templates/runstatus.jinja2" afterPath="$PROJECT_DIR$/www/pocwww/pocwww/templates/runstatus.jinja2" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/www/pocwww/pocwww/views.py" afterPath="$PROJECT_DIR$/www/pocwww/pocwww/views.py" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/www/pocwww/pocwww/templates/config.jinja2" afterPath="$PROJECT_DIR$/www/pocwww/pocwww/templates/config.jinja2" />
|
||||
</list>
|
||||
<ignored path="$PROJECT_DIR$/target/" />
|
||||
<ignored path="$PROJECT_DIR$/.gradle/" />
|
||||
@@ -115,14 +108,9 @@
|
||||
<file leaf-file-name="IOControl.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/IOControl.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="105">
|
||||
<caret line="7" column="26" lean-forward="false" selection-start-line="7" selection-start-column="26" selection-end-line="7" selection-end-column="26" />
|
||||
<folding>
|
||||
<element signature="e#754#755#0" expanded="false" />
|
||||
<element signature="e#803#804#0" expanded="false" />
|
||||
<element signature="e#833#834#0" expanded="false" />
|
||||
<element signature="e#881#882#0" expanded="false" />
|
||||
</folding>
|
||||
<state relative-caret-position="915">
|
||||
<caret line="69" column="5" lean-forward="true" selection-start-line="50" selection-start-column="4" selection-end-line="69" selection-end-column="5" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@@ -130,17 +118,17 @@
|
||||
<file leaf-file-name="POC.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/POC.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="180">
|
||||
<caret line="12" column="21" lean-forward="false" selection-start-line="12" selection-start-column="21" selection-end-line="12" selection-end-column="21" />
|
||||
<state relative-caret-position="1530">
|
||||
<caret line="102" column="65" lean-forward="false" selection-start-line="102" selection-start-column="65" selection-end-line="102" selection-end-column="65" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Well.java" pinned="false" current-in-tab="true">
|
||||
<file leaf-file-name="Well.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/Well.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2700">
|
||||
<state relative-caret-position="770">
|
||||
<caret line="180" column="38" lean-forward="true" selection-start-line="180" selection-start-column="38" selection-end-line="180" selection-end-column="38" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
@@ -149,6 +137,18 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="WebServer.java" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/WebServer.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="380">
|
||||
<caret line="55" column="0" lean-forward="true" selection-start-line="55" selection-start-column="0" selection-end-line="55" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Measurement.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/Measurement.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@@ -748,8 +748,9 @@
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/henrypump/poc/CLScanner.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/henrypump/poc/IOControl.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/henrypump/poc/Database.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/henrypump/poc/POC.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/henrypump/poc/Well.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/henrypump/poc/POC.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/henrypump/poc/WebServer.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@@ -770,7 +771,7 @@
|
||||
</component>
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||
<component name="ProjectView">
|
||||
<navigator proportions="" version="1">
|
||||
<navigator currentView="ProjectPane" proportions="" version="1">
|
||||
<flattenPackages />
|
||||
<showMembers ProjectPane="true" />
|
||||
<showModules />
|
||||
@@ -783,7 +784,65 @@
|
||||
<manualOrder />
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes />
|
||||
<panes>
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="Scratches" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="poc-java" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="POC-Java" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="poc-java" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="POC-Java" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="src" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="poc-java" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="POC-Java" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="src" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="main" />
|
||||
<option name="myItemType" value="org.jetbrains.plugins.gradle.projectView.GradleTreeStructureProvider$GradleSourceSetDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="java" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="poc" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="Scope" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
@@ -791,6 +850,7 @@
|
||||
<property name="project.structure.proportion" value="0.15" />
|
||||
<property name="project.structure.side.proportion" value="0.2" />
|
||||
<property name="settings.editor.selected.configurable" value="reference.settings.project.maven.repository.indices" />
|
||||
<property name="SearchEverywhereHistoryKey" value="	FILE	file:///Users/patrickjmcd/Henry_Pump/POC-Java/src/main/java/com/henrypump/poc/Well.java" />
|
||||
</component>
|
||||
<component name="RunManager" selected="Application.POC">
|
||||
<configuration default="false" name="POC" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
|
||||
@@ -1057,7 +1117,7 @@
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="0" y="23" width="1680" height="959" extended-state="6" />
|
||||
<editor active="false" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
@@ -1073,8 +1133,8 @@
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.19382322" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Gradle" active="true" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32967034" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.1935287" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Gradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32967034" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24973376" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
@@ -1114,9 +1174,9 @@
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32921347" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32960895" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.19382322" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.1935287" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32960895" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Gradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32985258" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Gradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32967034" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="true" content_ui="tabs" />
|
||||
</layout-to-restore>
|
||||
@@ -1135,16 +1195,6 @@
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/Well.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/WellTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="675">
|
||||
@@ -1800,19 +1850,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/IOControl.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="105">
|
||||
<caret line="7" column="26" lean-forward="false" selection-start-line="7" selection-start-column="26" selection-end-line="7" selection-end-column="26" />
|
||||
<folding>
|
||||
<element signature="e#754#755#0" expanded="false" />
|
||||
<element signature="e#803#804#0" expanded="false" />
|
||||
<element signature="e#833#834#0" expanded="false" />
|
||||
<element signature="e#881#882#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/barneyWell.json">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="15">
|
||||
@@ -1829,14 +1866,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/POC.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="180">
|
||||
<caret line="12" column="21" lean-forward="false" selection-start-line="12" selection-start-column="21" selection-end-line="12" selection-end-column="21" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/startup.sh">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="30">
|
||||
@@ -1857,7 +1886,7 @@
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/Well.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2700">
|
||||
<state relative-caret-position="770">
|
||||
<caret line="180" column="38" lean-forward="true" selection-start-line="180" selection-start-column="38" selection-end-line="180" selection-end-column="38" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
@@ -1865,6 +1894,32 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/IOControl.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="915">
|
||||
<caret line="69" column="5" lean-forward="true" selection-start-line="50" selection-start-column="4" selection-end-line="69" selection-end-column="5" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/POC.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1530">
|
||||
<caret line="102" column="65" lean-forward="false" selection-start-line="102" selection-start-column="65" selection-end-line="102" selection-end-column="65" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/henrypump/poc/WebServer.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="380">
|
||||
<caret line="55" column="0" lean-forward="true" selection-start-line="55" selection-start-column="0" selection-end-line="55" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
|
||||
@@ -90,9 +90,21 @@ public class POC implements Runnable{
|
||||
|
||||
if (args.length < 2){
|
||||
final POC realPOC = new POC(dbHostname);
|
||||
try {
|
||||
WebServer httpServer = new WebServer(8000, realPOC);
|
||||
} catch (Exception e){
|
||||
System.out.println("problem starting web server");
|
||||
System.out.println(e);
|
||||
}
|
||||
realPOC.start();
|
||||
} else {
|
||||
final POC simPOC = new POC(args[0], args[1].equals("true"), dbHostname);
|
||||
try {
|
||||
WebServer httpServer = new WebServer(8000, simPOC);
|
||||
} catch (Exception e){
|
||||
System.out.println("problem starting web server");
|
||||
System.out.println(e);
|
||||
}
|
||||
simPOC.start();
|
||||
}
|
||||
|
||||
|
||||
85
src/main/java/com/henrypump/poc/WebServer.java
Normal file
85
src/main/java/com/henrypump/poc/WebServer.java
Normal file
@@ -0,0 +1,85 @@
|
||||
package com.henrypump.poc;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.InetSocketAddress;
|
||||
|
||||
import com.sun.net.httpserver.HttpExchange;
|
||||
import com.sun.net.httpserver.HttpHandler;
|
||||
import com.sun.net.httpserver.HttpServer;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
|
||||
/**
|
||||
* Created by patrickjmcd on 2/28/17.
|
||||
*/
|
||||
|
||||
|
||||
public class WebServer{
|
||||
private POC attachedPOC;
|
||||
private int port;
|
||||
|
||||
WebServer(int port, POC attachedPOC) throws Exception {
|
||||
this.attachedPOC = attachedPOC;
|
||||
this.port = port;
|
||||
HttpServer server = HttpServer.create(new InetSocketAddress(port), 0);
|
||||
server.createContext("/cmd/start", new StartHandler());
|
||||
server.createContext("/cmd/stop", new StopHandler());
|
||||
server.createContext("/sts", new StatusHandler());
|
||||
server.createContext("/cmd/updateconfig", new UpdateConfigHandler());
|
||||
server.setExecutor(null); // creates a default executor
|
||||
server.start();
|
||||
}
|
||||
|
||||
class StartHandler implements HttpHandler {
|
||||
@Override
|
||||
public void handle(HttpExchange t) throws IOException {
|
||||
attachedPOC.thisWell.start("webserver");
|
||||
String response = attachedPOC.thisWell.getRunStatusString();
|
||||
t.sendResponseHeaders(200, response.getBytes().length);
|
||||
OutputStream os = t.getResponseBody();
|
||||
os.write(response.getBytes());
|
||||
os.close();
|
||||
}
|
||||
}
|
||||
|
||||
class StopHandler implements HttpHandler {
|
||||
@Override
|
||||
public void handle(HttpExchange t) throws IOException {
|
||||
attachedPOC.thisWell.stop("webserver");
|
||||
String response = attachedPOC.thisWell.getRunStatusString();
|
||||
t.sendResponseHeaders(200, response.getBytes().length);
|
||||
OutputStream os = t.getResponseBody();
|
||||
os.write(response.getBytes());
|
||||
os.close();
|
||||
}
|
||||
}
|
||||
|
||||
class StatusHandler implements HttpHandler {
|
||||
@Override
|
||||
public void handle(HttpExchange t) throws IOException {
|
||||
String response = attachedPOC.thisWell.getRunStatusString();
|
||||
t.sendResponseHeaders(200, response.getBytes().length);
|
||||
OutputStream os = t.getResponseBody();
|
||||
os.write(response.getBytes());
|
||||
os.close();
|
||||
}
|
||||
}
|
||||
|
||||
class UpdateConfigHandler implements HttpHandler {
|
||||
@Override
|
||||
public void handle(HttpExchange t) throws IOException {
|
||||
attachedPOC.thisWell.getWellSetup();
|
||||
JSONObject respJSON = new JSONObject();
|
||||
respJSON.put("status", "OK");
|
||||
String response = respJSON.toJSONString();
|
||||
t.sendResponseHeaders(200, response.getBytes().length);
|
||||
OutputStream os = t.getResponseBody();
|
||||
os.write(response.getBytes());
|
||||
os.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -157,5 +157,7 @@ def main(global_config, **settings):
|
||||
config.add_route('json_singlevaluebetween', "/json/values/tag/{tagname}")
|
||||
config.add_route("json_singlevaluedaterange", "/json/values/tag/{tagname}/daterange")
|
||||
|
||||
config.add_route("json_updateconfig", "/json/updateconfig")
|
||||
|
||||
config.scan()
|
||||
return config.make_wsgi_app()
|
||||
|
||||
@@ -113,3 +113,8 @@ def json_runstatusnow(request):
|
||||
pass
|
||||
|
||||
return {'runstatus': status}
|
||||
|
||||
|
||||
@view_config(route_name="json_updateconfig", renderer="prettyjson", request_method='POST')
|
||||
def json_updateconfig(request):
|
||||
return {'POST': request.json_body}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
<div class="form-group">
|
||||
<label for="pumpDiameter">Pump Diameter</label>
|
||||
<input type="number" class="form-control" id="pumpDiameter" value="{{config.pumpDiameter}}" step="0.001" min="0.001" max="0.2">
|
||||
<input type="number" class="form-control" id="pumpDiameter" value="{{config.pumpDiameter}}" step="0.001" min="0.001" max="10">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@@ -29,40 +29,124 @@
|
||||
|
||||
<div class="form-group">
|
||||
<label for="tubingID">Tubing ID</label>
|
||||
<input type="number" class="form-control" id="tubingID" value="{{config.tubingID}}" step="0.001" min="0.001" max="0.2">
|
||||
<input type="number" class="form-control" id="tubingID" value="{{config.tubingID}}" step="0.001" min="0.001" max="24">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="tubingOD">Tubing OD</label>
|
||||
<input type="number" class="form-control" id="tubingOD" value="{{config.tubingOD}}" step="0.001" min="0.001" max="0.2">
|
||||
<input type="number" class="form-control" id="tubingOD" value="{{config.tubingOD}}" step="0.001" min="0.001" max="24">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="tubingAnchorDepth">Tubing Anchor Depth</label>
|
||||
<input type="number" class="form-control" id="tubingAnchorDepth" value="{{config.tubingAnchorDepth}}" step="0.001" min="0.001" max="0.2">
|
||||
<input type="number" class="form-control" id="tubingAnchorDepth" value="{{config.tubingAnchorDepth}}" step="0.001" min="0.001">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="structuralRating">Structural Rating</label>
|
||||
<input type="number" class="form-control" id="structuralRating" value="{{config.structuralRating}}" step="0.001" min="0.001" max="0.2">
|
||||
<input type="number" class="form-control" id="structuralRating" value="{{config.structuralRating}}" step="0.001" min="0.001">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="stuffingBoxFriction">Stuffing Box Friction</label>
|
||||
<input type="number" class="form-control" id="stuffingBoxFriction" value="{{config.stuffingBoxFriction}}" step="0.5" min="0.0" max="1000">
|
||||
<input type="number" class="form-control" id="stuffingBoxFriction" value="{{config.stuffingBoxFriction}}" step="0.5" min="0.0">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="tubingHeadPressure">Tubing Head Pressure</label>
|
||||
<input type="number" class="form-control" id="tubingHeadPressure" value="{{config.tubingHeadPressure}}" step="0.001" min="0.001" max="0.2">
|
||||
<input type="number" class="form-control" id="tubingHeadPressure" value="{{config.tubingHeadPressure}}" step="0.001" min="0.0">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="storedBy">Last Stored By</label>
|
||||
<input type="text" class="form-control disabled" id="storedBy" value="{{config.storedBy}}" disabled>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-default">Submit</button>
|
||||
<h2>Taper Setup</h2>
|
||||
<div class="table table-responsive">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Taper</th>
|
||||
<th>Length</th>
|
||||
<th>Diameter</th>
|
||||
<th>Material</th>
|
||||
<th>Damping Factor</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{% for taper in config.tapers %}
|
||||
<tr>
|
||||
<td class="taper-number">{{loop.index}}</td>
|
||||
<td><input type="number" class="form-control" id="taper-{{loop.index}}-length" value="{{taper.length}}" /></td>
|
||||
<td><input type="number" class="form-control" id="taper-{{loop.index}}-diameter" value="{{taper.diameter}}" /></td>
|
||||
<td><select class="form-control" id="taper-{{loop.index}}-material" value="{{taper.material}}"><option value="steel">Steel</option><option value="fiberglass">Fiberglass</option></select></td>
|
||||
<!-- <td><input type="text" class="form-control" id="taper-{{loop.index}}-material" value="{{taper.material}}" /></td> -->
|
||||
<td><input type="number" class="form-control" id="taper-{{loop.index}}-dampingFactor" value="{{taper.dampingFactor}}" /></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
<span id="morerows"></span>
|
||||
</tbody>
|
||||
</table>
|
||||
<button id="add-row" class="btn btn-primary"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add Taper</button>
|
||||
|
||||
|
||||
<button id="submit" class="btn btn-default">Submit</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$( "#add-row" ).click(function( event ) {
|
||||
event.preventDefault();
|
||||
var nextTaper = parseInt($(".taper-number").last().text()) + 1;
|
||||
if(nextTaper <= 10){
|
||||
var taperHTML = '<tr><td class="taper-number">' + nextTaper + '</td><td><input type="number" class="form-control" id="taper-'+ nextTaper + '-length" value="0.0" /></td><td><input type="number" class="form-control" id="taper-' + nextTaper + '-diameter" value="0.0" /></td><td><select class="form-control" id="taper-' + nextTaper + '-material" value=""><option value="steel">Steel</option><option value="fiberglass">Fiberglass</option></select></td><td><input type="number" class="form-control" id="taper-' + nextTaper + '-dampingFactor" value="0.0" /></td></tr>';
|
||||
$("tbody").append(taperHTML);
|
||||
}
|
||||
});
|
||||
|
||||
function printOut(data){
|
||||
console.log(data);
|
||||
}
|
||||
|
||||
$("#submit").click(function(event){
|
||||
event.preventDefault();
|
||||
var newObject = {};
|
||||
newObject.wellName = $("#wellName").val();
|
||||
newObject.deltaT = parseFloat($("#deltaT").val());
|
||||
newObject.pumpDiameter = parseFloat($("#pumpDiameter").val());
|
||||
newObject.fluidGradient = parseFloat($("#fluidGradient").val());
|
||||
newObject.tubingID = parseFloat($("#tubingID").val());
|
||||
newObject.tubingOD = parseFloat($("#tubingOD").val());
|
||||
newObject.tubingAnchorDepth = parseFloat($("#tubingAnchorDepth").val());
|
||||
newObject.structuralRating = parseFloat($("#structuralRating").val());
|
||||
newObject.stuffingBoxFriction = parseFloat($("#stuffingBoxFriction").val());
|
||||
newObject.tubingHeadPressure = parseFloat($("#tubingHeadPressure").val());
|
||||
|
||||
var taperList = [];
|
||||
var lastTaper = parseInt($(".taper-number").last().text())
|
||||
for (var i = 1; i <= lastTaper; i++){
|
||||
taperList.push({
|
||||
length: parseFloat($("#taper-" + i + "-length").val()),
|
||||
diameter: parseFloat($("#taper-" + i + "-diameter").val()),
|
||||
material: $("#taper-" + i + "-material").val(),
|
||||
dampingFactor: parseFloat($("#taper-" + i + "-dampingFactor").val()),
|
||||
})
|
||||
}
|
||||
newObject.tapers = taperList;
|
||||
|
||||
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: 'json',
|
||||
data: JSON.stringify(newObject),
|
||||
contentType: "application/json; charset=utf-8",
|
||||
url: "/json/updateconfig",
|
||||
success: printOut
|
||||
});
|
||||
})
|
||||
</script>
|
||||
{% endblock content %}
|
||||
|
||||
Reference in New Issue
Block a user