├── README.md
├── _config.yml
├── build.xml
├── build
└── web
│ ├── META-INF
│ └── MANIFEST.MF
│ ├── WEB-INF
│ ├── classes
│ │ └── MyServlet.class
│ ├── glassfish-web.xml
│ ├── lib
│ │ ├── poi-3.17.jar
│ │ ├── poi-ooxml-3.17.jar
│ │ ├── poi-ooxml-schemas-3.17.jar
│ │ └── xmlbeans-2.6.0.jar
│ └── web.xml
│ ├── css
│ └── style.css
│ ├── img
│ └── ngc.jpg
│ ├── index.html
│ ├── js
│ ├── dynamicForm.js
│ └── multiStep.js
│ ├── loadTrade.html
│ └── newTrade.html
├── docs
├── AHP algorithm.pdf
├── AHP paper.pdf
├── AHP tutorial.docx
├── AHP tutorial.pdf
├── Requirements List.xlsx
├── Sensitivity analysis overview.docx
├── Sensitivity analysis overview.pdf
├── TSEAT Algorithm.docx
├── TSEAT Algorithm.pdf
├── TSEAT intro.docx
├── TSEAT intro.pdf
└── Test Cases.docx
├── images
├── HomePage.PNG
├── OptionsInfo.PNG
├── ParametersInfo.PNG
├── RawScoreMatrix.PNG
└── TradeStudeInfo.PNG
├── nbproject
├── ant-deploy.xml
├── build-impl.xml
├── genfiles.properties
├── private
│ ├── private.properties
│ └── private.xml
├── project.properties
└── project.xml
├── src
├── conf
│ └── MANIFEST.MF
└── java
│ └── MyServlet.java
└── web
├── WEB-INF
└── web.xml
├── css
└── style.css
├── img
└── ngc.jpg
├── index.html
├── js
├── dynamicForm.js
└── multiStep.js
├── loadTrade.html
└── newTrade.html
/README.md:
--------------------------------------------------------------------------------
1 | # Trade Study Execution and Analysis
2 |
3 | Designed a website to conduct and store trade studies using [Vue.js](https://vuejs.org/) as a front end framework for making dynamic pages and [Spring Boot](https://projects.spring.io/spring-boot/) as back end framework for creating rest services. Created algorithms with Analytical Hierarchy Process and analyzed subsequently data to identify trends using Java and MatLab.
4 |
5 | ## Analytical Hierarchy Process
6 |
7 | The [Analytic Hierarchy Process](https://en.wikipedia.org/wiki/Analytic_hierarchy_process) (AHP) was first created by Thomas Saaty in 1977. The model was designed to use pairwise comparisons, between both the options and the criteria used in the model, to create a model that could determine the optimal solution to a decision. The [Ideal Analytic Hierarchy Process](./docs/TSEAT%20intro.pdf), a revised version of the [Analytic Hierarchy Process](./docs/AHP%20algorithm.pdf), is what will be used in this model. While there are many different multi-criteria decision-making models that can be used, the Ideal Hierarchy Process is the least likely to give you an incorrect optimal solution.
8 |
9 | [Ideal Analytic Hierarchy Process](./docs/AHP%20tutorial.pdf) will be used as basic algorithm in this model, and there are details of [algorithm and pseudo](./docs/TSEAT%20Algorithm.pdf). There is a paper to introduce [using analytic hierarchy process for decision making](./docs/AHP%20paper.pdf) as well.
10 |
11 | ## Tools
12 |
13 | - [Vue](https://github.com/vuejs/vue): the progressive, incrementally-adoptable JavaScript framework for building UI on the web.
14 | - Netbeans IDE: implement the algorithm with Java.
15 | - MatLab: analysis the data and identify trends to generate a stacked bar scores.
16 | - MySQL & SQL: storing, manipulating and retrieving data in databases.
17 |
18 | ## Evaluation
19 |
20 | - Define Trade: trade study name, program name, topic name, author
21 | - Define Parameters: numbers, names, types, preferences, comparisons
22 | - Define Options: numbers, names
23 | - Evaluate Options: receive raw score matrix
24 | - Compare and Select: determine solution and confidence factor, plot results, export a data file with results in database
25 |
26 | ## Interface
27 |
28 | **Home Page**
29 |
30 | 
31 |
32 | **Trade Study Information**
33 |
34 | 
35 |
36 | **Information about parameters**
37 |
38 | 
39 |
40 | **Information about options**
41 |
42 | 
43 |
44 | **Fill out Raw Score matrix**
45 |
46 | 
47 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-cayman
2 | title: Trade Study Execution and Analysis
3 | author: Stephen Zq
4 | description: Designed a website to conduct and store trade studies using Vue.js, HTML, CSS, and JavaScript. Created algorithms with Analytical Hierarchy Process and analyzed subsequently data to identify trends using Java and MatLab.
5 |
--------------------------------------------------------------------------------
/build.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Builds, tests, and runs the project tseatwebpage.
12 |
13 |
71 |
72 |
--------------------------------------------------------------------------------
/build/web/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 |
3 |
--------------------------------------------------------------------------------
/build/web/WEB-INF/classes/MyServlet.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/build/web/WEB-INF/classes/MyServlet.class
--------------------------------------------------------------------------------
/build/web/WEB-INF/glassfish-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Keep a copy of the generated servlet class' java code.
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/build/web/WEB-INF/lib/poi-3.17.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/build/web/WEB-INF/lib/poi-3.17.jar
--------------------------------------------------------------------------------
/build/web/WEB-INF/lib/poi-ooxml-3.17.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/build/web/WEB-INF/lib/poi-ooxml-3.17.jar
--------------------------------------------------------------------------------
/build/web/WEB-INF/lib/poi-ooxml-schemas-3.17.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/build/web/WEB-INF/lib/poi-ooxml-schemas-3.17.jar
--------------------------------------------------------------------------------
/build/web/WEB-INF/lib/xmlbeans-2.6.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/build/web/WEB-INF/lib/xmlbeans-2.6.0.jar
--------------------------------------------------------------------------------
/build/web/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | MyServlet
5 | MyServlet
6 |
7 |
8 | MyServlet
9 | /MyServlet
10 |
11 |
12 |
13 | 30
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/build/web/css/style.css:
--------------------------------------------------------------------------------
1 | /*custom font*/
2 | @import url(https://fonts.googleapis.com/css?family=Montserrat);
3 |
4 | /*basic reset*/
5 | * {
6 | margin: 0;
7 | padding: 0;
8 | }
9 |
10 | html {
11 | height: 100%;
12 | background: #87CEFA; /* fallback for old browsers */
13 | background: -webkit-linear-gradient(to left, #6441A5, #2a0845); /* Chrome 10-25, Safari 5.1-6 */
14 | }
15 |
16 | body {
17 | font-family: montserrat, arial, verdana;
18 | background: transparent;
19 | }
20 |
21 | #welcome {
22 | text-align: center;
23 | position: relative;
24 | margin-top: 30px;
25 | }
26 |
27 | #saveExcel .action-button {
28 | text-align: center;
29 | }
30 | /*form styles*/
31 | #msform {
32 | text-align: center;
33 | position: relative;
34 | margin-top: 30px;
35 | }
36 |
37 | #msform fieldset {
38 | background: white;
39 | border: 0 none;
40 | border-radius: 0px;
41 | box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
42 | padding: 20px 30px;
43 | box-sizing: border-box;
44 | width: 80%;
45 | margin: 0 10%;
46 |
47 | /*stacking fieldsets above each other*/
48 | position: relative;
49 | }
50 |
51 | /*Hide all except first fieldset*/
52 | #msform fieldset:not(:first-of-type) {
53 | display: none;
54 | }
55 |
56 | /*inputs*/
57 | #msform input, #msform textarea{
58 |
59 | border: 1px solid #ccc;
60 | border-radius: 0px;
61 | box-sizing: border-box;
62 | font-family: montserrat;
63 | color: #2C3E50;
64 | font-size: 13px;
65 | }
66 |
67 | #firstFieldset input{
68 | padding: 15px;
69 | margin-bottom: 10px;
70 | width: 100%;
71 | }
72 |
73 |
74 | #msform input:focus, #msform textarea:focus{
75 | -moz-box-shadow: none !important;
76 | -webkit-box-shadow: none !important;
77 | box-shadow: none !important;
78 | border: 1px solid #ee0979;
79 | outline-width: 0;
80 | transition: All 0.5s ease-in;
81 | -webkit-transition: All 0.5s ease-in;
82 | -moz-transition: All 0.5s ease-in;
83 | -o-transition: All 0.5s ease-in;
84 | }
85 |
86 | /*buttons*/
87 | #msform .action-button, #msform #submit_action-button, #welcome .action-button, #saveExcel .action-button {
88 | width: 100px;
89 | background: #ee0979;
90 | font-weight: bold;
91 | color: white;
92 | border: 0 none;
93 | border-radius: 25px;
94 | cursor: pointer;
95 | padding: 10px 5px;
96 | margin: 10px 5px;
97 | }
98 |
99 | #welcome .action-button {
100 | width: 250px;
101 | }
102 |
103 | #msform .action-button:hover, #msform .action-button:focus, #submit_action-button:hover, #submit_action-button:focus, #welcome .action-button:hover, #welcome .action-button:focus, #saveExcel .action-button:hover, #saveExcel .action-button:focus {
104 | box-shadow: 0 0 0 2px white, 0 0 0 3px #ee0979;
105 | }
106 |
107 |
108 | #msform .action-button-previous {
109 | width: 100px;
110 | background: #C5C5F1;
111 | font-weight: bold;
112 | color: white;
113 | border: 0 none;
114 | border-radius: 25px;
115 | cursor: pointer;
116 | padding: 10px 5px;
117 | margin: 10px 5px;
118 | }
119 |
120 | #msform .action-button-previous:hover, #msform .action-button-previous:focus {
121 | box-shadow: 0 0 0 2px white, 0 0 0 3px #C5C5F1;
122 | }
123 |
124 | /*headings*/
125 | .fs-title {
126 | font-size: 18px;
127 | text-transform: uppercase;
128 | color: #2C3E50;
129 | margin-bottom: 10px;
130 | letter-spacing: 2px;
131 | font-weight: bold;
132 | }
133 |
134 | .fs-subtitle {
135 | font-weight: normal;
136 | font-size: 13px;
137 | color: #666;
138 | margin-bottom: 20px;
139 | }
140 |
141 | /*progressbar*/
142 | #progressbar {
143 | margin-bottom: 30px;
144 | overflow: hidden;
145 | /*CSS counters to number the steps*/
146 | counter-reset: step;
147 | }
148 |
149 | #progressbar li {
150 | list-style-type: none;
151 | color: white;
152 | text-transform: uppercase;
153 | font-size: 9px;
154 | width: 25%;
155 | float: left;
156 | position: relative;
157 | letter-spacing: 1px;
158 | }
159 |
160 | #progressbar li:before {
161 | content: counter(step);
162 | counter-increment: step;
163 | width: 24px;
164 | height: 24px;
165 | line-height: 26px;
166 | display: block;
167 | font-size: 12px;
168 | color: #333;
169 | background: white;
170 | border-radius: 25px;
171 | margin: 0 auto 10px auto;
172 | }
173 |
174 | /*progressbar connectors*/
175 | #progressbar li:after {
176 | content: '';
177 | width: 100%;
178 | height: 2px;
179 | background: white;
180 | position: absolute;
181 | left: -50%;
182 | top: 9px;
183 | z-index: -1; /*put it behind the numbers*/
184 | }
185 |
186 | #progressbar li:first-child:after {
187 | /*connector not needed before the first step*/
188 | content: none;
189 | }
190 |
191 | /*marking active/completed steps green*/
192 | /*The number of the step and the connector before it = green*/
193 | #progressbar li.active:before, #progressbar li.active:after {
194 | background: #ee0979;
195 | color: white;
196 | }
197 |
198 |
199 | /* Not relevant to this form */
200 | .dme_link {
201 | margin-top: 30px;
202 | text-align: center;
203 | }
204 | .dme_link a {
205 | background: #FFF;
206 | font-weight: bold;
207 | color: #ee0979;
208 | border: 0 none;
209 | border-radius: 25px;
210 | cursor: pointer;
211 | padding: 5px 25px;
212 | font-size: 12px;
213 | }
214 |
215 | .dme_link a:hover, .dme_link a:focus {
216 | background: #C5C5F1;
217 | text-decoration: none;
218 | }
219 |
220 | .table-sortable tbody tr {
221 | cursor: move;
222 | }
223 |
--------------------------------------------------------------------------------
/build/web/img/ngc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/build/web/img/ngc.jpg
--------------------------------------------------------------------------------
/build/web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 | Trade Study Home Page
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
33 |
34 |
35 |
Welcome to TSEAT
36 |
TSEAT (Trade Study Execution and Analysis Tool) is **ENTER DESCRIPTION**
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/build/web/js/dynamicForm.js:
--------------------------------------------------------------------------------
1 | // hide nav bar and display new trade study
2 | function newTrade() {
3 | window.location = "newTrade.html";
4 | }
5 |
6 | function loadTrade() {
7 | window.location = "loadTrade.html";
8 | }
9 |
10 | function fnExcelReport()
11 | {
12 | var tab_text="";
13 | var textRange; var i=0;
14 |
15 | tab = document.getElementById('tsInfo'); // id of table
16 | for(i = 0 ; i < tab.rows.length ; i++)
17 | tab_text=tab_text+tab.rows[i].innerHTML+"
";
18 |
19 | tab = document.getElementById('paramInfo'); // id of table
20 | for(i = 0 ; i < tab.rows.length ; i++)
21 | tab_text=tab_text+tab.rows[i].innerHTML+"";
22 |
23 | tab = document.getElementById('optInfo'); // id of table
24 | for(i = 0 ; i < tab.rows.length ; i++)
25 | tab_text=tab_text+tab.rows[i].innerHTML+"";
26 |
27 | tab = document.getElementById('rawInfo'); // id of table
28 | for(i = 0 ; i < tab.rows.length ; i++)
29 | tab_text=tab_text+tab.rows[i].innerHTML+"";
30 |
31 | tab_text = tab_text + "
";
32 | tab_text = tab_text.replace(/]*>|<\/A>/g, ""); //remove if u want links in your table
33 | tab_text = tab_text.replace(/
]*>/gi, ""); // remove if u want images in your table
34 | tab_text = tab_text.replace(/]*>|<\/input>/gi, ""); // reomves input params
35 |
36 |
37 | var ua = window.navigator.userAgent;
38 | var msie = ua.indexOf("MSIE ");
39 |
40 | if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer
41 | {
42 | txtArea1.document.open("txt/html","replace");
43 | txtArea1.document.write(tab_text);
44 | txtArea1.document.close();
45 | txtArea1.focus();
46 | sa=txtArea1.document.execCommand("SaveAs",true,"Trade Study.xls");
47 | }
48 | else //other browser not tested on IE 11
49 | sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));
50 |
51 | return (sa);
52 | }
53 |
54 |
55 | // Add , Dlelete row dynamically
56 |
57 | var numParam = 1;
58 | var numOpt = 1;
59 |
60 | $(document).ready(function(){
61 |
62 | // add parameter
63 | $("#add_param").click(function() {
64 | $('#param'+numParam).html(
65 | "" + (numParam + 1) + " | " +
66 |
67 | " | " +
68 |
69 | "" +
70 | "" +
75 | " | " +
76 |
77 | "" +
78 | "high" +
79 | "low" +
80 | " | "+
81 |
82 | "" +
83 | "equally" +
84 | "moderately" +
85 | "greatly" +
86 | "extremely" +
87 | " | "
88 |
89 | );
90 |
91 | $('#tab_params').append('
');
92 | numParam++;
93 | document.getElementById('numParams').value = numParam;
94 | });
95 | // delete parameter
96 | $("#delete_param").click(function(){
97 | if(numParam>1){
98 | $("#param"+(numParam-1)).html('');
99 | numParam--;
100 | document.getElementById('numParams').value = numParam;
101 | }
102 | });
103 | //add option
104 | $("#add_opt").click(function(){
105 | $('#opt'+numOpt).html(""+ (numOpt+1) +" | | ");
106 | $('#tab_opt').append('
');
107 | numOpt++;
108 | document.getElementById('numOpts').value = numOpt;
109 | });
110 | // delete option
111 | $("#delete_opt").click(function(){
112 | if(numOpt>1){
113 | $("#opt"+(numOpt-1)).html('');
114 | numOpt--;
115 | document.getElementById('numOpts').value = numOpt;
116 | }
117 | });
118 |
119 | // create raw score matrix
120 | $("#rawScore_matrix").click(function(){
121 |
122 | for(var i = 0; i < numParam+1; i++) {
123 | // first line print header of parameter
124 | if (i==0)
125 | $('#p'+i).html(" | ");
126 | else
127 | $('#p'+i).html(""+ 'Parameter '+ i +" | ");
128 | for(var j=0; j < numOpt+1; j++) {
129 | // print out header of option
130 | if (i==0) {
131 | $('#p'+i+'o'+j).html("Option " + j + "
");
132 | $('#p'+i).append(' | ');
133 | }
134 | // print out matrix of raw score
135 | else {
136 | $('#p'+i+'o'+j).html("");
137 | $('#p'+i).append(' | ');
138 | }
139 | }
140 | $('#tab_raw').append('
');
141 | }
142 |
143 | });
144 | });
145 |
146 |
147 |
148 |
149 |
150 |
--------------------------------------------------------------------------------
/build/web/js/multiStep.js:
--------------------------------------------------------------------------------
1 |
2 | //jQuery time
3 | var current_fs, next_fs, previous_fs; //fieldsets
4 | var left, opacity, scale; //fieldset properties which we will animate
5 | var animating; //flag to prevent quick multi-click glitches
6 |
7 | $(".next").click(function(){
8 | if(animating) return false;
9 | animating = true;
10 |
11 | current_fs = $(this).parent();
12 | next_fs = $(this).parent().next();
13 |
14 | //activate next step on progressbar using the index of next_fs
15 | $("#progressbar li").eq($("fieldset").index(next_fs)).addClass("active");
16 |
17 | //show the next fieldset
18 | next_fs.show();
19 | //hide the current fieldset with style
20 | current_fs.animate({opacity: 0}, {
21 | step: function(now, mx) {
22 | //as the opacity of current_fs reduces to 0 - stored in "now"
23 | //1. scale current_fs down to 80%
24 | scale = 1 - (1 - now) * 0.2;
25 | //2. bring next_fs from the right(50%)
26 | left = (now * 50)+"%";
27 | //3. increase opacity of next_fs to 1 as it moves in
28 | opacity = 1 - now;
29 | current_fs.css({
30 | 'transform': 'scale('+scale+')',
31 | 'position': 'absolute'
32 | });
33 | next_fs.css({'left': left, 'opacity': opacity});
34 | },
35 | duration: 800,
36 | complete: function(){
37 | current_fs.hide();
38 | animating = false;
39 | },
40 | //this comes from the custom easing plugin
41 | easing: 'easeInOutBack'
42 | });
43 | });
44 |
45 | $(".previous").click(function(){
46 | if(animating) return false;
47 | animating = true;
48 |
49 | current_fs = $(this).parent();
50 | previous_fs = $(this).parent().prev();
51 |
52 | //de-activate current step on progressbar
53 | $("#progressbar li").eq($("fieldset").index(current_fs)).removeClass("active");
54 |
55 | //show the previous fieldset
56 | previous_fs.show();
57 | //hide the current fieldset with style
58 | current_fs.animate({opacity: 0}, {
59 | step: function(now, mx) {
60 | //as the opacity of current_fs reduces to 0 - stored in "now"
61 | //1. scale previous_fs from 80% to 100%
62 | scale = 0.8 + (1 - now) * 0.2;
63 | //2. take current_fs to the right(50%) - from 0%
64 | left = ((1-now) * 50)+"%";
65 | //3. increase opacity of previous_fs to 1 as it moves in
66 | opacity = 1 - now;
67 | current_fs.css({'left': left});
68 | previous_fs.css({'transform': 'scale('+scale+')', 'opacity': opacity});
69 | },
70 | duration: 800,
71 | complete: function(){
72 | current_fs.hide();
73 | animating = false;
74 | },
75 | //this comes from the custom easing plugin
76 | easing: 'easeInOutBack'
77 | });
78 | });
79 |
80 | $(".submit").click(function(){
81 | return false;
82 | })
--------------------------------------------------------------------------------
/build/web/loadTrade.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 | Load Trade Study
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
31 |
32 |
33 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/build/web/newTrade.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 | New Trade Study
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
187 |
188 |
189 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
--------------------------------------------------------------------------------
/docs/AHP algorithm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/AHP algorithm.pdf
--------------------------------------------------------------------------------
/docs/AHP paper.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/AHP paper.pdf
--------------------------------------------------------------------------------
/docs/AHP tutorial.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/AHP tutorial.docx
--------------------------------------------------------------------------------
/docs/AHP tutorial.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/AHP tutorial.pdf
--------------------------------------------------------------------------------
/docs/Requirements List.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/Requirements List.xlsx
--------------------------------------------------------------------------------
/docs/Sensitivity analysis overview.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/Sensitivity analysis overview.docx
--------------------------------------------------------------------------------
/docs/Sensitivity analysis overview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/Sensitivity analysis overview.pdf
--------------------------------------------------------------------------------
/docs/TSEAT Algorithm.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/TSEAT Algorithm.docx
--------------------------------------------------------------------------------
/docs/TSEAT Algorithm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/TSEAT Algorithm.pdf
--------------------------------------------------------------------------------
/docs/TSEAT intro.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/TSEAT intro.docx
--------------------------------------------------------------------------------
/docs/TSEAT intro.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/TSEAT intro.pdf
--------------------------------------------------------------------------------
/docs/Test Cases.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/docs/Test Cases.docx
--------------------------------------------------------------------------------
/images/HomePage.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/images/HomePage.PNG
--------------------------------------------------------------------------------
/images/OptionsInfo.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/images/OptionsInfo.PNG
--------------------------------------------------------------------------------
/images/ParametersInfo.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/images/ParametersInfo.PNG
--------------------------------------------------------------------------------
/images/RawScoreMatrix.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/images/RawScoreMatrix.PNG
--------------------------------------------------------------------------------
/images/TradeStudeInfo.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/images/TradeStudeInfo.PNG
--------------------------------------------------------------------------------
/nbproject/ant-deploy.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
102 |
103 |
104 |
105 |
106 |
107 |
109 |
110 |
111 |
112 |
--------------------------------------------------------------------------------
/nbproject/build-impl.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 | Must set src.dir
238 | Must set test.src.dir
239 | Must set build.dir
240 | Must set build.web.dir
241 | Must set build.generated.dir
242 | Must set dist.dir
243 | Must set build.classes.dir
244 | Must set dist.javadoc.dir
245 | Must set build.test.classes.dir
246 | Must set build.test.results.dir
247 | Must set build.classes.excludes
248 | Must set dist.war
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 | The Java EE server classpath is not correctly set up - server home directory is missing.
259 | Either open the project in the IDE and assign the server or setup the server classpath manually.
260 | For example like this:
261 | ant -Dj2ee.server.home=<app_server_installation_directory>
262 |
263 |
264 | The Java EE server classpath is not correctly set up. Your active server type is ${j2ee.server.type}.
265 | Either open the project in the IDE and assign the server or setup the server classpath manually.
266 | For example like this:
267 | ant -Duser.properties.file=<path_to_property_file> (where you put the property "j2ee.platform.classpath" in a .properties file)
268 | or ant -Dj2ee.platform.classpath=<server_classpath> (where no properties file is used)
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 | Must set javac.includes
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 | No tests executed.
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
530 |
531 |
532 |
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 |
554 |
555 |
556 |
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 |
567 |
568 |
569 |
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
582 |
583 |
584 |
585 |
586 |
587 |
588 |
589 |
590 |
591 |
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 |
600 |
601 |
602 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
616 |
617 |
618 |
619 |
620 |
621 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 |
702 |
703 |
704 |
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
740 |
741 |
742 |
743 |
744 |
745 |
746 |
747 |
748 |
749 |
750 |
751 |
752 |
753 |
754 |
755 |
756 |
757 |
758 |
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 |
767 |
768 |
769 |
770 |
771 |
772 |
773 |
774 |
775 |
776 |
777 |
778 |
779 |
780 |
781 |
782 |
783 |
784 |
785 |
786 |
787 |
788 |
789 |
790 |
791 |
792 |
793 |
794 |
795 |
796 |
797 |
798 | The libs.CopyLibs.classpath property is not set up.
799 | This property must point to
800 | org-netbeans-modules-java-j2seproject-copylibstask.jar file which is part
801 | of NetBeans IDE installation and is usually located at
802 | <netbeans_installation>/java<version>/ant/extra folder.
803 | Either open the project in the IDE and make sure CopyLibs library
804 | exists or setup the property manually. For example like this:
805 | ant -Dlibs.CopyLibs.classpath=a/path/to/org-netbeans-modules-java-j2seproject-copylibstask.jar
806 |
807 |
808 |
809 |
810 |
811 |
812 |
813 |
814 |
815 |
816 |
817 |
818 |
819 |
820 |
821 |
822 |
823 |
824 |
825 |
826 |
827 |
828 |
829 |
830 |
831 |
832 |
835 |
836 |
837 |
838 |
839 |
840 |
841 |
842 |
843 |
844 |
845 | Must set JVM to use for profiling in profiler.info.jvm
846 | Must set profiler agent JVM arguments in profiler.info.jvmargs.agent
847 |
848 |
851 |
852 |
855 |
856 |
857 |
858 |
859 |
860 |
861 |
862 |
863 |
864 |
865 |
866 |
867 |
868 |
869 |
870 |
871 |
872 |
873 |
874 |
875 |
876 |
877 |
878 |
879 |
880 |
881 |
882 |
883 |
884 |
885 |
886 |
887 |
888 |
889 |
890 |
891 |
892 |
893 |
894 |
895 |
896 |
897 |
898 |
899 |
900 |
901 | Must select some files in the IDE or set javac.includes
902 |
903 |
904 |
905 |
906 |
907 |
908 |
909 |
910 |
911 |
912 |
913 |
914 |
915 |
916 |
917 |
918 |
919 |
920 |
921 |
922 |
923 |
924 |
925 |
926 |
927 |
928 |
929 |
930 |
931 |
932 |
933 |
934 | Must select some files in the IDE or set javac.jsp.includes
935 |
936 |
937 |
938 |
939 |
940 |
941 |
942 |
943 |
944 |
945 |
946 |
947 |
948 |
949 |
950 |
951 |
952 |
953 |
954 |
955 |
956 |
957 |
958 |
959 |
960 | Must select a file in the IDE or set jsp.includes
961 |
962 |
963 |
966 |
967 |
968 |
969 |
970 |
971 |
972 |
973 |
974 |
975 |
976 |
977 |
978 |
979 |
980 |
981 |
982 |
983 |
984 |
985 |
986 |
987 |
988 |
989 |
990 |
991 |
992 |
993 |
994 |
995 |
996 |
997 |
998 |
999 |
1000 |
1001 |
1002 |
1003 |
1004 |
1005 |
1006 |
1007 |
1008 |
1009 |
1010 |
1011 |
1012 |
1013 |
1014 |
1015 |
1016 |
1017 |
1018 |
1019 |
1020 |
1021 |
1022 |
1023 |
1024 |
1025 |
1026 |
1027 |
1028 |
1029 |
1032 |
1033 |
1034 |
1035 |
1036 |
1037 |
1038 |
1039 |
1040 |
1041 |
1042 |
1043 |
1044 |
1045 |
1046 |
1047 |
1048 |
1049 |
1050 |
1051 |
1052 |
1053 |
1054 |
1055 |
1056 |
1057 |
1058 |
1059 |
1060 |
1061 |
1062 |
1063 |
1064 |
1065 |
1066 |
1067 |
1068 |
1069 |
1070 |
1071 |
1072 |
1073 |
1074 |
1075 |
1076 |
1077 |
1078 |
1079 |
1080 |
1081 |
1082 |
1083 |
1084 |
1085 |
1086 |
1087 |
1088 |
1089 |
1090 |
1091 |
1092 |
1093 |
1094 |
1095 |
1096 |
1097 |
1098 |
1099 |
1100 |
1101 |
1102 |
1103 |
1104 |
1105 |
1106 |
1107 |
1108 |
1109 |
1110 |
1111 |
1112 |
1113 |
1114 |
1115 |
1116 |
1117 |
1118 |
1119 |
1120 |
1121 |
1122 |
1123 |
1124 |
1125 |
1126 |
1127 |
1128 |
1129 |
1130 |
1131 |
1132 |
1133 |
1134 |
1135 |
1136 | Browser not found, cannot launch the deployed application. Try to set the BROWSER environment variable.
1137 |
1138 |
1139 | Launching ${browse.url}
1140 |
1141 |
1142 |
1143 |
1144 |
1145 | Must select one file in the IDE or set run.class
1146 |
1147 |
1148 |
1149 | Must select one file in the IDE or set run.class
1150 |
1151 |
1152 |
1153 |
1154 |
1155 |
1158 |
1159 |
1160 |
1161 |
1162 |
1163 |
1164 |
1165 |
1166 |
1167 |
1168 |
1169 |
1170 |
1171 |
1172 |
1173 |
1174 |
1175 |
1176 |
1177 |
1178 |
1179 |
1180 |
1181 |
1182 |
1183 |
1184 |
1185 |
1186 |
1187 |
1188 |
1189 | Must select one file in the IDE or set debug.class
1190 |
1191 |
1192 |
1193 |
1194 |
1195 |
1196 |
1197 |
1198 |
1199 |
1200 |
1201 | Must select one file in the IDE or set debug.class
1202 |
1203 |
1204 |
1205 |
1206 | Must set fix.includes
1207 |
1208 |
1209 |
1210 |
1211 |
1212 |
1213 |
1218 |
1221 |
1222 |
1223 |
1224 |
1225 |
1226 |
1227 |
1228 |
1229 |
1230 |
1231 |
1232 |
1233 |
1234 |
1235 |
1236 |
1237 |
1238 |
1239 |
1240 |
1241 |
1242 |
1243 | This target only works when run from inside the NetBeans IDE.
1244 |
1245 |
1246 |
1247 |
1248 |
1249 |
1250 |
1251 |
1252 |
1253 |
1254 |
1255 |
1256 |
1257 |
1258 |
1259 |
1260 |
1261 |
1262 |
1263 |
1264 |
1265 |
1266 |
1267 |
1268 |
1269 |
1270 |
1271 |
1272 |
1273 |
1274 |
1275 |
1276 |
1277 |
1278 |
1279 |
1280 |
1281 |
1282 |
1283 |
1284 |
1285 |
1286 |
1287 |
1288 |
1289 |
1290 |
1291 |
1292 |
1293 |
1294 |
1297 |
1298 |
1299 |
1300 |
1301 |
1302 |
1303 |
1304 |
1305 |
1306 |
1307 |
1308 |
1309 |
1310 |
1311 |
1312 |
1313 |
1314 |
1315 |
1316 |
1317 |
1318 |
1319 |
1320 |
1321 |
1322 |
1323 |
1327 |
1328 |
1329 |
1330 |
1331 |
1332 |
1333 |
1334 |
1335 |
1336 |
1337 |
1338 |
1339 |
1340 |
1341 |
1342 |
1343 |
1344 |
1345 |
1346 |
1347 |
1348 |
1349 |
1350 |
1351 | Must select some files in the IDE or set javac.includes
1352 |
1353 |
1354 |
1355 |
1356 |
1357 |
1358 |
1359 |
1360 |
1361 |
1362 |
1366 |
1367 |
1368 |
1369 |
1370 |
1371 |
1372 |
1373 | Some tests failed; see details above.
1374 |
1375 |
1376 |
1377 |
1378 |
1379 |
1380 |
1381 |
1382 | Must select some files in the IDE or set test.includes
1383 |
1384 |
1385 |
1386 | Some tests failed; see details above.
1387 |
1388 |
1389 |
1390 | Must select some files in the IDE or set test.class
1391 | Must select some method in the IDE or set test.method
1392 |
1393 |
1394 |
1395 | Some tests failed; see details above.
1396 |
1397 |
1398 |
1402 |
1403 | Must select one file in the IDE or set test.class
1404 |
1405 |
1406 |
1407 | Must select one file in the IDE or set test.class
1408 | Must select some method in the IDE or set test.method
1409 |
1410 |
1411 |
1412 |
1413 |
1414 |
1415 |
1416 |
1417 |
1418 |
1419 |
1420 |
1424 |
1425 |
1426 |
1427 |
1428 |
1429 |
1430 |
1431 |
1432 |
1433 |
1434 |
1435 |
1436 |
1437 |
1438 |
1439 |
1440 |
1441 |
1442 |
1443 |
1444 |
1445 |
1446 |
1447 |
1448 |
1449 |
1450 |
1451 |
--------------------------------------------------------------------------------
/nbproject/genfiles.properties:
--------------------------------------------------------------------------------
1 | build.xml.data.CRC32=96c36e82
2 | build.xml.script.CRC32=ce29f5f7
3 | build.xml.stylesheet.CRC32=651128d4@1.75.1.1
4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
6 | nbproject/build-impl.xml.data.CRC32=96c36e82
7 | nbproject/build-impl.xml.script.CRC32=3062876a
8 | nbproject/build-impl.xml.stylesheet.CRC32=99ea4b56@1.75.1.1
9 |
--------------------------------------------------------------------------------
/nbproject/private/private.properties:
--------------------------------------------------------------------------------
1 | deploy.ant.properties.file=C:\\Users\\j71860\\AppData\\Roaming\\NetBeans\\8.1\\config\\GlassFishEE6\\Properties\\gfv3149424024.properties
2 | j2ee.platform.is.jsr109=true
3 | j2ee.server.domain=C:/Users/j71860/AppData/Roaming/NetBeans/8.1/config/GF_4.1.1/domain1
4 | j2ee.server.home=C:/Program Files/glassfish-4.1.1/glassfish
5 | j2ee.server.instance=[C:\\Program Files\\glassfish-4.1.1\\glassfish;C:\\Program Files\\glassfish-4.1.1\\glassfish\\domains\\domain1]deployer:gfv3ee6wc:localhost:4848
6 | j2ee.server.middleware=C:/Program Files/glassfish-4.1.1
7 | user.properties.file=C:\\Users\\j71860\\AppData\\Roaming\\NetBeans\\8.1\\build.properties
8 |
--------------------------------------------------------------------------------
/nbproject/private/private.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | file:/C:/Users/j71860/Documents/NetBeansProjects/tseatwebpage/web/css/style.css
7 | file:/C:/Users/j71860/Documents/NetBeansProjects/tseatwebpage/web/WEB-INF/web.xml
8 | file:/C:/Users/j71860/Documents/NetBeansProjects/tseatwebpage/web/newTrade.html
9 | file:/C:/Users/j71860/Documents/NetBeansProjects/tseatwebpage/src/java/MyServlet.java
10 | file:/C:/Users/j71860/Documents/NetBeansProjects/tseatwebpage/web/index.html
11 | file:/C:/Users/j71860/Documents/NetBeansProjects/tseatwebpage/web/loadTrade.html
12 | file:/C:/Users/j71860/Documents/NetBeansProjects/tseatwebpage/web/js/multiStep.js
13 | file:/C:/Users/j71860/Documents/NetBeansProjects/tseatwebpage/web/js/dynamicForm.js
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/nbproject/project.properties:
--------------------------------------------------------------------------------
1 | annotation.processing.enabled=true
2 | annotation.processing.enabled.in.editor=true
3 | annotation.processing.processors.list=
4 | annotation.processing.run.all.processors=true
5 | annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
6 | build.classes.dir=${build.web.dir}/WEB-INF/classes
7 | build.classes.excludes=**/*.java,**/*.form
8 | build.dir=build
9 | build.generated.dir=${build.dir}/generated
10 | build.generated.sources.dir=${build.dir}/generated-sources
11 | build.test.classes.dir=${build.dir}/test/classes
12 | build.test.results.dir=${build.dir}/test/results
13 | build.web.dir=${build.dir}/web
14 | build.web.excludes=${build.classes.excludes}
15 | client.urlPart=
16 | compile.jsps=false
17 | conf.dir=${source.root}/conf
18 | debug.classpath=${build.classes.dir}:${javac.classpath}
19 | debug.test.classpath=\
20 | ${run.test.classpath}
21 | display.browser=true
22 | # Files to be excluded from distribution war
23 | dist.archive.excludes=
24 | dist.dir=dist
25 | dist.ear.war=${dist.dir}/${war.ear.name}
26 | dist.javadoc.dir=${dist.dir}/javadoc
27 | dist.war=${dist.dir}/${war.name}
28 | endorsed.classpath=\
29 | ${libs.javaee-endorsed-api-7.0.classpath}
30 | excludes=
31 | file.reference.poi-3.17.jar=C:\\Users\\j71860\\Downloads\\poi-3.17\\poi-3.17.jar
32 | file.reference.poi-ooxml-3.17.jar=C:\\Users\\j71860\\Downloads\\poi-3.17\\poi-ooxml-3.17.jar
33 | file.reference.poi-ooxml-schemas-3.17.jar=C:\\Users\\j71860\\Downloads\\poi-3.17\\poi-ooxml-schemas-3.17.jar
34 | file.reference.xmlbeans-2.6.0.jar=C:\\Users\\j71860\\Downloads\\poi-3.17\\ooxml-lib\\xmlbeans-2.6.0.jar
35 | includes=**
36 | j2ee.compile.on.save=true
37 | j2ee.copy.static.files.on.save=true
38 | j2ee.deploy.on.save=true
39 | j2ee.platform=1.7-web
40 | j2ee.platform.classpath=${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/cdi-api.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.middleware}/mq/lib/jaxm-api.jar
41 | j2ee.platform.embeddableejb.classpath=${j2ee.server.home}/lib/embedded/glassfish-embedded-static-shell.jar
42 | j2ee.platform.wscompile.classpath=${j2ee.server.home}/modules/webservices-osgi.jar
43 | j2ee.platform.wsgen.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar
44 | j2ee.platform.wsimport.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar
45 | j2ee.platform.wsit.classpath=
46 | j2ee.server.type=gfv3ee6
47 | jar.compress=false
48 | javac.classpath=\
49 | ${file.reference.poi-3.17.jar}:\
50 | ${file.reference.poi-ooxml-3.17.jar}:\
51 | ${file.reference.poi-ooxml-schemas-3.17.jar}:\
52 | ${file.reference.xmlbeans-2.6.0.jar}
53 | # Space-separated list of extra javac options
54 | javac.compilerargs=
55 | javac.debug=true
56 | javac.deprecation=false
57 | javac.processorpath=\
58 | ${javac.classpath}
59 | javac.source=1.8
60 | javac.target=1.8
61 | javac.test.classpath=\
62 | ${javac.classpath}:\
63 | ${build.classes.dir}
64 | javac.test.processorpath=\
65 | ${javac.test.classpath}
66 | javadoc.additionalparam=
67 | javadoc.author=false
68 | javadoc.encoding=${source.encoding}
69 | javadoc.noindex=false
70 | javadoc.nonavbar=false
71 | javadoc.notree=false
72 | javadoc.preview=true
73 | javadoc.private=false
74 | javadoc.splitindex=true
75 | javadoc.use=true
76 | javadoc.version=false
77 | javadoc.windowtitle=
78 | lib.dir=${web.docbase.dir}/WEB-INF/lib
79 | no.dependencies=false
80 | persistence.xml.dir=${conf.dir}
81 | platform.active=default_platform
82 | resource.dir=setup
83 | run.test.classpath=\
84 | ${javac.test.classpath}:\
85 | ${build.test.classes.dir}
86 | # Space-separated list of JVM arguments used when running a class with a main method or a unit test
87 | # (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value):
88 | runmain.jvmargs=
89 | source.encoding=UTF-8
90 | source.root=src
91 | src.dir=${source.root}/java
92 | test.src.dir=test
93 | war.content.additional=
94 | war.ear.name=${war.name}
95 | war.name=tseatwebpage.war
96 | web.docbase.dir=web
97 | webinf.dir=web/WEB-INF
98 |
--------------------------------------------------------------------------------
/nbproject/project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.netbeans.modules.web.project
4 |
5 |
6 | tseatwebpage
7 | 1.6.5
8 |
9 |
10 | ${file.reference.poi-3.17.jar}
11 | WEB-INF/lib
12 |
13 |
14 | ${file.reference.poi-ooxml-3.17.jar}
15 | WEB-INF/lib
16 |
17 |
18 | ${file.reference.poi-ooxml-schemas-3.17.jar}
19 | WEB-INF/lib
20 |
21 |
22 | ${file.reference.xmlbeans-2.6.0.jar}
23 | WEB-INF/lib
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/conf/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 |
3 |
--------------------------------------------------------------------------------
/src/java/MyServlet.java:
--------------------------------------------------------------------------------
1 | /*
2 | * To change this license header, choose License Headers in Project Properties.
3 | * To change this template file, choose Tools | Templates
4 | * and open the template in the editor.
5 | */
6 |
7 | import java.io.IOException;
8 | import java.io.PrintWriter;
9 | import javax.servlet.ServletException;
10 | import javax.servlet.annotation.WebServlet;
11 | import javax.servlet.http.HttpServlet;
12 | import javax.servlet.http.HttpServletRequest;
13 | import javax.servlet.http.HttpServletResponse;
14 |
15 |
16 | import java.io.File;
17 | import java.io.FileInputStream;
18 | import java.io.IOException;
19 | import java.util.Iterator;
20 |
21 | import org.apache.poi.ss.usermodel.Cell;
22 | import org.apache.poi.ss.usermodel.Row;
23 | import org.apache.poi.ss.usermodel.Sheet;
24 | import org.apache.poi.ss.usermodel.Workbook;
25 | import org.apache.poi.xssf.usermodel.XSSFWorkbook;
26 | /**
27 | *
28 | * @author J71860
29 | */
30 |
31 | @WebServlet("/MyServlet")
32 | public class MyServlet extends HttpServlet {
33 |
34 | protected void doPost(HttpServletRequest request,
35 | HttpServletResponse response) throws ServletException, IOException {
36 |
37 | String serverInfo=request.getSession().getServletContext().getServerInfo();
38 | System.out.println("Server Info" + serverInfo);
39 | String servletInfo= request.getSession().getServletContext().getMajorVersion() + "." + request.getSession().getServletContext().getMinorVersion();
40 | System.out.println("Servlet Info" + servletInfo);
41 | // read form fields
42 | int m = Integer.parseInt(request.getParameter("numParams")); // m is short for numbers of parameters
43 | int n = Integer.parseInt(request.getParameter("numOpts")); // n is short for numbers of options
44 |
45 |
46 | // 1st step: trade study information
47 | String[] info = new String[4];
48 | info[0] = request.getParameter("tsName"); // Trade Study Name
49 | info[1] = request.getParameter("programName"); // Program Name
50 | info[2] = request.getParameter("topicName"); // Topic Name
51 | info[3] = request.getParameter("author"); // Author
52 |
53 |
54 | // 2nd step: Information about parameters
55 | // the (i+1)th parameters' name will be paramNames[i], i in [0, m], same with type, preference and comparison
56 |
57 | String[][] param = new String[m][4];
58 | for(int i=0; i= R[k][j])
181 | O[i][j][k] = 1 + ((2*(R[k][i]-R[k][j]))/sd[k]);
182 | else
183 | O[i][j][k] = 1/(1 + ((2*(R[k][j]-R[k][i]))/sd[k]));
184 | }
185 | else {
186 | if(R[k][i] <= R[k][j])
187 | O[i][j][k] = 1 + ((2*(R[k][j]-R[k][i]))/sd[k]);
188 | else
189 | O[i][j][k] = 1/(1 + ((2*(R[k][i]-R[k][j]))/sd[k]));
190 | }
191 | }
192 | }
193 | }
194 |
195 |
196 | /***************************************************************************************************************
197 | *Third step: Utility Score, S[n]
198 | ***************************************************************************************************************/
199 |
200 | // a. Normalize elements in O dividing by the summation of column respect each parameter k
201 | double[] sum1stColO = new double[m];
202 | for(int j = 0; j < m; j++)
203 | for(int i = 0; i < n; i++)
204 | sum1stColO[j] += O[i][0][j];
205 |
206 | double[] max = new double [m];
207 | for(int j = 0; j < m; j++) {
208 | for(int i = 0; i < n; i++) {
209 | optionWeights[i][j] = O[i][0][j] / sum1stColO[j];
210 | if (optionWeights[i][j] > max[j])
211 | max[j] = optionWeights[i][j];
212 | }
213 | }
214 |
215 | // b. Divided each elements in column by the maximum elements in that column get optionWeight[n][m]
216 | for(int j = 0; j < m; j++)
217 | for(int i = 0; i < n; i++)
218 | optionWeights[i][j] /= max[j];
219 |
220 | // c. Multiply optionWeight by parameterWeight to get utility score S, and then
221 | double sumS=0;
222 | for(int i=0; iS[optimalOption])
226 | optimalOption = i;
227 | sumS += S[i];
228 | }
229 |
230 | // d. Normalize U by diving the sum of the elements.
231 | // The first entry will correspond to the first option and will continue in the order of options.
232 | for(int i=0; i= 1) {
261 | if(moveColOneLeft)
262 | SDR[i][j-1] = E;
263 | else
264 | SDR[i][j] = E;
265 | }
266 | else {
267 | if (O[j][z][i] + E <= 1) {
268 | if(moveColOneLeft)
269 | SDR[i][j-1] = (1/O[j][z][i] - 1/(O[j][z][i]+E))/2;
270 | else
271 | SDR[i][j] = (1/O[j][z][i] - 1/(O[j][z][i]+E))/2;
272 | }
273 | else {
274 | if(moveColOneLeft)
275 | SDR[i][j-1] = (1/O[j][z][i]+O[j][z][i]+E-2)/2;
276 | else
277 | SDR[i][j] = (1/O[j][z][i]+O[j][z][i]+E-2)/2;
278 | }
279 | }
280 | if(moveColOneLeft)
281 | sumSDR += SDR[i][j-1];
282 | else
283 | sumSDR += SDR[i][j];
284 | }
285 | }
286 | }
287 | aveSDR = sumSDR/(m*(n-1));
288 | optimalOption += 1;
289 |
290 |
291 | response.setContentType("text/html;charset=UTF-8");
292 | try (PrintWriter out = response.getWriter()) {
293 | /* TODO output your page here. You may use following sample code. */
294 |
295 | out.println("");
296 | out.println("");
297 | out.println("");
298 | out.println("Trade Study Result");
299 | out.println("");
300 | out.println("");
301 | out.println("");
302 | out.println("");
303 | out.println("
Information
");
304 | out.println("
Trade Study Name: " + info[0] + "
");
305 | out.println("
Program Name: " + info[1] + "
");
306 | out.println("
Topic Name: " + info[2] + "
");
307 | out.println("
Author: " + info[3] + "
");
308 | out.println("");
309 | out.println("
The Optimal Option is: Option " + optimalOption + "
");
310 | out.println("");
311 | out.println("
Utility Scores:
");
312 | for(int i=0; i
Option " + (i+1) + ": " + S[i] +"");
314 | out.println("");
315 | out.println("Option Sensitivity: " + aveSDR + "
");
316 | out.println("");
317 | out.println("Option Sensitivity Matrix:
");
318 | for(int i=0; i" + SDR[i][j] + " ");
321 | }
322 | out.println("");
323 | }
324 | out.println("");
325 | out.println("");
326 | out.println("Parameter Weights:
");
327 | for(int i=0; iParameter " + (i+1) + ": " + parameterWeights[i] +"");
329 | out.println("Trade Study Name: | "+info[0]+" |
Program Name: | "+info[1]+" |
Topic Name: | "+info[2]+" |
Author Name: | "+info[3]+" |
");
330 |
331 | String paramTable = "";
332 | paramTable += "Name | Type | Preference | Comparesion |
";
333 | for(int i=0; i" + param[i][0] + " | " + "" + param[i][1] + " | " + "" + param[i][2] + " | " + "" + param[i][3] + " | ";
335 | }
336 | out.println("");
337 |
338 | String optTable = "";
339 | optTable += "Name |
";
340 | for(int i=0; i" + optNames[i] + " | ";
342 | }
343 | out.println("");
344 |
345 | String rawTable = "";
346 | rawTable += " | ";
347 | for(int i=0; iOption " + (i+1) + "";
349 | }
350 | rawTable += "
";
351 | for(int i=0; iParameter " + (i+1) + " | ";
353 | for(int j=0; j" + R[i][j] + "";
355 | }
356 | rawTable += "";
357 | }
358 | out.println("");
359 |
360 | out.println("");
361 | out.println("");
362 | out.println("");
363 | out.println("");
364 | out.println(" ");
365 | out.println("");
366 |
367 | }
368 | }
369 | }
370 |
371 |
372 |
--------------------------------------------------------------------------------
/web/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | MyServlet
5 | MyServlet
6 |
7 |
8 | MyServlet
9 | /MyServlet
10 |
11 |
12 |
13 | 30
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/web/css/style.css:
--------------------------------------------------------------------------------
1 | /*custom font*/
2 | @import url(https://fonts.googleapis.com/css?family=Montserrat);
3 |
4 | /*basic reset*/
5 | * {
6 | margin: 0;
7 | padding: 0;
8 | }
9 |
10 | html {
11 | height: 100%;
12 | background: #87CEFA; /* fallback for old browsers */
13 | background: -webkit-linear-gradient(to left, #6441A5, #2a0845); /* Chrome 10-25, Safari 5.1-6 */
14 | }
15 |
16 | body {
17 | font-family: montserrat, arial, verdana;
18 | background: transparent;
19 | }
20 |
21 | #welcome {
22 | text-align: center;
23 | position: relative;
24 | margin-top: 30px;
25 | }
26 |
27 | #saveExcel .action-button {
28 | text-align: center;
29 | }
30 | /*form styles*/
31 | #msform {
32 | text-align: center;
33 | position: relative;
34 | margin-top: 30px;
35 | }
36 |
37 | #msform fieldset {
38 | background: white;
39 | border: 0 none;
40 | border-radius: 0px;
41 | box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
42 | padding: 20px 30px;
43 | box-sizing: border-box;
44 | width: 80%;
45 | margin: 0 10%;
46 |
47 | /*stacking fieldsets above each other*/
48 | position: relative;
49 | }
50 |
51 | /*Hide all except first fieldset*/
52 | #msform fieldset:not(:first-of-type) {
53 | display: none;
54 | }
55 |
56 | /*inputs*/
57 | #msform input, #msform textarea{
58 |
59 | border: 1px solid #ccc;
60 | border-radius: 0px;
61 | box-sizing: border-box;
62 | font-family: montserrat;
63 | color: #2C3E50;
64 | font-size: 13px;
65 | }
66 |
67 | #firstFieldset input{
68 | padding: 15px;
69 | margin-bottom: 10px;
70 | width: 100%;
71 | }
72 |
73 |
74 | #msform input:focus, #msform textarea:focus{
75 | -moz-box-shadow: none !important;
76 | -webkit-box-shadow: none !important;
77 | box-shadow: none !important;
78 | border: 1px solid #ee0979;
79 | outline-width: 0;
80 | transition: All 0.5s ease-in;
81 | -webkit-transition: All 0.5s ease-in;
82 | -moz-transition: All 0.5s ease-in;
83 | -o-transition: All 0.5s ease-in;
84 | }
85 |
86 | /*buttons*/
87 | #msform .action-button, #msform #submit_action-button, #welcome .action-button, #saveExcel .action-button {
88 | width: 100px;
89 | background: #ee0979;
90 | font-weight: bold;
91 | color: white;
92 | border: 0 none;
93 | border-radius: 25px;
94 | cursor: pointer;
95 | padding: 10px 5px;
96 | margin: 10px 5px;
97 | }
98 |
99 | #welcome .action-button {
100 | width: 250px;
101 | }
102 |
103 | #msform .action-button:hover, #msform .action-button:focus, #submit_action-button:hover, #submit_action-button:focus, #welcome .action-button:hover, #welcome .action-button:focus, #saveExcel .action-button:hover, #saveExcel .action-button:focus {
104 | box-shadow: 0 0 0 2px white, 0 0 0 3px #ee0979;
105 | }
106 |
107 |
108 | #msform .action-button-previous {
109 | width: 100px;
110 | background: #C5C5F1;
111 | font-weight: bold;
112 | color: white;
113 | border: 0 none;
114 | border-radius: 25px;
115 | cursor: pointer;
116 | padding: 10px 5px;
117 | margin: 10px 5px;
118 | }
119 |
120 | #msform .action-button-previous:hover, #msform .action-button-previous:focus {
121 | box-shadow: 0 0 0 2px white, 0 0 0 3px #C5C5F1;
122 | }
123 |
124 | /*headings*/
125 | .fs-title {
126 | font-size: 18px;
127 | text-transform: uppercase;
128 | color: #2C3E50;
129 | margin-bottom: 10px;
130 | letter-spacing: 2px;
131 | font-weight: bold;
132 | }
133 |
134 | .fs-subtitle {
135 | font-weight: normal;
136 | font-size: 13px;
137 | color: #666;
138 | margin-bottom: 20px;
139 | }
140 |
141 | /*progressbar*/
142 | #progressbar {
143 | margin-bottom: 30px;
144 | overflow: hidden;
145 | /*CSS counters to number the steps*/
146 | counter-reset: step;
147 | }
148 |
149 | #progressbar li {
150 | list-style-type: none;
151 | color: white;
152 | text-transform: uppercase;
153 | font-size: 9px;
154 | width: 25%;
155 | float: left;
156 | position: relative;
157 | letter-spacing: 1px;
158 | }
159 |
160 | #progressbar li:before {
161 | content: counter(step);
162 | counter-increment: step;
163 | width: 24px;
164 | height: 24px;
165 | line-height: 26px;
166 | display: block;
167 | font-size: 12px;
168 | color: #333;
169 | background: white;
170 | border-radius: 25px;
171 | margin: 0 auto 10px auto;
172 | }
173 |
174 | /*progressbar connectors*/
175 | #progressbar li:after {
176 | content: '';
177 | width: 100%;
178 | height: 2px;
179 | background: white;
180 | position: absolute;
181 | left: -50%;
182 | top: 9px;
183 | z-index: -1; /*put it behind the numbers*/
184 | }
185 |
186 | #progressbar li:first-child:after {
187 | /*connector not needed before the first step*/
188 | content: none;
189 | }
190 |
191 | /*marking active/completed steps green*/
192 | /*The number of the step and the connector before it = green*/
193 | #progressbar li.active:before, #progressbar li.active:after {
194 | background: #ee0979;
195 | color: white;
196 | }
197 |
198 |
199 | /* Not relevant to this form */
200 | .dme_link {
201 | margin-top: 30px;
202 | text-align: center;
203 | }
204 | .dme_link a {
205 | background: #FFF;
206 | font-weight: bold;
207 | color: #ee0979;
208 | border: 0 none;
209 | border-radius: 25px;
210 | cursor: pointer;
211 | padding: 5px 25px;
212 | font-size: 12px;
213 | }
214 |
215 | .dme_link a:hover, .dme_link a:focus {
216 | background: #C5C5F1;
217 | text-decoration: none;
218 | }
219 |
220 | .table-sortable tbody tr {
221 | cursor: move;
222 | }
223 |
--------------------------------------------------------------------------------
/web/img/ngc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stephengineer/Trade-Study-Execution-and-Analysis/5732690e41665235fcde9417efe09895827afcb5/web/img/ngc.jpg
--------------------------------------------------------------------------------
/web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 | Trade Study Home Page
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
33 |
34 |
35 |
Welcome to TSEAT
36 |
TSEAT (Trade Study Execution and Analysis Tool) is **ENTER DESCRIPTION**
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/web/js/dynamicForm.js:
--------------------------------------------------------------------------------
1 | // hide nav bar and display new trade study
2 | function newTrade() {
3 | window.location = "newTrade.html";
4 | }
5 |
6 | function loadTrade() {
7 | window.location = "loadTrade.html";
8 | }
9 |
10 | function fnExcelReport()
11 | {
12 | var tab_text="";
13 | var textRange; var i=0;
14 |
15 | tab = document.getElementById('tsInfo'); // id of table
16 | for(i = 0 ; i < tab.rows.length ; i++)
17 | tab_text=tab_text+tab.rows[i].innerHTML+"
";
18 |
19 | tab = document.getElementById('paramInfo'); // id of table
20 | for(i = 0 ; i < tab.rows.length ; i++)
21 | tab_text=tab_text+tab.rows[i].innerHTML+"";
22 |
23 | tab = document.getElementById('optInfo'); // id of table
24 | for(i = 0 ; i < tab.rows.length ; i++)
25 | tab_text=tab_text+tab.rows[i].innerHTML+"";
26 |
27 | tab = document.getElementById('rawInfo'); // id of table
28 | for(i = 0 ; i < tab.rows.length ; i++)
29 | tab_text=tab_text+tab.rows[i].innerHTML+"";
30 |
31 | tab_text = tab_text + "
";
32 | tab_text = tab_text.replace(/]*>|<\/A>/g, ""); //remove if u want links in your table
33 | tab_text = tab_text.replace(/
]*>/gi, ""); // remove if u want images in your table
34 | tab_text = tab_text.replace(/]*>|<\/input>/gi, ""); // reomves input params
35 |
36 |
37 | var ua = window.navigator.userAgent;
38 | var msie = ua.indexOf("MSIE ");
39 |
40 | if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer
41 | {
42 | txtArea1.document.open("txt/html","replace");
43 | txtArea1.document.write(tab_text);
44 | txtArea1.document.close();
45 | txtArea1.focus();
46 | sa=txtArea1.document.execCommand("SaveAs",true,"Trade Study.xls");
47 | }
48 | else //other browser not tested on IE 11
49 | sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));
50 |
51 | return (sa);
52 | }
53 |
54 |
55 | // Add , Dlelete row dynamically
56 |
57 | var numParam = 1;
58 | var numOpt = 1;
59 |
60 | $(document).ready(function(){
61 |
62 | // add parameter
63 | $("#add_param").click(function() {
64 | $('#param'+numParam).html(
65 | "" + (numParam + 1) + " | " +
66 |
67 | " | " +
68 |
69 | "" +
70 | "" +
75 | " | " +
76 |
77 | "" +
78 | "high" +
79 | "low" +
80 | " | "+
81 |
82 | "" +
83 | "equally" +
84 | "moderately" +
85 | "greatly" +
86 | "extremely" +
87 | " | "
88 |
89 | );
90 |
91 | $('#tab_params').append('
');
92 | numParam++;
93 | document.getElementById('numParams').value = numParam;
94 | });
95 | // delete parameter
96 | $("#delete_param").click(function(){
97 | if(numParam>1){
98 | $("#param"+(numParam-1)).html('');
99 | numParam--;
100 | document.getElementById('numParams').value = numParam;
101 | }
102 | });
103 | //add option
104 | $("#add_opt").click(function(){
105 | $('#opt'+numOpt).html(""+ (numOpt+1) +" | | ");
106 | $('#tab_opt').append('
');
107 | numOpt++;
108 | document.getElementById('numOpts').value = numOpt;
109 | });
110 | // delete option
111 | $("#delete_opt").click(function(){
112 | if(numOpt>1){
113 | $("#opt"+(numOpt-1)).html('');
114 | numOpt--;
115 | document.getElementById('numOpts').value = numOpt;
116 | }
117 | });
118 |
119 | // create raw score matrix
120 | $("#rawScore_matrix").click(function(){
121 |
122 | for(var i = 0; i < numParam+1; i++) {
123 | // first line print header of parameter
124 | if (i==0)
125 | $('#p'+i).html(" | ");
126 | else
127 | $('#p'+i).html(""+ 'Parameter '+ i +" | ");
128 | for(var j=0; j < numOpt+1; j++) {
129 | // print out header of option
130 | if (i==0) {
131 | $('#p'+i+'o'+j).html("Option " + j + "
");
132 | $('#p'+i).append(' | ');
133 | }
134 | // print out matrix of raw score
135 | else {
136 | $('#p'+i+'o'+j).html("");
137 | $('#p'+i).append(' | ');
138 | }
139 | }
140 | $('#tab_raw').append('
');
141 | }
142 |
143 | });
144 | });
145 |
146 |
147 |
148 |
149 |
150 |
--------------------------------------------------------------------------------
/web/js/multiStep.js:
--------------------------------------------------------------------------------
1 |
2 | //jQuery time
3 | var current_fs, next_fs, previous_fs; //fieldsets
4 | var left, opacity, scale; //fieldset properties which we will animate
5 | var animating; //flag to prevent quick multi-click glitches
6 |
7 | $(".next").click(function(){
8 | if(animating) return false;
9 | animating = true;
10 |
11 | current_fs = $(this).parent();
12 | next_fs = $(this).parent().next();
13 |
14 | //activate next step on progressbar using the index of next_fs
15 | $("#progressbar li").eq($("fieldset").index(next_fs)).addClass("active");
16 |
17 | //show the next fieldset
18 | next_fs.show();
19 | //hide the current fieldset with style
20 | current_fs.animate({opacity: 0}, {
21 | step: function(now, mx) {
22 | //as the opacity of current_fs reduces to 0 - stored in "now"
23 | //1. scale current_fs down to 80%
24 | scale = 1 - (1 - now) * 0.2;
25 | //2. bring next_fs from the right(50%)
26 | left = (now * 50)+"%";
27 | //3. increase opacity of next_fs to 1 as it moves in
28 | opacity = 1 - now;
29 | current_fs.css({
30 | 'transform': 'scale('+scale+')',
31 | 'position': 'absolute'
32 | });
33 | next_fs.css({'left': left, 'opacity': opacity});
34 | },
35 | duration: 800,
36 | complete: function(){
37 | current_fs.hide();
38 | animating = false;
39 | },
40 | //this comes from the custom easing plugin
41 | easing: 'easeInOutBack'
42 | });
43 | });
44 |
45 | $(".previous").click(function(){
46 | if(animating) return false;
47 | animating = true;
48 |
49 | current_fs = $(this).parent();
50 | previous_fs = $(this).parent().prev();
51 |
52 | //de-activate current step on progressbar
53 | $("#progressbar li").eq($("fieldset").index(current_fs)).removeClass("active");
54 |
55 | //show the previous fieldset
56 | previous_fs.show();
57 | //hide the current fieldset with style
58 | current_fs.animate({opacity: 0}, {
59 | step: function(now, mx) {
60 | //as the opacity of current_fs reduces to 0 - stored in "now"
61 | //1. scale previous_fs from 80% to 100%
62 | scale = 0.8 + (1 - now) * 0.2;
63 | //2. take current_fs to the right(50%) - from 0%
64 | left = ((1-now) * 50)+"%";
65 | //3. increase opacity of previous_fs to 1 as it moves in
66 | opacity = 1 - now;
67 | current_fs.css({'left': left});
68 | previous_fs.css({'transform': 'scale('+scale+')', 'opacity': opacity});
69 | },
70 | duration: 800,
71 | complete: function(){
72 | current_fs.hide();
73 | animating = false;
74 | },
75 | //this comes from the custom easing plugin
76 | easing: 'easeInOutBack'
77 | });
78 | });
79 |
80 | $(".submit").click(function(){
81 | return false;
82 | })
--------------------------------------------------------------------------------
/web/loadTrade.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 | Load Trade Study
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
31 |
32 |
33 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/web/newTrade.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 | New Trade Study
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
187 |
188 |
189 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
--------------------------------------------------------------------------------