Commit a7cf6316ee36e0937817015465968a63e87b6a54

Authored by 96409975520
1 parent de1c54ff
Exists in master

Serviço para avaliar url salvando a avaliação, para retornar json da url

avaliada, para criar file system (json e página html) da url avaliada.
Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/barra_brasil.css 0 → 100644
@@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
  1 +.barra_brasil
  2 +{
  3 + background: #7F7F7F;
  4 + height: 20px;
  5 + padding: 0 0 0 10px;
  6 + display: block;
  7 +}
  8 +
  9 +.barra_brasil ul
  10 +{
  11 + list-style: none;
  12 +}
  13 +
  14 +.barra_brasil li
  15 +{
  16 + display: inline;
  17 + float: left;
  18 + padding-right: 10px;
  19 + margin-right: 10px;
  20 + border-right: 1px solid #EDEDED;
  21 +
  22 +}
  23 +
  24 +.primeiro-link
  25 + {
  26 + font-family: sans, sans-serif;
  27 + text-decoration: none;
  28 + color: white;
  29 + }
  30 +
  31 + .segundo-link
  32 + {
  33 + font-family: sans, sans-serif;
  34 + text-decoration: none;
  35 + color: white;
  36 + }
0 \ No newline at end of file 37 \ No newline at end of file
Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/default.css 0 → 100644
@@ -0,0 +1,604 @@ @@ -0,0 +1,604 @@
  1 +@media only screen and (min-width : 768px) {
  2 +
  3 + body {
  4 + margin: 0;
  5 + background-color: #ffffff;
  6 + color: #000000;
  7 + font-size: 61%;
  8 + font-weight: normal;
  9 + font-family: "Open Sans", Arial, Helvetica, sans-serif;
  10 + }
  11 + a:focus, a:hover {
  12 + border: 2px solid #F00;
  13 + }
  14 +
  15 + .imgLoading
  16 + {
  17 + padding-top:30px;
  18 + height:105px;
  19 + font-size:14px;
  20 + background-image: url("/ases/inicial_arquivos/imagens/loading.gif");
  21 + text-align: center;
  22 + background-position: bottom;
  23 + background-repeat: no-repeat;
  24 + }
  25 +
  26 + .oculto
  27 + {
  28 + display: none;
  29 + }
  30 +
  31 + #formulario
  32 + {
  33 + width: 65%;
  34 + float: left;
  35 + }
  36 +
  37 + #imagemLoadingHtml
  38 + {
  39 + width: 35%;
  40 + float: left;
  41 + padding-top:30px;
  42 + height:105px;
  43 + font-size:14px;
  44 + background-image: url("/ases/inicial_arquivos/imagens/loading.gif");
  45 + text-align: center;
  46 + background-position: bottom;
  47 + background-repeat: no-repeat;
  48 + }
  49 +
  50 + #formaavaliacao {
  51 + color: #2C67CD !important;
  52 + font-size: 1.6em;
  53 + }
  54 + header ul li {
  55 + display: inline;
  56 + margin-top: 0;
  57 + padding: 0;
  58 + }
  59 +
  60 + header {
  61 + width: 100%;
  62 + /*Banner*/
  63 + /* height: 132px;*/
  64 + background-color: #19882c;
  65 + /* Old browsers */
  66 + background-color: #0A5517;
  67 + background-image: -moz-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  68 + /* FF3.6+ */
  69 + background-image: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(1%, #19882c), color-stop(100%, #025310));
  70 + /* Chrome,Safari4+ */
  71 + background-image: -webkit-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  72 + /* Chrome10+,Safari5.1+ */
  73 + background-image: -o-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  74 + /* Opera 12+ */
  75 + background-image: -ms-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  76 + /* IE10+ */
  77 + background-image: radial-gradient(ellipse at center, #19882c 1%, #025310 100%);
  78 + /* W3C */
  79 + /*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#19882c',endColorstr='#025310', GradientType=1);
  80 + IE6-9 fallback on horizontal gradient */
  81 + }
  82 + a {
  83 + text-decoration: none;
  84 + }
  85 + #barra-brasil {
  86 +
  87 + position: absolute;
  88 + width: 100%;
  89 + top: 0;
  90 + left: 0;
  91 + }
  92 + #topo {
  93 + width: 93.75%;
  94 + margin: auto;
  95 + margin-top: 30px;
  96 + padding: 0;
  97 + }
  98 + #accessibility {
  99 + display: inline;
  100 + margin-left: 9.5%;
  101 + padding-top: 5px;
  102 + text-align: left;
  103 + float: left;
  104 + padding-left: 0;
  105 + }
  106 + #accessibility a {
  107 + color: #ffffff;
  108 + font-size: 1.2em;
  109 + padding-right: 10px;
  110 + font-family: Arial, Helvetica, sans-serif;
  111 + }
  112 + #accessibility span {
  113 + background: #ffffff;
  114 + font-weight:bold;
  115 + color: #327241;
  116 + padding: 0 4px;
  117 + }
  118 +
  119 + #portal-siteactions span {
  120 + background: #ffffff;
  121 + font-weight:bold;
  122 + color: #327241;
  123 + padding: 0 4px;
  124 + }
  125 +
  126 + label span {
  127 + background: #327241;
  128 + color: #ffffff;
  129 + font-weight:bold;
  130 + padding: 0 4px;
  131 + }
  132 + #accessibility a:hover {
  133 + border-bottom: 1px solid;
  134 + }
  135 + #portal-siteactions {
  136 + float: left;
  137 + padding: 0;
  138 + padding-top: 5px;
  139 + padding-bottom: 5px;
  140 + margin-left: 56%;
  141 + width: 373px;
  142 + position: absolute;
  143 + border-bottom: 1px dotted #9ed5ab;
  144 + color: #9ed5ab;
  145 + }
  146 + #portal-siteactions li {
  147 + padding-right: 10px;
  148 + font-size: 1.2em;
  149 + }
  150 + #portal-siteactions a {
  151 + color: #ffffff;
  152 + }
  153 + #portal-siteactions a:hover {
  154 + border-bottom: 0.5px solid;
  155 + }
  156 + #portal-siteactions li:last-child {
  157 + padding-right: 0;
  158 + }
  159 + #logo {
  160 + color: #ffffff !important;
  161 + padding: 0;
  162 + float: left;
  163 + width: 35%;
  164 + padding-left: 12%;
  165 + }
  166 + #logo a {
  167 + color: #ffffff;
  168 + display: block;
  169 + width: 100%;
  170 + }
  171 + #logo #portal-title-1 {
  172 + font-size: 0.8em;
  173 + }
  174 + #logo #portal-title {
  175 + font-size: 2.7em;
  176 + }
  177 + #menu {
  178 + background: #0a5517;
  179 + padding-top: 10px;
  180 + padding-bottom: 10px;
  181 + padding-left: 0;
  182 + text-align: right;
  183 + font-family: Arial, Helvetica, sans-serif;
  184 + margin-bottom: 0;
  185 + clear: both;
  186 + }
  187 + #menu ul {
  188 + margin: 0;
  189 + margin-left: 50%;
  190 + width: 460px;
  191 + }
  192 +
  193 + #menu li
  194 + {
  195 + display: inline;
  196 + }
  197 + #menu a {
  198 +
  199 + padding: 0 10px;
  200 + border-right: 1px solid #ffffff;
  201 + font-size: 1.3em;
  202 + color: #ffffff;
  203 + }
  204 + #voltar-topo {
  205 + text-align: right;
  206 + font-size: 12px;
  207 + }
  208 + #voltar-topo a {
  209 + color: #000000;
  210 + }
  211 + #main {
  212 + max-width: 960px;
  213 + margin: 0 auto;
  214 + background: #ffffff;
  215 + }
  216 + #label_contato {
  217 + width: 10%;
  218 + float: left;
  219 + }
  220 + #txt_contato {
  221 + width: 90%;
  222 + float: left;
  223 + }
  224 +
  225 +
  226 + #footer-brasil {
  227 + background: none repeat scroll 0% 0% #00420c;
  228 + padding: 1em 0px;
  229 + max-width: 100%;
  230 + }
  231 +
  232 + a.oculto {
  233 + display: inline-block;
  234 + font-size: 0;
  235 + text-indent: -20000px;
  236 + }
  237 +
  238 + .warning {
  239 + color: #9F6000;
  240 + background-color: #FEEFB3;
  241 + background-image: url('/ases/inicial_arquivos/imagens/warning.png');
  242 + }
  243 + .info, .success, .warning, .error, .validation {
  244 + border: 1px solid;
  245 + margin: 10px 0px;
  246 + padding: 15px 10px 15px 50px;
  247 + background-repeat: no-repeat;
  248 + background-position: 10px center;
  249 + }
  250 +
  251 +
  252 +} /*-----Fim max-width: 1024px */
  253 +
  254 +/*------Inicio max-width: 768px----*/
  255 +@media only screen and (max-width : 768px) {
  256 + body {
  257 + margin: 0;
  258 + background-color: #ffffff;
  259 + color: #000000;
  260 + font-size: 61%;
  261 + font-weight: normal;
  262 + font-family: "Open Sans", Arial, Helvetica, sans-serif;
  263 + }
  264 +
  265 + a:focus, a:hover {
  266 + border: 2px solid #F00;
  267 + }
  268 +
  269 + .imgLoading
  270 + {
  271 + padding-top:30px;
  272 + height:105px;
  273 + font-size:14px;
  274 + background-image: url("/ases/inicial_arquivos/imagens/loading.gif");
  275 + text-align: center;
  276 + background-position: bottom;
  277 + background-repeat: no-repeat;
  278 + }
  279 +
  280 + .oculto
  281 + {
  282 + display: none;
  283 + }
  284 +
  285 +
  286 + img :focus
  287 + {
  288 + border:1px solid #0080ff;
  289 + }
  290 + #formulario
  291 + {
  292 + width: 65%;
  293 + float: left;
  294 + }
  295 +
  296 + #imagemLoadingHtml
  297 + {
  298 + width: 35%;
  299 + float: left;
  300 + padding-top:5px;
  301 + height:105px;
  302 + font-size:12px;
  303 + background-image: url("/ases/inicial_arquivos/imagens/loading.gif");
  304 + text-align: center;
  305 + background-position: bottom;
  306 + background-repeat: no-repeat;
  307 + }
  308 +
  309 + .contraste #imagemLoadingHtml
  310 + {
  311 + width: 35%;
  312 + float: left;
  313 + padding-top:5px;
  314 + height:105px;
  315 + font-size:12px;
  316 + background-image: url("/ases/inicial_arquivos/imagens/loading_altoContraste.gif");
  317 + text-align: center;
  318 + background-position: bottom;
  319 + background-repeat: no-repeat;
  320 + }
  321 +
  322 + header ul li {
  323 + display: block;
  324 + margin-top: 0;
  325 + padding: 0;
  326 + }
  327 + header {
  328 + width: 100%;
  329 + /*Banner*/
  330 + /* height: 132px;*/
  331 + background-color: #19882c;
  332 + /* Old browsers */
  333 + background-color: #0A5517;
  334 + background-image: -moz-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  335 + /* FF3.6+ */
  336 + background-image: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(1%, #19882c), color-stop(100%, #025310));
  337 + /* Chrome,Safari4+ */
  338 + background-image: -webkit-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  339 + /* Chrome10+,Safari5.1+ */
  340 + background-image: -o-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  341 + /* Opera 12+ */
  342 + background-image: -ms-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  343 + /* IE10+ */
  344 + background-image: radial-gradient(ellipse at center, #19882c 1%, #025310 100%);
  345 + /* W3C */
  346 + /*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#19882c',endColorstr='#025310', GradientType=1);
  347 + IE6-9 fallback on horizontal gradient */
  348 + }
  349 + a {
  350 + text-decoration: none;
  351 + }
  352 + #barra-brasil {
  353 + position: fixed;
  354 + width: 100%;
  355 + top: 0;
  356 + left: 0;
  357 + }
  358 + #topo {
  359 + width: 93.75%;
  360 + margin: auto;
  361 + margin-top: 30px;
  362 + padding: 0;
  363 + }
  364 +
  365 + #portal-siteactions {
  366 + font-size: 1.2em;
  367 + float: left;
  368 + padding: 0;
  369 + padding-top: 5px;
  370 + padding-bottom: 5px;
  371 + margin-left: auto;
  372 + width: 369px;
  373 + border-bottom: 1px dotted #9ed5ab;
  374 + color: #9ed5ab;
  375 + }
  376 + #portal-siteactions li {
  377 + padding-right: 10px;
  378 + display: inline;
  379 + }
  380 + #portal-siteactions a {
  381 + color: #9ed5ab;
  382 + }
  383 + /*#portal-siteactions a:hover {
  384 + border-bottom: 1px solid;
  385 + }*/
  386 + #portal-siteactions li:last-child {
  387 + padding-right: 0;
  388 + }
  389 + #accessibility {
  390 + display: block;
  391 + padding-top: 20px;
  392 + font-family: Arial, Helvetica, sans-serif;
  393 + font-size: 1.2em;
  394 + text-align: left;
  395 + padding-left: 0;
  396 + }
  397 + #accessibility li {
  398 + display: inline;
  399 + }
  400 + #accessibility a {
  401 + color: #ffffff;
  402 + font-size: 1em;
  403 + padding-right: 10px;
  404 + font-family: Arial, Helvetica, sans-serif;
  405 + }
  406 + #accessibility span {
  407 + background: #ffffff;
  408 + color: #327241;
  409 + padding: 0 4px;
  410 + }
  411 +
  412 +
  413 + #portal-siteactions span
  414 + {
  415 + background: #ffffff;
  416 + color: #327241;
  417 + padding: 0 4px;
  418 + }
  419 +
  420 + /*#accessibility a:hover {
  421 + border-bottom: 1px solid;
  422 + }*/
  423 + #portal-siteactions {
  424 + padding: 0;
  425 + padding-top: 5px;
  426 + padding-bottom: 5px;
  427 + margin-right: 0;
  428 + width: auto;
  429 + color: #ffffff;
  430 + }
  431 + #portal-siteactions li {
  432 + padding-right: 10px;
  433 + }
  434 + #portal-siteactions a {
  435 + color: #ffffff;
  436 + }
  437 + /*#portal-siteactions a:hover {
  438 + border-bottom: 1px solid;
  439 + }*/
  440 + #portal-siteactions li:last-child {
  441 + padding-right: 0;
  442 + }
  443 + #logo {
  444 + color: #ffffff !important;
  445 + padding: 0;
  446 + width: 35%;
  447 + padding-left: 3%;
  448 + }
  449 + #logo a {
  450 + color: #ffffff;
  451 + display: block;
  452 + width: 100%;
  453 + }
  454 + #logo #portal-title-1 {
  455 + font-size: 0.8em;
  456 + font-weight: 800;
  457 + }
  458 + #logo #portal-title {
  459 + font-size: 1.5em;
  460 + font-weight: 800;
  461 + }
  462 + #logo #portal-description {
  463 + font-size: 0.8em;
  464 + margin: 5px 0 0 0;
  465 + text-transform: uppercase;
  466 + font-weight: 800;
  467 + }
  468 + #menu {
  469 + clear: both;
  470 + background: #0a5517;
  471 + padding: 5px 0;
  472 + padding-left: 0;
  473 + text-align: right;
  474 + }
  475 + #menu ul {
  476 + position: relative;
  477 + margin: 0;
  478 + margin-left: auto;
  479 + width: 460px;
  480 + margin-left: auto;
  481 + }
  482 + #menu li {
  483 + display: inline;
  484 + }
  485 + #menu a {
  486 + color: #fff;
  487 + }
  488 + #menu .portalservicos-item a {
  489 + margin-top: 50%;
  490 + padding: 0 10px;
  491 + border-right: 1px solid #ffffff;
  492 + font-size: 12px;
  493 + }
  494 + #voltar-topo {
  495 + text-align: right;
  496 + font-size: 12px;
  497 + }
  498 + #voltar-topo a {
  499 + color: #000000;
  500 + }
  501 + #main {
  502 + max-width: 960px;
  503 + margin: 0 auto;
  504 + background: #ffffff;
  505 + clear: both;
  506 + min-height: 100%;
  507 + }
  508 + #label_contato {
  509 + width: 10%;
  510 + float: left;
  511 + }
  512 + #txt_contato {
  513 + width: 90%;
  514 + float: left;
  515 + }
  516 + .warning {
  517 + color: #9F6000;
  518 + background-color: #FEEFB3;
  519 + background-image: url('/ases/inicial_arquivos/imagens/warning.png');
  520 +}
  521 +.info, .success, .warning, .error, .validation {
  522 + border: 1px solid;
  523 + margin: 10px 0px;
  524 + padding: 15px 10px 15px 50px;
  525 + background-repeat: no-repeat;
  526 + background-position: 10px center;
  527 +}
  528 +
  529 + #footer-brasil {
  530 + background: none repeat scroll 0% 0% #00420c;
  531 + padding: 1em 0px;
  532 + max-width: 100%;
  533 + }
  534 + a.oculto {
  535 + display: inline-block;
  536 + font-size: 0;
  537 + text-indent: -20000px;
  538 + }
  539 +
  540 +} /*-----Fim max-width: 1024px */
  541 +
  542 +/*------Alto Contraste-----*/
  543 +.contraste, .contraste header, .contraste div, .contraste ul, .contraste p
  544 + {
  545 + background: #000000 !important;
  546 + color: #ffffff !important;
  547 +}
  548 +
  549 +
  550 +.contraste a {
  551 + color: #FC0 !important;
  552 +}
  553 +
  554 +.contraste a:hover {
  555 + text-decoration: underline !important;
  556 +}
  557 +
  558 +.contraste img {
  559 + border: 2px solid #FC0 !important;
  560 + padding: 5px;
  561 +}
  562 +
  563 +.contraste #material ul#navegacao li {
  564 + border: 2px solid #FC0 !important;
  565 +}
  566 +
  567 +.contraste #topo h1 a.gov {
  568 + background: transparent url('../images/gov_br_contraste.jpg') no-repeat left top;
  569 +}
  570 +
  571 +.contraste #menu a.atual {
  572 + color: #000000 !important;
  573 + background-color: #FBBD0A;
  574 +}
  575 +
  576 +.contraste pre * {
  577 + background-color: #161616 !important;
  578 + color: #FBBD0A !important;
  579 +}
  580 +
  581 +.contraste input[type="submit"] {
  582 + background-color: #161616 !important;
  583 + color: #FBBD0A !important;
  584 + border: #FBBD0A solid 1px;
  585 + padding: 10px;
  586 +}
  587 +
  588 +.contraste #accessibility span {
  589 + background: #000000 !important;
  590 + color: #ffffff !important;
  591 +}
  592 +
  593 +.contraste #portal-siteactions span {
  594 + background: #000000 !important;
  595 + color: #ffffff !important;
  596 +}
  597 +
  598 +.contraste #menu {
  599 + background: #000000 !important;
  600 +}
  601 +
  602 +.contraste #menu ul {
  603 + background: #000000 !important;
  604 +}
0 \ No newline at end of file 605 \ No newline at end of file
Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/painelAcessibilidade.css
1 -body{  
2 - margin: 0;  
3 - background: #ebf4f5;  
4 - color: #000000;  
5 - font-size: 14px;  
6 - font-weight: normal;  
7 - font-family: "Open Sans", Arial, Helvetica, sans-serif; 1 +body {
  2 + margin: 0;
  3 + background-color: #ffffff;
  4 + color: #000000;
  5 + font-size: 61%;
  6 + font-weight: normal;
  7 + font-family: "Open Sans", Arial, Helvetica, sans-serif;
8 } 8 }
9 9
10 -.contanner{  
11 - width: 840px; 10 +.contanner
  11 +{
  12 + font-size: 14px;
  13 +}
  14 +
  15 +
  16 +header {
  17 + width: 100%;
  18 + /*Banner*/
  19 + /* height: 132px;*/
  20 + background-color: #19882c;
  21 + /* Old browsers */
  22 + background-color: #0A5517;
  23 + background-image: -moz-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  24 + /* FF3.6+ */
  25 + background-image: -webkit-gradient(radial, center center, 0px, center center, 100%,
  26 + color-stop(1%, #19882c), color-stop(100%, #025310));
  27 + /* Chrome,Safari4+ */
  28 + background-image: -webkit-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  29 + /* Chrome10+,Safari5.1+ */
  30 + background-image: -o-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  31 + /* Opera 12+ */
  32 + background-image: -ms-radial-gradient(center, ellipse cover, #19882c 1%, #025310 100%);
  33 + /* IE10+ */
  34 + background-image: radial-gradient(ellipse at center, #19882c 1%, #025310 100%);
  35 + /* W3C */
  36 + /*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#19882c',endColorstr='#025310', GradientType=1);
  37 + IE6-9 fallback on horizontal gradient */
  38 +
  39 + height: 200px;
  40 +}
  41 +
  42 +
  43 +.oculto
  44 + {
  45 + display: none;
  46 + }
  47 +
  48 +a {
  49 + text-decoration: none;
  50 +}
  51 +
  52 +#barra-brasil {
  53 + position: absolute;
  54 + width: 100%;
  55 + top: 0;
  56 + left: 0;
  57 +}
  58 +
  59 +#topo {
  60 + width: 93.75%;
12 margin: auto; 61 margin: auto;
13 - border: 0; 62 + padding: 0;
14 } 63 }
15 64
16 -#logo{  
17 - margin-top:10%;  
18 - font-size: 46px;  
19 - font-family: "Open Sans", Arial, Helvetica, sans-serif; 65 +#accessibility {
  66 + display: inline;
  67 + margin-left: 9.5%;
  68 + padding-top: 5px;
  69 + text-align: left;
  70 + float: left;
  71 + padding-left: 0;
  72 + width: 100%
20 } 73 }
21 74
22 -#contato{  
23 - background: #d0e6e8;  
24 - height: 25px;  
25 - padding-top: 3px; 75 +#accessibility li {
  76 + display: inline;
  77 +}
26 78
  79 +#accessibility a {
  80 + color: #ffffff;
  81 + font-size: 1.2em;
  82 + padding-right: 10px;
  83 + font-family: Arial, Helvetica, sans-serif;
27 } 84 }
28 85
29 -#contato a{  
30 - margin-left: 17%; 86 +#accessibility span {
  87 + background: #ffffff;
  88 + font-weight: bold;
  89 + color: #327241;
  90 + padding: 0 4px;
31 } 91 }
32 92
33 -#emag  
34 -{ 93 +#accessibility a:hover {
  94 + border-bottom: 1px solid;
  95 +}
  96 +
  97 +.contanner {
  98 + width: 840px;
  99 + margin: auto;
  100 + border: 0;
  101 +}
  102 +
  103 +Table {
  104 + width: 820px;
  105 + font-size: 12px;
  106 +
  107 +}
  108 +
  109 + #logo {
  110 + color: #ffffff !important;
  111 + padding: 0;
  112 + padding-left: 12%;
  113 + }
  114 +
  115 + #portal-title-1{
  116 + position: relative;
  117 + margin-top: 100px !important;
  118 + }
  119 +
  120 +
  121 +
  122 +#emag {
35 width: 150px; 123 width: 150px;
36 height: 200px; 124 height: 200px;
37 background: #92d68f; 125 background: #92d68f;
@@ -39,41 +127,39 @@ body{ @@ -39,41 +127,39 @@ body{
39 float: left; 127 float: left;
40 } 128 }
41 129
42 -#testesAutomaticos  
43 -{ 130 +#testesAutomaticos {
44 width: 150px; 131 width: 150px;
45 - height: 200px; 132 + height: 200px;
46 border-left: 1px solid #000000; 133 border-left: 1px solid #000000;
47 border-right: 1px solid #000000; 134 border-right: 1px solid #000000;
48 background: #97aeec; 135 background: #97aeec;
49 - text-align: center;  
50 - float: left; 136 + text-align: center;
  137 + float: left;
51 } 138 }
52 139
53 -#grafico  
54 -{ 140 +#grafico {
55 width: 532px; 141 width: 532px;
56 - height: 200px; 142 + height: 200px;
57 text-align: center; 143 text-align: center;
58 float: left; 144 float: left;
59 } 145 }
60 146
61 -.logoAvaliacao{ 147 +.logoAvaliacao {
62 margin-top: 10px; 148 margin-top: 10px;
63 width: 840px; 149 width: 840px;
64 - height:200px; 150 + height: 200px;
65 background: #ffffff; 151 background: #ffffff;
66 border-style: solid; 152 border-style: solid;
67 border-color: #000000; 153 border-color: #000000;
68 border-width: 1px; 154 border-width: 1px;
69 } 155 }
70 -.logoAvaliacao label{ 156 +
  157 +.logoAvaliacao label {
71 position: relative; 158 position: relative;
72 top: 45%; 159 top: 45%;
  160 +}
73 161
74 - }  
75 -  
76 -.avaliacao{ 162 +.avaliacao {
77 margin-top: 10px; 163 margin-top: 10px;
78 width: 840px; 164 width: 840px;
79 background: #ffffff; 165 background: #ffffff;
@@ -84,19 +170,35 @@ body{ @@ -84,19 +170,35 @@ body{
84 170
85 table { 171 table {
86 margin-left: 10px; 172 margin-left: 10px;
87 - border-collapse: collapse; 173 + border-collapse: collapse;
88 } 174 }
89 175
90 .table, th, td { 176 .table, th, td {
91 -border: 2px solid #000000; 177 + border: 2px solid #000000;
92 } 178 }
93 179
  180 +table th
  181 +{
  182 + background: #585450;
  183 + color: #ffffff;
  184 +}
94 .avaliacao label { 185 .avaliacao label {
95 margin-left: 10px; 186 margin-left: 10px;
96 } 187 }
97 188
98 .avaliacao hr { 189 .avaliacao hr {
99 -  
100 margin-left: 10px; 190 margin-left: 10px;
101 margin-right: 10px; 191 margin-right: 10px;
102 -}  
103 \ No newline at end of file 192 \ No newline at end of file
  193 +}
  194 +
  195 + #footer-brasil {
  196 + background: none repeat scroll 0% 0% #00420c;
  197 + padding: 1em 0px;
  198 + max-width: 100%;
  199 + }
  200 +
  201 + a.oculto {
  202 + display: inline-block;
  203 + font-size: 0;
  204 + text-indent: -20000px;
  205 + }
104 \ No newline at end of file 206 \ No newline at end of file
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/LeitorXML.java
@@ -73,7 +73,7 @@ public class LeitorXML { @@ -73,7 +73,7 @@ public class LeitorXML {
73 criterio2.setNumeroCriterio(ca.getCriterio().getNumeroCriterio()); 73 criterio2.setNumeroCriterio(ca.getCriterio().getNumeroCriterio());
74 74
75 //criterio.setNumCriterio(ca.getIdCriterio()); 75 //criterio.setNumCriterio(ca.getIdCriterio());
76 - criterio.setCriterio(criterio2); 76 + criterio.setIdCriterio(criterio2.getId());
77 criterio.setNumErros(ca.getQtdeErros()); 77 criterio.setNumErros(ca.getQtdeErros());
78 criterio.setNumItens(ca.getQtdeItens()); 78 criterio.setNumItens(ca.getQtdeItens());
79 criterio.setNotaCriterio(ca.getNu_nota()); 79 criterio.setNotaCriterio(ca.getNu_nota());
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java
@@ -26,6 +26,7 @@ import javax.servlet.http.HttpServletResponse; @@ -26,6 +26,7 @@ import javax.servlet.http.HttpServletResponse;
26 import javax.swing.text.html.HTML; 26 import javax.swing.text.html.HTML;
27 import javax.ws.rs.QueryParam; 27 import javax.ws.rs.QueryParam;
28 28
  29 +import org.hibernate.Session;
29 import org.slf4j.Logger; 30 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory; 31 import org.slf4j.LoggerFactory;
31 32
@@ -42,8 +43,11 @@ import br.com.eselo.component.UsuarioWeb; @@ -42,8 +43,11 @@ import br.com.eselo.component.UsuarioWeb;
42 import br.com.eselo.component.Util; 43 import br.com.eselo.component.Util;
43 import br.com.eselo.component.WebChecker; 44 import br.com.eselo.component.WebChecker;
44 import br.com.eselo.dao.AvaliacaoDAO; 45 import br.com.eselo.dao.AvaliacaoDAO;
  46 +import br.com.eselo.dao.CriterioDAO;
45 import br.com.eselo.dao.ParametroCalculoDAO; 47 import br.com.eselo.dao.ParametroCalculoDAO;
  48 +import br.com.eselo.dao.RecomendacaoDAO;
46 import br.com.eselo.dao.ResultadoCriterioDao; 49 import br.com.eselo.dao.ResultadoCriterioDao;
  50 +import br.com.eselo.dao.ResultadoRecomendacaoDao;
47 import br.com.eselo.dao.UrlDAO; 51 import br.com.eselo.dao.UrlDAO;
48 import br.com.eselo.integracao.CriterioAvaliado; 52 import br.com.eselo.integracao.CriterioAvaliado;
49 import br.com.eselo.integracao.RecomendacaoAvaliada; 53 import br.com.eselo.integracao.RecomendacaoAvaliada;
@@ -54,6 +58,7 @@ import br.com.eselo.model.Criterio; @@ -54,6 +58,7 @@ import br.com.eselo.model.Criterio;
54 import br.com.eselo.model.ParametroCalculo; 58 import br.com.eselo.model.ParametroCalculo;
55 import br.com.eselo.model.Recomendacao; 59 import br.com.eselo.model.Recomendacao;
56 import br.com.eselo.model.ResultadoCriterio; 60 import br.com.eselo.model.ResultadoCriterio;
  61 +import br.com.eselo.model.ResultadoRecomendacao;
57 import br.com.eselo.model.ResumoAvaliacao; 62 import br.com.eselo.model.ResumoAvaliacao;
58 import br.com.eselo.model.Url; 63 import br.com.eselo.model.Url;
59 64
@@ -69,26 +74,41 @@ public class AvaliacaoController { @@ -69,26 +74,41 @@ public class AvaliacaoController {
69 private final UrlDAO daoUrl; 74 private final UrlDAO daoUrl;
70 private final ParametroCalculoDAO paramDao; 75 private final ParametroCalculoDAO paramDao;
71 private final AvaliacaoDAO dao; 76 private final AvaliacaoDAO dao;
72 - private final ResultadoCriterioDao daoCriterio;//gibran 77 + private final ResultadoRecomendacaoDao daoResultadoRecomendacao;
73 private final HttpServletRequest request; 78 private final HttpServletRequest request;
74 private ServletContext application; 79 private ServletContext application;
75 - 80 +
  81 + private final ResultadoCriterioDao daoResultadoCriterio;
  82 + private final CriterioDAO daoCriterio;
  83 + private final RecomendacaoDAO daoRecomendacao;
  84 +
76 private static final String CAMINHO_SELOS = "eselo.config.avaliacao.caminhoSelos"; 85 private static final String CAMINHO_SELOS = "eselo.config.avaliacao.caminhoSelos";
77 86
78 private final Properties properties = new Properties(); 87 private final Properties properties = new Properties();
79 88
80 public AvaliacaoController(Result _result, UrlDAO _daoUrl, 89 public AvaliacaoController(Result _result, UrlDAO _daoUrl,
81 ParametroCalculoDAO _paramDao, UsuarioWeb _usuarioWeb, 90 ParametroCalculoDAO _paramDao, UsuarioWeb _usuarioWeb,
82 - Validator _validator, HttpServletRequest _request, AvaliacaoDAO _dao, ResultadoCriterioDao _resultadoCriterioDao, ServletContext application)//gibran ResultadoCriterioDao _resultadoCriterioDao 91 + Validator _validator, HttpServletRequest _request,
  92 + AvaliacaoDAO _dao, AvaliacaoDAO _avaliAvaliacaoDAO,
  93 + ServletContext application,
  94 + ResultadoRecomendacaoDao _daoResultadoRecomendacao,
  95 + ResultadoCriterioDao _daoResultadoCriterio,
  96 + CriterioDAO _daoCriterio, RecomendacaoDAO _daoRecomendacao)// gibran
  97 + // ResultadoCriterioDao
  98 + // _resultadoCriterioDao
83 throws IOException { 99 throws IOException {
84 daoUrl = _daoUrl; 100 daoUrl = _daoUrl;
85 dao = _dao; 101 dao = _dao;
86 - daoCriterio = _resultadoCriterioDao;//gibran 102 + daoResultadoRecomendacao = _daoResultadoRecomendacao;
87 result = _result; 103 result = _result;
88 paramDao = _paramDao; 104 paramDao = _paramDao;
89 request = _request; 105 request = _request;
90 this.application = application; 106 this.application = application;
91 - 107 +
  108 + this.daoResultadoCriterio = _daoResultadoCriterio;
  109 + this.daoCriterio = _daoCriterio;
  110 + this.daoRecomendacao = _daoRecomendacao;
  111 +
92 String fileName = "config.properties"; 112 String fileName = "config.properties";
93 InputStream stream = Mailer.class.getResourceAsStream("/" + fileName); 113 InputStream stream = Mailer.class.getResourceAsStream("/" + fileName);
94 Properties propertiesFile = new Properties(); 114 Properties propertiesFile = new Properties();
@@ -118,201 +138,30 @@ public class AvaliacaoController { @@ -118,201 +138,30 @@ public class AvaliacaoController {
118 } 138 }
119 139
120 // Receber o xml 140 // Receber o xml
121 - RelatorioAvaliacao relatorioAvaliacao = new LeitorXML().lerAvaliacaoXML(xml); 141 + RelatorioAvaliacao relatorioAvaliacao = new LeitorXML()
  142 + .lerAvaliacaoXML(xml);
122 143
123 - calcularNota(relatorioAvaliacao); 144 + calcularNota(relatorioAvaliacao, false);
124 } 145 }
125 -  
126 - private void avaliarSalvando(RelatorioAvaliacao relatorioAvaliacao, Url url) {  
127 -  
128 - List<ResultadoCriterio> lsResultadoCriterio = new ArrayList<ResultadoCriterio>();  
129 -  
130 - lsResultadoCriterio = daoCriterio.listAll();  
131 -  
132 - List<Recomendacao> recomendacoesValidas;  
133 - List<RecomendacaoAvaliada> recomendacoesAvaliadas;  
134 - recomendacoesAvaliadas = new ArrayList<RecomendacaoAvaliada>();  
135 -  
136 -  
137 - List<RecomendacaoAvaliada> lsRecomendacaoAvaliada = new ArrayList<RecomendacaoAvaliada>();  
138 - List<CriterioAvaliado> lsCriterioAvaliado = new ArrayList<CriterioAvaliado>();  
139 -  
140 - RecomendacaoAvaliada recAvaliada;  
141 -  
142 - RelatorioAvaliacao relatorioAvaliacaoSalvar;  
143 -  
144 - double somaPesosRecomendacoes = 0.0;  
145 - double conformidadeAcessibilidade = 0.0;  
146 - List<String> recomendacoesCriteriosParaImprimir = new ArrayList<String>();  
147 - /*  
148 - * Nota da Avaliação = (somatório da Nota Teste / somatório do peso)  
149 - * Nota da Avaliação = 2,025 + 2,3 / 3 + 4 Nota da Avaliação = 4,325 / 7  
150 - * Nota da Avaliação = 0,61785  
151 - */  
152 - double notaCriterio = 0.0;  
153 - double notaRecomendacao = 0.0;  
154 - double somatorioNotaTeste = 0.0;  
155 - double somatorioPesosCriterios = 0.0;  
156 -System.out.println(relatorioAvaliacao);  
157 - /*  
158 - * Nota da Recomendação = Nota da Avaliação * Peso da Recomendação Nota  
159 - * da Recomendação = 0,61785 * 3 Nota da Recomendação = 1,8535  
160 - */  
161 - double somatorioNotaRecomendacoes = 0.0;  
162 -  
163 - // obter os resultados  
164 - recomendacoesAvaliadas = relatorioAvaliacao.getRecomendacoes();  
165 -  
166 - ParametroCalculo parametroCalculo = paramDao.getLastParametrosCalculoAtivo();  
167 - if(parametroCalculo != null){  
168 -  
169 - //foi colocada abaixo (Gibran)  
170 - //Avaliacao novaAvalicao = salvarAvaliacao(relatorioAvaliacao, parametroCalculo);  
171 -  
172 - // obter as diretrizes e níveis de conformidade  
173 - recomendacoesValidas = parametroCalculo.getRecomendacoes();  
174 -  
175 - // Lendo e Comparando os resultados com o Parametro de Avaliacao  
176 - for (RecomendacaoAvaliada recomendacaoAvaliada : recomendacoesAvaliadas) {  
177 - //System.out.println("recomendacaoAvaliada = " + recomendacaoAvaliada.getIdRecomendacao());  
178 - //System.out.println(recomendacaoAvaliada.getIdRecomendacao());  
179 - recomendacoesCriteriosParaImprimir.add("recomendacaoAvaliada = " + recomendacaoAvaliada.getIdRecomendacao());  
180 - recAvaliada = new RecomendacaoAvaliada();  
181 -  
182 - for (Recomendacao recomendacao : recomendacoesValidas) {  
183 - if (recomendacaoAvaliada.getIdRecomendacao().equals(  
184 - recomendacao.getNumeroRecomendacao())) {  
185 -  
186 -  
187 - for (CriterioAvaliado criterioAvaliado : recomendacaoAvaliada.getCriterios()) {  
188 - //System.out.println("criterioAvaliado = " + criterioAvaliado.getIdCriterio());  
189 - recomendacoesCriteriosParaImprimir.add("criterioAvaliado = " + criterioAvaliado.getIdCriterio());  
190 - notaCriterio = 0.0;  
191 - Criterio criterioSalvar = new Criterio();  
192 - for (Criterio criterio : recomendacao.getCriterios()) {  
193 - criterioSalvar = criterio;  
194 - if (criterioAvaliado.getIdCriterio().equals(criterio.getNumeroCriterio())) {  
195 -  
196 -  
197 -  
198 - notaCriterio = criterio.getResultadoTeste(criterioAvaliado);  
199 - somatorioNotaTeste = notaCriterio + somatorioNotaTeste;  
200 - somatorioPesosCriterios = criterio.getPeso() + somatorioPesosCriterios;  
201 - //System.out.println("somatorioNotaTeste = " + somatorioNotaTeste);  
202 - recomendacoesCriteriosParaImprimir.add("Resultado teste criterio = " + criterio.getResultadoTeste(criterioAvaliado));  
203 -  
204 - recomendacoesCriteriosParaImprimir.add("Peso do Critério = " + criterio.getPeso());  
205 - recomendacoesCriteriosParaImprimir.add("somatorioNotaTeste = " + somatorioNotaTeste);  
206 - //System.out.println("somatorioPesosCriterios = " + somatorioPesosCriterios);  
207 - recomendacoesCriteriosParaImprimir.add("somatorioPesosCriterios = " + somatorioPesosCriterios);  
208 -  
209 -  
210 -  
211 -  
212 - //criterioAvaliado.setNu_nota(notaCriterio);  
213 - //criterioAvaliado.setIdCriterio(criterio.getId());  
214 - //criterioAvaliado.setCriterio(criterio);  
215 - //lsCriterioAvaliado.add(criterioAvaliado);  
216 - break;  
217 - }  
218 -  
219 -  
220 - }  
221 -  
222 - criterioAvaliado.setNu_nota(notaCriterio);  
223 - criterioAvaliado.setIdCriterio(criterioSalvar.getId());  
224 - criterioAvaliado.setCriterio(criterioSalvar);  
225 - lsCriterioAvaliado.add(criterioAvaliado);  
226 - //criterioAvaliado.setNu_nota(notaCriterio);  
227 - //lsCriterioAvaliado.add(criterioAvaliado);  
228 - }  
229 -  
230 -  
231 -  
232 -  
233 - if(somatorioPesosCriterios > 0){  
234 -  
235 - notaRecomendacao = (somatorioNotaTeste / somatorioPesosCriterios) * recomendacao.getPeso();  
236 -  
237 - somaPesosRecomendacoes = somaPesosRecomendacoes + recomendacao.getPeso();  
238 - //System.out.println("somaPesosRecomendacoes = " + somaPesosRecomendacoes);  
239 - recomendacoesCriteriosParaImprimir.add("Peso da Recomendação = " + recomendacao.getPeso());  
240 - recomendacoesCriteriosParaImprimir.add("somaPesosRecomendacoes = " + somaPesosRecomendacoes);  
241 - somatorioNotaRecomendacoes = notaRecomendacao + somatorioNotaRecomendacoes;  
242 - //System.out.println("somatorioNotaRecomendacoes = " + somatorioNotaRecomendacoes);  
243 - recomendacoesCriteriosParaImprimir.add("somatorioNotaRecomendacoes = " + somatorioNotaRecomendacoes);  
244 -  
245 -  
246 - recAvaliada.setIdRecomendacao(recomendacaoAvaliada.getIdRecomendacao());  
247 - recAvaliada.setCriterios(lsCriterioAvaliado);  
248 - recAvaliada.setNuNota(notaRecomendacao);  
249 - recAvaliada.setTotalAvisos(recomendacaoAvaliada.getTotalAvisos());  
250 - recAvaliada.setTotalErros(recomendacaoAvaliada.getTotalErros());  
251 -  
252 - lsRecomendacaoAvaliada.add(recAvaliada);  
253 - lsCriterioAvaliado = new ArrayList<CriterioAvaliado>();  
254 - }  
255 - somatorioNotaTeste = 0.0;  
256 - somatorioPesosCriterios = 0.0;  
257 - break;  
258 - }  
259 - }  
260 -  
261 -  
262 -  
263 - }  
264 -  
265 -  
266 - /*  
267 - * Calculo da Conformidade Acessibilidade Conformidade Acessibilidade =  
268 - * somatório das notas das recomendações (NR) / somatório dos pesos das  
269 - * recomendações (PR) Conformidade Acessibilidade = NR1 + NR2 + NR3 +  
270 - * NR22 / PR1 + PR2 + PR3 + PR22 Conformidade Acessibilidade = 1,10625 +  
271 - * 0,5 + 0,8 + 1,8535 / 3 + 1 + 2 + 3 Conformidade Acessibilidade =  
272 - * 4,25975 / 9 Conformidade Acessibilidade = 0,4733 ==> 47,33 %  
273 - */  
274 - conformidadeAcessibilidade = 100 * (somatorioNotaRecomendacoes / somaPesosRecomendacoes);  
275 146
276 - conformidadeAcessibilidade = (double) new Double(conformidadeAcessibilidade * 100).intValue() / 100;  
277 -  
278 - //System.out.println("conformidadeAcessibilidade = " + conformidadeAcessibilidade);  
279 - recomendacoesCriteriosParaImprimir.add("conformidadeAcessibilidade = " + conformidadeAcessibilidade);  
280 -  
281 - for (String string : recomendacoesCriteriosParaImprimir) {  
282 - System.out.println(string);  
283 - }  
284 -  
285 - relatorioAvaliacao.setRecomendacoes(lsRecomendacaoAvaliada);  
286 -  
287 - Avaliacao novaAvalicao = salvarAvaliacao(relatorioAvaliacao, parametroCalculo);  
288 -  
289 - novaAvalicao.setNota(conformidadeAcessibilidade);  
290 - dao.update(novaAvalicao);  
291 - } 147 + private Double avaliar(RelatorioAvaliacao relatorioAvaliacao, Url url,
  148 + String urlComProtocolo, boolean salvarAvaliacao) {
292 149
293 - gerarSelo(url, conformidadeAcessibilidade); 150 + List<Recomendacao> lsRecomendacao = new ArrayList<Recomendacao>();
294 151
295 -  
296 -} 152 + // lsResultadoCriterio = daoCriterio.listAll();
297 153
298 - private Double avaliar(RelatorioAvaliacao relatorioAvaliacao, Url url, boolean salvarAvaliacao) {  
299 -  
300 - List<ResultadoCriterio> lsResultadoCriterio = new ArrayList<ResultadoCriterio>();  
301 -  
302 - lsResultadoCriterio = daoCriterio.listAll();  
303 -  
304 List<Recomendacao> recomendacoesValidas; 154 List<Recomendacao> recomendacoesValidas;
305 List<RecomendacaoAvaliada> recomendacoesAvaliadas; 155 List<RecomendacaoAvaliada> recomendacoesAvaliadas;
306 recomendacoesAvaliadas = new ArrayList<RecomendacaoAvaliada>(); 156 recomendacoesAvaliadas = new ArrayList<RecomendacaoAvaliada>();
307 -  
308 - 157 +
309 List<RecomendacaoAvaliada> lsRecomendacaoAvaliada = new ArrayList<RecomendacaoAvaliada>(); 158 List<RecomendacaoAvaliada> lsRecomendacaoAvaliada = new ArrayList<RecomendacaoAvaliada>();
310 List<CriterioAvaliado> lsCriterioAvaliado = new ArrayList<CriterioAvaliado>(); 159 List<CriterioAvaliado> lsCriterioAvaliado = new ArrayList<CriterioAvaliado>();
311 -  
312 - RecomendacaoAvaliada recAvaliada;  
313 - 160 +
  161 + RecomendacaoAvaliada recAvaliada;
  162 +
314 RelatorioAvaliacao relatorioAvaliacaoSalvar; 163 RelatorioAvaliacao relatorioAvaliacaoSalvar;
315 - 164 +
316 double somaPesosRecomendacoes = 0.0; 165 double somaPesosRecomendacoes = 0.0;
317 double conformidadeAcessibilidade = 0.0; 166 double conformidadeAcessibilidade = 0.0;
318 List<String> recomendacoesCriteriosParaImprimir = new ArrayList<String>(); 167 List<String> recomendacoesCriteriosParaImprimir = new ArrayList<String>();
@@ -335,92 +184,122 @@ System.out.println(relatorioAvaliacao); @@ -335,92 +184,122 @@ System.out.println(relatorioAvaliacao);
335 // obter os resultados 184 // obter os resultados
336 recomendacoesAvaliadas = relatorioAvaliacao.getRecomendacoes(); 185 recomendacoesAvaliadas = relatorioAvaliacao.getRecomendacoes();
337 186
338 - ParametroCalculo parametroCalculo = paramDao.getLastParametrosCalculoAtivo();  
339 - if(parametroCalculo != null){  
340 -  
341 - //foi colocada abaixo (Gibran)  
342 - //Avaliacao novaAvalicao = salvarAvaliacao(relatorioAvaliacao, parametroCalculo); 187 + ParametroCalculo parametroCalculo = paramDao
  188 + .getLastParametrosCalculoAtivo();
  189 + if (parametroCalculo != null) {
  190 +
  191 + // foi colocada abaixo (Gibran)
  192 + // Avaliacao novaAvalicao = salvarAvaliacao(relatorioAvaliacao,
  193 + // parametroCalculo);
343 194
344 // obter as diretrizes e níveis de conformidade 195 // obter as diretrizes e níveis de conformidade
345 recomendacoesValidas = parametroCalculo.getRecomendacoes(); 196 recomendacoesValidas = parametroCalculo.getRecomendacoes();
346 197
347 // Lendo e Comparando os resultados com o Parametro de Avaliacao 198 // Lendo e Comparando os resultados com o Parametro de Avaliacao
348 for (RecomendacaoAvaliada recomendacaoAvaliada : recomendacoesAvaliadas) { 199 for (RecomendacaoAvaliada recomendacaoAvaliada : recomendacoesAvaliadas) {
349 - //System.out.println("recomendacaoAvaliada = " + recomendacaoAvaliada.getIdRecomendacao());  
350 - //System.out.println(recomendacaoAvaliada.getIdRecomendacao());  
351 - recomendacoesCriteriosParaImprimir.add("recomendacaoAvaliada = " + recomendacaoAvaliada.getIdRecomendacao()); 200 + // System.out.println("recomendacaoAvaliada = " +
  201 + // recomendacaoAvaliada.getIdRecomendacao());
  202 + // System.out.println(recomendacaoAvaliada.getIdRecomendacao());
  203 + recomendacoesCriteriosParaImprimir
  204 + .add("recomendacaoAvaliada = "
  205 + + recomendacaoAvaliada.getIdRecomendacao());
352 recAvaliada = new RecomendacaoAvaliada(); 206 recAvaliada = new RecomendacaoAvaliada();
353 - 207 +
354 for (Recomendacao recomendacao : recomendacoesValidas) { 208 for (Recomendacao recomendacao : recomendacoesValidas) {
355 if (recomendacaoAvaliada.getIdRecomendacao().equals( 209 if (recomendacaoAvaliada.getIdRecomendacao().equals(
356 recomendacao.getNumeroRecomendacao())) { 210 recomendacao.getNumeroRecomendacao())) {
357 -  
358 -  
359 - for (CriterioAvaliado criterioAvaliado : recomendacaoAvaliada.getCriterios()) {  
360 - //System.out.println("criterioAvaliado = " + criterioAvaliado.getIdCriterio());  
361 - recomendacoesCriteriosParaImprimir.add("criterioAvaliado = " + criterioAvaliado.getIdCriterio()); 211 +
  212 + for (CriterioAvaliado criterioAvaliado : recomendacaoAvaliada
  213 + .getCriterios()) {
  214 + // System.out.println("criterioAvaliado = " +
  215 + // criterioAvaliado.getIdCriterio());
  216 + recomendacoesCriteriosParaImprimir
  217 + .add("criterioAvaliado = "
  218 + + criterioAvaliado.getIdCriterio());
362 notaCriterio = 0.0; 219 notaCriterio = 0.0;
363 - Criterio criterioSalvar = new Criterio();  
364 - for (Criterio criterio : recomendacao.getCriterios()) {  
365 - criterioSalvar = criterio;  
366 - if (criterioAvaliado.getIdCriterio().equals(criterio.getNumeroCriterio())) {  
367 -  
368 -  
369 -  
370 - notaCriterio = criterio.getResultadoTeste(criterioAvaliado);  
371 - somatorioNotaTeste = notaCriterio + somatorioNotaTeste;  
372 - somatorioPesosCriterios = criterio.getPeso() + somatorioPesosCriterios;  
373 - //System.out.println("somatorioNotaTeste = " + somatorioNotaTeste);  
374 - recomendacoesCriteriosParaImprimir.add("Resultado teste criterio = " + criterio.getResultadoTeste(criterioAvaliado));  
375 -  
376 - recomendacoesCriteriosParaImprimir.add("Peso do Critério = " + criterio.getPeso());  
377 - recomendacoesCriteriosParaImprimir.add("somatorioNotaTeste = " + somatorioNotaTeste);  
378 - //System.out.println("somatorioPesosCriterios = " + somatorioPesosCriterios);  
379 - recomendacoesCriteriosParaImprimir.add("somatorioPesosCriterios = " + somatorioPesosCriterios);  
380 -  
381 -  
382 -  
383 -  
384 - //criterioAvaliado.setNu_nota(notaCriterio);  
385 - //criterioAvaliado.setIdCriterio(criterio.getId());  
386 - //criterioAvaliado.setCriterio(criterio);  
387 - //lsCriterioAvaliado.add(criterioAvaliado); 220 + Criterio criterioSalvar = new Criterio();
  221 + for (Criterio criterio : recomendacao
  222 + .getCriterios()) {
  223 + criterioSalvar = criterio;
  224 + if (criterioAvaliado.getIdCriterio().equals(
  225 + criterio.getNumeroCriterio())) {
  226 +
  227 + notaCriterio = criterio
  228 + .getResultadoTeste(criterioAvaliado);
  229 + somatorioNotaTeste = notaCriterio
  230 + + somatorioNotaTeste;
  231 + somatorioPesosCriterios = criterio
  232 + .getPeso()
  233 + + somatorioPesosCriterios;
  234 + // System.out.println("somatorioNotaTeste = "
  235 + // + somatorioNotaTeste);
  236 + recomendacoesCriteriosParaImprimir
  237 + .add("Resultado teste criterio = "
  238 + + criterio
  239 + .getResultadoTeste(criterioAvaliado));
  240 +
  241 + recomendacoesCriteriosParaImprimir
  242 + .add("Peso do Critério = "
  243 + + criterio.getPeso());
  244 + recomendacoesCriteriosParaImprimir
  245 + .add("somatorioNotaTeste = "
  246 + + somatorioNotaTeste);
  247 + // System.out.println("somatorioPesosCriterios = "
  248 + // + somatorioPesosCriterios);
  249 + recomendacoesCriteriosParaImprimir
  250 + .add("somatorioPesosCriterios = "
  251 + + somatorioPesosCriterios);
  252 +
  253 + // criterioAvaliado.setNu_nota(notaCriterio);
  254 + // criterioAvaliado.setIdCriterio(criterio.getId());
  255 + // criterioAvaliado.setCriterio(criterio);
  256 + // lsCriterioAvaliado.add(criterioAvaliado);
388 break; 257 break;
389 } 258 }
390 -  
391 - 259 +
392 } 260 }
393 -  
394 - criterioAvaliado.setNu_nota(notaCriterio);  
395 - criterioAvaliado.setIdCriterio(criterioSalvar.getId()); 261 +
  262 + criterioAvaliado.setNu_nota(notaCriterio);
  263 + criterioAvaliado.setIdCriterio(criterioSalvar
  264 + .getId());
396 criterioAvaliado.setCriterio(criterioSalvar); 265 criterioAvaliado.setCriterio(criterioSalvar);
397 lsCriterioAvaliado.add(criterioAvaliado); 266 lsCriterioAvaliado.add(criterioAvaliado);
398 - //criterioAvaliado.setNu_nota(notaCriterio);  
399 - //lsCriterioAvaliado.add(criterioAvaliado); 267 + // criterioAvaliado.setNu_nota(notaCriterio);
  268 + // lsCriterioAvaliado.add(criterioAvaliado);
400 } 269 }
401 -  
402 -  
403 -  
404 -  
405 - if(somatorioPesosCriterios > 0){  
406 -  
407 - notaRecomendacao = (somatorioNotaTeste / somatorioPesosCriterios) * recomendacao.getPeso();  
408 -  
409 - somaPesosRecomendacoes = somaPesosRecomendacoes + recomendacao.getPeso();  
410 - //System.out.println("somaPesosRecomendacoes = " + somaPesosRecomendacoes);  
411 - recomendacoesCriteriosParaImprimir.add("Peso da Recomendação = " + recomendacao.getPeso());  
412 - recomendacoesCriteriosParaImprimir.add("somaPesosRecomendacoes = " + somaPesosRecomendacoes);  
413 - somatorioNotaRecomendacoes = notaRecomendacao + somatorioNotaRecomendacoes;  
414 - //System.out.println("somatorioNotaRecomendacoes = " + somatorioNotaRecomendacoes);  
415 - recomendacoesCriteriosParaImprimir.add("somatorioNotaRecomendacoes = " + somatorioNotaRecomendacoes);  
416 -  
417 -  
418 - recAvaliada.setIdRecomendacao(recomendacaoAvaliada.getIdRecomendacao());  
419 - recAvaliada.setCriterios(lsCriterioAvaliado);  
420 - recAvaliada.setNuNota(notaRecomendacao);  
421 - recAvaliada.setTotalAvisos(recomendacaoAvaliada.getTotalAvisos());  
422 - recAvaliada.setTotalErros(recomendacaoAvaliada.getTotalErros());  
423 - 270 +
  271 + if (somatorioPesosCriterios > 0) {
  272 +
  273 + notaRecomendacao = (somatorioNotaTeste / somatorioPesosCriterios)
  274 + * recomendacao.getPeso();
  275 +
  276 + somaPesosRecomendacoes = somaPesosRecomendacoes
  277 + + recomendacao.getPeso();
  278 + // System.out.println("somaPesosRecomendacoes = " +
  279 + // somaPesosRecomendacoes);
  280 + recomendacoesCriteriosParaImprimir
  281 + .add("Peso da Recomendação = "
  282 + + recomendacao.getPeso());
  283 + recomendacoesCriteriosParaImprimir
  284 + .add("somaPesosRecomendacoes = "
  285 + + somaPesosRecomendacoes);
  286 + somatorioNotaRecomendacoes = notaRecomendacao
  287 + + somatorioNotaRecomendacoes;
  288 + // System.out.println("somatorioNotaRecomendacoes = "
  289 + // + somatorioNotaRecomendacoes);
  290 + recomendacoesCriteriosParaImprimir
  291 + .add("somatorioNotaRecomendacoes = "
  292 + + somatorioNotaRecomendacoes);
  293 +
  294 + recAvaliada.setIdRecomendacao(recomendacaoAvaliada
  295 + .getIdRecomendacao());
  296 + recAvaliada.setCriterios(lsCriterioAvaliado);
  297 + recAvaliada.setNuNota(notaRecomendacao);
  298 + recAvaliada.setTotalAvisos(recomendacaoAvaliada
  299 + .getTotalAvisos());
  300 + recAvaliada.setTotalErros(recomendacaoAvaliada
  301 + .getTotalErros());
  302 +
424 lsRecomendacaoAvaliada.add(recAvaliada); 303 lsRecomendacaoAvaliada.add(recAvaliada);
425 lsCriterioAvaliado = new ArrayList<CriterioAvaliado>(); 304 lsCriterioAvaliado = new ArrayList<CriterioAvaliado>();
426 } 305 }
@@ -429,128 +308,60 @@ System.out.println(relatorioAvaliacao); @@ -429,128 +308,60 @@ System.out.println(relatorioAvaliacao);
429 break; 308 break;
430 } 309 }
431 } 310 }
432 -  
433 -  
434 - 311 +
435 } 312 }
436 -  
437 313
438 /* 314 /*
439 - * Calculo da Conformidade Acessibilidade Conformidade Acessibilidade =  
440 - * somatório das notas das recomendações (NR) / somatório dos pesos das  
441 - * recomendações (PR) Conformidade Acessibilidade = NR1 + NR2 + NR3 +  
442 - * NR22 / PR1 + PR2 + PR3 + PR22 Conformidade Acessibilidade = 1,10625 +  
443 - * 0,5 + 0,8 + 1,8535 / 3 + 1 + 2 + 3 Conformidade Acessibilidade =  
444 - * 4,25975 / 9 Conformidade Acessibilidade = 0,4733 ==> 47,33 % 315 + * Calculo da Conformidade Acessibilidade Conformidade
  316 + * Acessibilidade = somatório das notas das recomendações (NR) /
  317 + * somatório dos pesos das recomendações (PR) Conformidade
  318 + * Acessibilidade = NR1 + NR2 + NR3 + NR22 / PR1 + PR2 + PR3 + PR22
  319 + * Conformidade Acessibilidade = 1,10625 + 0,5 + 0,8 + 1,8535 / 3 +
  320 + * 1 + 2 + 3 Conformidade Acessibilidade = 4,25975 / 9 Conformidade
  321 + * Acessibilidade = 0,4733 ==> 47,33 %
445 */ 322 */
446 conformidadeAcessibilidade = 100 * (somatorioNotaRecomendacoes / somaPesosRecomendacoes); 323 conformidadeAcessibilidade = 100 * (somatorioNotaRecomendacoes / somaPesosRecomendacoes);
447 324
448 - conformidadeAcessibilidade = (double) new Double(conformidadeAcessibilidade * 100).intValue() / 100; 325 + conformidadeAcessibilidade = (double) new Double(
  326 + conformidadeAcessibilidade * 100).intValue() / 100;
  327 +
  328 + // System.out.println("conformidadeAcessibilidade = " +
  329 + // conformidadeAcessibilidade);
  330 + recomendacoesCriteriosParaImprimir
  331 + .add("conformidadeAcessibilidade = "
  332 + + conformidadeAcessibilidade);
449 333
450 - //System.out.println("conformidadeAcessibilidade = " + conformidadeAcessibilidade);  
451 - recomendacoesCriteriosParaImprimir.add("conformidadeAcessibilidade = " + conformidadeAcessibilidade);  
452 -  
453 for (String string : recomendacoesCriteriosParaImprimir) { 334 for (String string : recomendacoesCriteriosParaImprimir) {
454 System.out.println(string); 335 System.out.println(string);
455 } 336 }
456 -  
457 - relatorioAvaliacao.setRecomendacoes(lsRecomendacaoAvaliada);  
458 - if(salvarAvaliacao)  
459 - {  
460 - Avaliacao novaAvalicao = salvarAvaliacao(relatorioAvaliacao, parametroCalculo);  
461 -  
462 - novaAvalicao.setNota(conformidadeAcessibilidade);  
463 - dao.update(novaAvalicao);  
464 - }  
465 -  
466 - }  
467 -  
468 -  
469 -  
470 - ResumoAvaliacao resumoAvaliacao = new ResumoAvaliacao();  
471 -  
472 - resumoAvaliacao.setValor(conformidadeAcessibilidade);  
473 - resumoAvaliacao.setUrl(url.getUrl());  
474 - resumoAvaliacao.setDataAvaliacao(Util.dataHoraAtual());  
475 -  
476 - salvarhtml(resumoAvaliacao);  
477 -  
478 -  
479 - gerarSelo(url, conformidadeAcessibilidade);  
480 337
481 - return conformidadeAcessibilidade;  
482 - }  
483 -  
484 - /**  
485 - * Função REST que executa uma avaliação e devolve seu resultado no formato  
486 - * JSON  
487 - *  
488 - * @param relatorioAvaliacao  
489 - */  
490 - @Post("/calcular-nota-salvando-avaliacao")  
491 - public void calcularNotaSalvandoAvaliacao(RelatorioAvaliacao relatorioAvaliacao) {  
492 - //System.out.println(relatorioAvaliacao);  
493 - ResultadoAvaliacao resultadoAvaliacao = new ResultadoAvaliacao();  
494 - String observacao = "Foi impossivel realizar a avaliação.";  
495 - String urlComProtocolo = relatorioAvaliacao.getUrl();  
496 -  
497 - ParametroCalculo parametroCalculo = paramDao.getLastParametrosCalculoAtivo();  
498 - if(parametroCalculo != null){  
499 - String fullContextPath = request.getScheme() + "://"  
500 - + request.getServerName() + ":" + request.getServerPort()  
501 - + request.getContextPath(); 338 + relatorioAvaliacao.setRecomendacoes(lsRecomendacaoAvaliada);
502 339
503 - if (relatorioAvaliacao.getRecomendacoes()!=null  
504 - && relatorioAvaliacao.getRecomendacoes().size() > 0  
505 - && relatorioAvaliacao.getDate() != null  
506 - && relatorioAvaliacao.getUrl() != null) {  
507 - try {  
508 - relatorioAvaliacao.setUrl(URLNormalizer  
509 - .normalize(relatorioAvaliacao.getUrl()));  
510 - } catch (MalformedURLException e) {  
511 - e.printStackTrace();  
512 - }  
513 - Url url = daoUrl.getStringUrl(relatorioAvaliacao.getUrl()); 340 + if (salvarAvaliacao) {
  341 + Avaliacao novaAvalicao = salvarAvaliacao(relatorioAvaliacao,
  342 + parametroCalculo, conformidadeAcessibilidade);
514 343
515 - if (url == null) {  
516 - url = new Url();  
517 - url.setUrl(relatorioAvaliacao.getUrl());  
518 - daoUrl.save(url);  
519 - }  
520 - url.setUrl(urlComProtocolo);  
521 -  
522 - resultadoAvaliacao.setPath(fullContextPath + "/"  
523 - + properties.getProperty(CAMINHO_SELOS) + "/"  
524 - + url.getId().toString() + "/selo.png"); 344 + // novaAvalicao.setNota(conformidadeAcessibilidade);
  345 + // dao.update(novaAvalicao);
525 346
526 - resultadoAvaliacao.setUrl(url.getUrl());  
527 - resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate()); 347 + ResumoAvaliacao resumoAvaliacao = new ResumoAvaliacao();
528 348
529 - double nota = avaliar(relatorioAvaliacao, url, true);  
530 - if (nota > 0) {  
531 - resultadoAvaliacao.setNota(nota);  
532 - observacao = "Avaliação realizada com sucesso!";  
533 - } else {  
534 - resultadoAvaliacao.setNota(null);  
535 - }  
536 - } else {  
537 - resultadoAvaliacao.setNota(null);  
538 - resultadoAvaliacao.setUrl(relatorioAvaliacao.getUrl());  
539 - resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate()); 349 + resumoAvaliacao.setValor(conformidadeAcessibilidade);
  350 + resumoAvaliacao.setUrl(url.getUrl());
  351 + resumoAvaliacao.setDataAvaliacao(Util.dataHoraAtual());
  352 + // this.result.forwardTo(PersistenciaFileSystemController.class).salvarhtml(resumoAvaliacao,
  353 + // novaAvalicao, urlComProtocolo);
  354 + salvarhtml(resumoAvaliacao, novaAvalicao, urlComProtocolo);
540 } 355 }
541 356
542 - }else{  
543 - observacao = "Não existe parâmetros de cálculo ativo. Foi impossivel realizar a avaliação.";  
544 } 357 }
545 -  
546 - resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate());  
547 - resultadoAvaliacao.setDataResultado(new Date());  
548 - resultadoAvaliacao.setObservacoes(observacao);  
549 358
550 - result.use(Results.json()).withoutRoot().from(resultadoAvaliacao)  
551 - .serialize(); 359 + gerarSelo(url, conformidadeAcessibilidade);
  360 +
  361 + return conformidadeAcessibilidade;
552 } 362 }
553 363
  364 +
554 /** 365 /**
555 * Função REST que executa uma avaliação e devolve seu resultado no formato 366 * Função REST que executa uma avaliação e devolve seu resultado no formato
556 * JSON 367 * JSON
@@ -558,19 +369,20 @@ System.out.println(relatorioAvaliacao); @@ -558,19 +369,20 @@ System.out.println(relatorioAvaliacao);
558 * @param relatorioAvaliacao 369 * @param relatorioAvaliacao
559 */ 370 */
560 @Post("/calcular-nota") 371 @Post("/calcular-nota")
561 - public void calcularNota(RelatorioAvaliacao relatorioAvaliacao) {  
562 - //System.out.println(relatorioAvaliacao); 372 + public void calcularNota(RelatorioAvaliacao relatorioAvaliacao, boolean salvarAvaliacao) {
  373 + // System.out.println(relatorioAvaliacao);
563 ResultadoAvaliacao resultadoAvaliacao = new ResultadoAvaliacao(); 374 ResultadoAvaliacao resultadoAvaliacao = new ResultadoAvaliacao();
564 String observacao = "Foi impossivel realizar a avaliação."; 375 String observacao = "Foi impossivel realizar a avaliação.";
565 String urlComProtocolo = relatorioAvaliacao.getUrl(); 376 String urlComProtocolo = relatorioAvaliacao.getUrl();
566 -  
567 - ParametroCalculo parametroCalculo = paramDao.getLastParametrosCalculoAtivo();  
568 - if(parametroCalculo != null){ 377 +
  378 + ParametroCalculo parametroCalculo = paramDao
  379 + .getLastParametrosCalculoAtivo();
  380 + if (parametroCalculo != null) {
569 String fullContextPath = request.getScheme() + "://" 381 String fullContextPath = request.getScheme() + "://"
570 + request.getServerName() + ":" + request.getServerPort() 382 + request.getServerName() + ":" + request.getServerPort()
571 + request.getContextPath(); 383 + request.getContextPath();
572 384
573 - if (relatorioAvaliacao.getRecomendacoes()!=null 385 + if (relatorioAvaliacao.getRecomendacoes() != null
574 && relatorioAvaliacao.getRecomendacoes().size() > 0 386 && relatorioAvaliacao.getRecomendacoes().size() > 0
575 && relatorioAvaliacao.getDate() != null 387 && relatorioAvaliacao.getDate() != null
576 && relatorioAvaliacao.getUrl() != null) { 388 && relatorioAvaliacao.getUrl() != null) {
@@ -587,16 +399,17 @@ System.out.println(relatorioAvaliacao); @@ -587,16 +399,17 @@ System.out.println(relatorioAvaliacao);
587 url.setUrl(relatorioAvaliacao.getUrl()); 399 url.setUrl(relatorioAvaliacao.getUrl());
588 daoUrl.save(url); 400 daoUrl.save(url);
589 } 401 }
590 - url.setUrl(urlComProtocolo);  
591 - 402 +
592 resultadoAvaliacao.setPath(fullContextPath + "/" 403 resultadoAvaliacao.setPath(fullContextPath + "/"
593 + properties.getProperty(CAMINHO_SELOS) + "/" 404 + properties.getProperty(CAMINHO_SELOS) + "/"
594 + url.getId().toString() + "/selo.png"); 405 + url.getId().toString() + "/selo.png");
595 406
596 resultadoAvaliacao.setUrl(url.getUrl()); 407 resultadoAvaliacao.setUrl(url.getUrl());
597 - resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate()); 408 + resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao
  409 + .getDate());
598 410
599 - double nota = avaliar(relatorioAvaliacao, url, false); 411 + double nota = avaliar(relatorioAvaliacao, url, urlComProtocolo,
  412 + salvarAvaliacao);
600 if (nota > 0) { 413 if (nota > 0) {
601 resultadoAvaliacao.setNota(nota); 414 resultadoAvaliacao.setNota(nota);
602 observacao = "Avaliação realizada com sucesso!"; 415 observacao = "Avaliação realizada com sucesso!";
@@ -606,13 +419,14 @@ System.out.println(relatorioAvaliacao); @@ -606,13 +419,14 @@ System.out.println(relatorioAvaliacao);
606 } else { 419 } else {
607 resultadoAvaliacao.setNota(null); 420 resultadoAvaliacao.setNota(null);
608 resultadoAvaliacao.setUrl(relatorioAvaliacao.getUrl()); 421 resultadoAvaliacao.setUrl(relatorioAvaliacao.getUrl());
609 - resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate()); 422 + resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao
  423 + .getDate());
610 } 424 }
611 425
612 - }else{ 426 + } else {
613 observacao = "Não existe parâmetros de cálculo ativo. Foi impossivel realizar a avaliação."; 427 observacao = "Não existe parâmetros de cálculo ativo. Foi impossivel realizar a avaliação.";
614 } 428 }
615 - 429 +
616 resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate()); 430 resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate());
617 resultadoAvaliacao.setDataResultado(new Date()); 431 resultadoAvaliacao.setDataResultado(new Date());
618 resultadoAvaliacao.setObservacoes(observacao); 432 resultadoAvaliacao.setObservacoes(observacao);
@@ -621,20 +435,23 @@ System.out.println(relatorioAvaliacao); @@ -621,20 +435,23 @@ System.out.println(relatorioAvaliacao);
621 .serialize(); 435 .serialize();
622 } 436 }
623 437
624 - private Avaliacao salvarAvaliacao(RelatorioAvaliacao relatorioAvaliacao, ParametroCalculo parametroCalculo){ 438 + private Avaliacao salvarAvaliacao(RelatorioAvaliacao relatorioAvaliacao,
  439 + ParametroCalculo parametroCalculo, Double nota) {
625 440
626 try { 441 try {
627 - relatorioAvaliacao.setUrl(URLNormalizer.normalize(relatorioAvaliacao.getUrl())); 442 + relatorioAvaliacao.setUrl(URLNormalizer
  443 + .normalize(relatorioAvaliacao.getUrl()));
628 } catch (MalformedURLException e) { 444 } catch (MalformedURLException e) {
629 - System.out.println("Erro ao tentar normalizar a URL do Relatorio de Avaliacao"); 445 + System.out
  446 + .println("Erro ao tentar normalizar a URL do Relatorio de Avaliacao");
630 e.printStackTrace(); 447 e.printStackTrace();
631 } 448 }
632 449
633 Avaliacao avaliacao = new Avaliacao(); 450 Avaliacao avaliacao = new Avaliacao();
634 avaliacao.setDataAvaliacao(relatorioAvaliacao.getDate()); 451 avaliacao.setDataAvaliacao(relatorioAvaliacao.getDate());
635 avaliacao.setParametroCalculo(parametroCalculo); 452 avaliacao.setParametroCalculo(parametroCalculo);
636 - avaliacao.setQtdeLinhas(relatorioAvaliacao.getQtdeLinhas());  
637 - avaliacao.setNota(0.0); 453 + avaliacao.setQtdeLinhas(relatorioAvaliacao.getQtdeLinhas());
  454 + avaliacao.setNota(nota);
638 455
639 Url url = daoUrl.getStringUrl(relatorioAvaliacao.getUrl()); 456 Url url = daoUrl.getStringUrl(relatorioAvaliacao.getUrl());
640 457
@@ -644,9 +461,10 @@ System.out.println(relatorioAvaliacao); @@ -644,9 +461,10 @@ System.out.println(relatorioAvaliacao);
644 daoUrl.save(url); 461 daoUrl.save(url);
645 } 462 }
646 url.setUrl(relatorioAvaliacao.getUrl()); 463 url.setUrl(relatorioAvaliacao.getUrl());
647 - 464 +
648 avaliacao.setUrl(url); 465 avaliacao.setUrl(url);
649 - avaliacao = new LeitorXML().lerResultadosXML(relatorioAvaliacao, avaliacao); 466 + avaliacao = new LeitorXML().lerResultadosXML(relatorioAvaliacao,
  467 + avaliacao);
650 dao.save(avaliacao); 468 dao.save(avaliacao);
651 469
652 return avaliacao; 470 return avaliacao;
@@ -699,161 +517,299 @@ System.out.println(relatorioAvaliacao); @@ -699,161 +517,299 @@ System.out.println(relatorioAvaliacao);
699 ex.printStackTrace(); 517 ex.printStackTrace();
700 } 518 }
701 } 519 }
702 -  
703 - //chama um serviço no ases para avaliar a url 520 +
  521 + // chama um serviço no ases para avaliar a url
704 @Get("/avaliar-url") 522 @Get("/avaliar-url")
705 @Post("/avaliar-url") 523 @Post("/avaliar-url")
706 public void avaliarUrl(@QueryParam("url") String url) { 524 public void avaliarUrl(@QueryParam("url") String url) {
707 -  
708 - WebChecker.PostParams postParams =  
709 - WebChecker.from("http://189.9.137.162:8080/ases/servico-avaliacao-acessibilidade-salvando").withPostRequest();  
710 - postParams.addParam("url", url);  
711 - Gson g = new GsonBuilder().create();  
712 525
713 - Boolean urlAvaliada = g.fromJson(postParams.execute().getContent(), Boolean.class);  
714 -  
715 - result.use(Results.xml()).from(urlAvaliada).recursive().serialize(); 526 + WebChecker.PostParams postParams = WebChecker
  527 + .from("http://localhost:18080/ases/servico-avaliacao-acessibilidade-salvando")
  528 + .withPostRequest();
  529 + postParams.addParam("url", url);
  530 + Gson g = new GsonBuilder().create();
  531 +
  532 + Boolean urlAvaliada = g.fromJson(postParams.execute().getContent(),
  533 + Boolean.class);
  534 +
  535 + result.use(Results.xml()).from(urlAvaliada).recursive().serialize();
716 } 536 }
717 -  
718 - 537 +
719 @Get("/buscar-avaliacao") 538 @Get("/buscar-avaliacao")
720 @Post("/buscar-avaliacao") 539 @Post("/buscar-avaliacao")
721 - public void buscarAvaliacao(@QueryParam("url") String url) throws FileNotFoundException  
722 - {  
723 -  
724 - File diretorioJson = new File(this.application.getRealPath("") + "/WEB-INF/arquivosJson/" + url.replace("/", "").replace(".", "") + ".json"); 540 + public void buscarAvaliacao(@QueryParam("url") String url)
  541 + throws FileNotFoundException {
  542 +
  543 + String nomeArquivo = url.replace("https://", "").replace("http://", "").replace("/", "").replace(".", "").replace("\"", "") + ".json";
  544 +
  545 + File diretorioJson = new File(this.application.getRealPath("")
  546 + + "/WEB-INF/arquivosJson/"
  547 + + nomeArquivo);
  548 +
  549 + ResumoAvaliacao resumoAvaliacao = null;
  550 +
  551 + if (diretorioJson.exists()) {
  552 +
  553 + BufferedReader br = new BufferedReader(new FileReader(
  554 + diretorioJson.toString()));
  555 +
  556 + Gson gson = new Gson();
  557 +
  558 + resumoAvaliacao = gson.fromJson(br,
  559 + ResumoAvaliacao.class);
  560 + }
  561 + else
  562 + {
  563 + resumoAvaliacao = new ResumoAvaliacao();
  564 +
  565 + resumoAvaliacao.setDataAvaliacao(Util.dataHoraAtual());
  566 + resumoAvaliacao.setUrl(url);
  567 + resumoAvaliacao.setUrlResultado("");
  568 + resumoAvaliacao.setValor(null);
  569 + }
725 570
726 571
727 - BufferedReader br = new BufferedReader(new FileReader(diretorioJson.toString()));  
728 - Gson gson = new Gson();  
729 -  
730 - ResumoAvaliacao resumoAvaliacao = gson.fromJson(br, ResumoAvaliacao.class);  
731 -  
732 - result.use(Results.json()).withoutRoot().from(resumoAvaliacao).recursive().serialize(); 572 +
  573 + result.use(Results.json()).withoutRoot().from(resumoAvaliacao)
  574 + .recursive().serialize();
733 } 575 }
734 -  
735 576
736 - public void salvarAvaliacao(ResumoAvaliacao resumoAvaliacao)  
737 - {  
738 - File diretorioJson = new File(this.application.getRealPath("") + "/WEB-INF/arquivosJson"); 577 + public void salvarAvaliacao(ResumoAvaliacao resumoAvaliacao) {
  578 + File diretorioJson = new File(this.application.getRealPath("")
  579 + + "/WEB-INF/arquivosJson");
739 diretorioJson.mkdir(); 580 diretorioJson.mkdir();
740 - 581 +
741 String nomeArquivo = ""; 582 String nomeArquivo = "";
742 - 583 +
743 try { 584 try {
744 - nomeArquivo = URLNormalizer  
745 - .normalize(resumoAvaliacao.getUrl()).replace("/", "").replace(".", ""); 585 + nomeArquivo = URLNormalizer.normalize(resumoAvaliacao.getUrl())
  586 + .replace("/", "").replace(".", "");
746 } catch (MalformedURLException e1) { 587 } catch (MalformedURLException e1) {
747 e1.printStackTrace(); 588 e1.printStackTrace();
748 } 589 }
749 -  
750 - resumoAvaliacao.setUrlResultado(diretorioJson.toString() + "/" + nomeArquivo + ".html");  
751 -  
752 - 590 +
  591 + resumoAvaliacao.setUrlResultado(diretorioJson.toString() + "/"
  592 + + nomeArquivo + ".html");
  593 +
753 String json; 594 String json;
754 Gson gson = new Gson(); 595 Gson gson = new Gson();
755 - 596 +
756 json = gson.toJson(resumoAvaliacao); 597 json = gson.toJson(resumoAvaliacao);
757 -  
758 -  
759 - FileWriter arq;  
760 - PrintWriter gravarArq;  
761 - try {  
762 - arq = new FileWriter(diretorioJson.toString() + "/" + nomeArquivo + ".json");  
763 - gravarArq = new PrintWriter(arq);  
764 - gravarArq.printf(json);  
765 -  
766 - arq.close();  
767 - } catch (IOException e) {  
768 - e.printStackTrace();  
769 - } 598 +
  599 + FileWriter arq;
  600 + PrintWriter gravarArq;
  601 + try {
  602 + arq = new FileWriter(diretorioJson.toString() + "/" + nomeArquivo
  603 + + ".json");
  604 + gravarArq = new PrintWriter(arq);
  605 + gravarArq.printf(json);
  606 +
  607 + arq.close();
  608 + } catch (IOException e) {
  609 + e.printStackTrace();
  610 + }
770 } 611 }
771 -  
772 -  
773 - public void salvarhtml(ResumoAvaliacao resumoAvaliacao)  
774 - {  
775 -  
776 - //File diretorioHtml = new File("arquivosHtml");  
777 - File diretorioHtml = new File(this.application.getRealPath("") + "/WEB-INF/arquivosHtml"); 612 +
  613 + public void salvarhtml(ResumoAvaliacao resumoAvaliacao,
  614 + Avaliacao avaliacao, String urlComProtocolo) {
  615 +
  616 + List<ResultadoRecomendacao> resultadosRecomendacao;
  617 + List<ResultadoCriterio> resultadosCriterio;
  618 + Criterio criterio;
  619 + Recomendacao recomendacao;
  620 +
  621 + // File diretorioHtml = new File("arquivosHtml");
  622 + File diretorioHtml = new File(this.application.getRealPath("")
  623 + + "/WEB-INF/arquivosHtml");
778 diretorioHtml.mkdir(); 624 diretorioHtml.mkdir();
779 String nomeArquivo; 625 String nomeArquivo;
780 StringBuffer html = new StringBuffer(); 626 StringBuffer html = new StringBuffer();
781 - 627 +
782 html.append("<!DOCTYPE html>"); 628 html.append("<!DOCTYPE html>");
783 html.append("<html lang=\"pt-br\">"); 629 html.append("<html lang=\"pt-br\">");
784 - html.append("<head>");  
785 - html.append("<meta charset=\"utf-8\">");  
786 - html.append("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">");  
787 - html.append("<meta name=\"description\" content=\"\">");  
788 - html.append("<meta name=\"author\" content=\"\">");  
789 - html.append("<link rel=\"shortcut icon\" href=\"static/ico/favicon.png\">");  
790 -  
791 - html.append("<title>Painel de Acessibilidade Digital do Governo</title>");  
792 -  
793 - html.append("<link href=\""+ this.application.getRealPath("") + "/static/css/painelAcessibilidade.css\" rel=\"stylesheet\">");  
794 - 630 + html.append("<head>");
  631 + html.append("<meta charset=\"utf-8\">");
  632 + html.append("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">");
  633 + html.append("<meta name=\"description\" content=\"\">");
  634 + html.append("<meta name=\"author\" content=\"\">");
  635 + html.append("<link rel=\"shortcut icon\" href=\"static/ico/favicon.png\">");
  636 +
  637 + html.append("<title>Painel de Acessibilidade Digital do Governo</title>");
  638 +
  639 + html.append("<link href=\"" + this.application.getRealPath("")
  640 + + "/static/css/painelAcessibilidade.css\" rel=\"stylesheet\">");
  641 + html.append("<link href=\"" + this.application.getRealPath("")
  642 + + "/static/css/barra_brasil.css\" rel=\"stylesheet\">");
  643 +
795 html.append("</head>"); 644 html.append("</head>");
796 html.append("<body>"); 645 html.append("<body>");
797 -  
798 - html.append("<div class=\"contanner\"> ");  
799 - html.append("<div id=\"logo\">");  
800 - html.append("Painel de Acessibilidade Digital do Governo");  
801 - html.append("</div> ");  
802 - html.append("</div>");  
803 -  
804 - html.append("<div id=\"contato\">");  
805 - html.append(" <a href=\"http://www.planejamento.gov.br/\">Ministério do Planejamento - http://www.planejamento.gov.br (link para um novo sítio)</a>");  
806 - html.append("</div>");  
807 -  
808 - html.append("<div class=\"contanner\">");  
809 - html.append(" <div class=\"logoAvaliacao\">");  
810 - html.append(" <div id=\"emag\">");  
811 - html.append(" <label>eMAG</label> ");  
812 - html.append(" </div>");  
813 - html.append(" <div id=\"testesAutomaticos\"> ");  
814 - html.append(" <label>Testes Automáticos<br>7.3/10</label> </div> ");  
815 -  
816 - html.append(" <div id=\"grafico\"> ");  
817 - html.append(" Gráfico ");  
818 - html.append(" </div>");  
819 - html.append(" </div>");  
820 - html.append("<div class=\"avaliacao\">");  
821 -  
822 - html.append("<label><strong>Teste Automático de Acessibilidade</strong></label><br><br>");  
823 - html.append("<label><strong>Órão: </strong></label><br>");  
824 - html.append("<label><strong>Página: </strong></label><br>");  
825 - html.append("<label><strong>Data de Avaliação: </strong></label><br>");  
826 - html.append("<label><strong>Nota: </strong></label><br>");  
827 - html.append("<hr>");  
828 -  
829 -  
830 -  
831 - html.append("</div>"); 646 + html.append("<header id=\"topoPagina\">");
  647 + html.append("<div>");
  648 + html.append(" <div id=\"topo\">");
  649 + html.append(" <ul id=\"accessibility\">");
  650 + html.append(" <li><a accesskey=\"1\" href=\"#inicioConteudo\" id=\"link-conteudo\">Ir");
  651 + html.append(" para o conteúdo <span>1</span>");
  652 + html.append(" </a></li>");
  653 + html.append(" <li><a accesskey=\"2\" href=\"#menu\" id=\"link-menu\">Ir para o");
  654 + html.append(" menu <span>2</span>");
  655 + html.append(" </a></li>");
  656 + html.append(" <li><a accesskey=\"4\" href=\"#footer-brasil\" id=\"link-rodape\">Ir");
  657 + html.append(" para o rodapé <span>4</span>");
  658 + html.append(" </a></li>");
  659 + html.append(" </ul>");
  660 +
  661 +
  662 + html.append("<div id=\"logo\">");
  663 + html.append("<h1>");
  664 + html.append(" <span id=\"portal-title-1\">Painel de Acessibilidade Digital do Governo");
  665 + html.append(" </span> ");
  666 + html.append("</h1>");
  667 + html.append("</div>");
  668 +
  669 + html.append("<div id=\"barra-brasil\" class=\"barra_brasil\">");
  670 +
  671 + html.append("<ul id=\"menu-barra-temp\">");
  672 + html.append("<li><a class=\"primeiro-link\" href=\"http://brasil.gov.br\">Portal");
  673 + html.append("do Governo Brasileiro</a></li>");
  674 + html.append("<li><a class=\"segundo-link\"");
  675 + html.append("href=\"http://epwg.governoeletronico.gov.br/barra/atualize.html\">Atualize");
  676 + html.append("sua Barra de Governo</a></li>");
  677 + html.append("</ul>");
  678 + html.append("</div>");
  679 + html.append("</header>");
  680 + html.append("<div class=\"contanner\"> ");
  681 +
  682 + html.append("<div id=\"contato\">");
  683 + html.append(" <a href=\"http://www.planejamento.gov.br/\">Ministério do Planejamento - http://www.planejamento.gov.br (link para um novo sítio)</a>");
  684 + html.append("</div>");
  685 +
  686 + html.append("<div class=\"contanner\">");
  687 + html.append("<a id=\"inicioConteudo\" class=\"oculto\">Início do conteúdo</a>");
  688 + html.append(" <div class=\"logoAvaliacao\">");
  689 + html.append(" <div id=\"emag\">");
  690 + html.append(" <label>eMAG</label> ");
  691 + html.append(" </div>");
  692 + html.append(" <div id=\"testesAutomaticos\"> ");
  693 + html.append(" <label>Testes Automáticos<br>"
  694 + + resumoAvaliacao.getValor() + "/100</label> </div> ");
  695 +
  696 + html.append(" <div id=\"grafico\"> ");
  697 + html.append(" Gráfico ");
  698 + html.append(" </div>");
  699 + html.append(" </div>");
  700 + html.append("<div class=\"avaliacao\">");
  701 +
  702 + html.append("<label><h2><strong>Teste Automático de Acessibilidade</strong></label></h2>");
  703 + html.append("<label><strong>Órgão: </strong>"
  704 + + avaliacao.getUrl().getUrl() + "</label><br>");
  705 + html.append("<label><strong>Página: </strong>"
  706 + + avaliacao.getUrl().getUrl() + "</label><br>");
  707 + html.append("<label><strong>Data de Avaliação: </strong>"
  708 + + Util.dataHoraAtual() + "</label><br>");
  709 + html.append("<label><strong>Nota: </strong>" + avaliacao.getNota()
  710 + + "</label><br>");
  711 + html.append("<hr>");
  712 +
  713 + resultadosRecomendacao = new ArrayList<ResultadoRecomendacao>();
  714 + resultadosRecomendacao = daoResultadoRecomendacao
  715 + .getResultadoRecomendacao(avaliacao);
  716 +
  717 + for (ResultadoRecomendacao resultadoRecomendacao : resultadosRecomendacao) {
  718 +
  719 + recomendacao = new Recomendacao();
  720 + recomendacao = daoRecomendacao
  721 + .getRecomendacaoPorNumeroRecomendacao(resultadoRecomendacao
  722 + .getNumRecomendacao());
  723 +
  724 + html.append("<h3><label><strong>Recomendação "
  725 + + resultadoRecomendacao.getNumRecomendacao() + " - "
  726 + + recomendacao.getDescricao() + "</strong></label></h3>");
  727 + html.append("<label><strong>Peso da Recomendação: </strong>"
  728 + + recomendacao.getPeso() + "</label><br>");
  729 + html.append("<label><strong>Nota da Recomendação: </strong>"
  730 + + resultadoRecomendacao.getNotaRecomendacao()
  731 + + "</label><br>");
  732 +
  733 + resultadosCriterio = daoResultadoCriterio
  734 + .getResultadoCriterio(resultadoRecomendacao);
  735 +
  736 + html.append("<h3><label><strong>Critérios Avaliados</strong></label></h3>");
  737 + html.append("<table>");
  738 +
  739 + html.append("<thead>");
  740 + html.append("<tr>");
  741 + html.append("<th id=\"numero\">Nº Critério</th>");
  742 + html.append("<th id=\"criterio\">Critério</th>");
  743 + html.append("<th id=\"tipoTeste\">Tipo de Teste</th>");
  744 + html.append("<th id=\"peso\">Peso</th>");
  745 + html.append("<th id=\"erros\">Erros</th>");
  746 + html.append("<th id=\"itens\">Itens</th>");
  747 + html.append("<th id=\"nota\">Nota</th>");
  748 + html.append("</tr>");
  749 + html.append("</thead>");
  750 +
  751 + html.append("<tbody>");
  752 + html.append("</tbody>");
  753 +
  754 + for (ResultadoCriterio resultadoCriterio : resultadosCriterio) {
  755 + criterio = new Criterio();
  756 + criterio = daoCriterio.load(resultadoCriterio.getIdCriterio());
  757 +
  758 + html.append("<tr>");
  759 + html.append("<td headers=\"numero\" class=\"celula\">"
  760 + + criterio.getNumeroCriterio() + "</td>");
  761 + html.append("<td headers=\"criterio\" class=\"celula\">"
  762 + + criterio.getDescricao() + "</td>");
  763 + html.append("<td headers=\"tipoTeste\" class=\"celula\">"
  764 + + criterio.getTipoTeste().getTipo() + "</td>");
  765 + html.append("<td headers=\"peso\" class=\"celula\">"
  766 + + criterio.getPeso() + "</td>");
  767 + html.append("<td headers=\"erros\" class=\"celula\">"
  768 + + resultadoCriterio.getNumErros() + "</td>");
  769 + html.append("<td headers=\"itens\" class=\"celula\">"
  770 + + resultadoCriterio.getNumItens() + "</td>");
  771 + html.append("<td headers=\"nota\" class=\"celula\">"
  772 + + resultadoCriterio.getNotaCriterio() + "</td>");
  773 + html.append("</tr>");
  774 +
  775 + }
832 html.append("</div>"); 776 html.append("</div>");
  777 + html.append("</tbody>");
  778 + html.append("</table><br>");
  779 + }
  780 +
  781 + html.append("<a id=\"fimConteudo\" class=\"oculto\">Fim do conteúdo</a>");
  782 + html.append("</div>");
  783 + html.append("<div id=\"voltar-topo\">");
  784 + html.append("<a href=\"#topoPagina\">Voltar para o topo</a>");
  785 + html.append("</div>");
  786 + html.append("</div>");
  787 + html.append("<footer id=\"footer-brasil\"></footer>");
  788 + html.append("<script defer=\"defer\" src=\"//barra.brasil.gov.br/barra.js\"");
  789 + html.append("type=\"text/javascript\"></script>");
  790 + html.append("<noscript>Seu navegador não possui suporte para JavaScript!</noscript>");
833 html.append("</body>"); 791 html.append("</body>");
834 - html.append("</html>");  
835 -  
836 -  
837 -  
838 - FileWriter arq;  
839 - PrintWriter gravarArq;  
840 - try {  
841 - nomeArquivo = URLNormalizer  
842 - .normalize(resumoAvaliacao.getUrl()).replace("/", "").replace(".", "") + ".html";  
843 - arq = new FileWriter(diretorioHtml + "/"+ nomeArquivo);  
844 - gravarArq = new PrintWriter(arq);  
845 - gravarArq.printf(html.toString());  
846 -  
847 - arq.close();  
848 -  
849 - if(diretorioHtml.exists())  
850 - {  
851 - salvarAvaliacao(resumoAvaliacao);  
852 - }  
853 -  
854 - } catch (IOException e) {  
855 - e.printStackTrace(); 792 + html.append("</html>");
  793 +
  794 + FileWriter arq;
  795 + PrintWriter gravarArq;
  796 + try {
  797 + nomeArquivo = URLNormalizer.normalize(resumoAvaliacao.getUrl())
  798 + .replace("/", "").replace(".", "")
  799 + + ".html";
  800 + arq = new FileWriter(diretorioHtml + "/" + nomeArquivo);
  801 + gravarArq = new PrintWriter(arq);
  802 + gravarArq.printf(html.toString());
  803 +
  804 + arq.close();
  805 +
  806 + if (diretorioHtml.exists()) {
  807 + salvarAvaliacao(resumoAvaliacao);
856 } 808 }
  809 +
  810 + } catch (IOException e) {
  811 + e.printStackTrace();
  812 + }
857 } 813 }
858 - 814 +
859 } 815 }
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/TestesController.java
@@ -36,7 +36,7 @@ public class TestesController { @@ -36,7 +36,7 @@ public class TestesController {
36 RelatorioAvaliacao relatorioAvaliacao = new LeitorXML() 36 RelatorioAvaliacao relatorioAvaliacao = new LeitorXML()
37 .lerAvaliacaoXML(teste.getXml()); 37 .lerAvaliacaoXML(teste.getXml());
38 38
39 - avaliacaoController.calcularNota(relatorioAvaliacao); 39 + avaliacaoController.calcularNota(relatorioAvaliacao, false);
40 40
41 result.include("mensagem", "Teste realizado."); 41 result.include("mensagem", "Teste realizado.");
42 } 42 }
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/AvaliacaoDAO.java
@@ -2,7 +2,13 @@ package br.com.eselo.dao; @@ -2,7 +2,13 @@ package br.com.eselo.dao;
2 2
3 import java.util.List; 3 import java.util.List;
4 4
  5 +import javassist.runtime.Desc;
  6 +
  7 +import org.hibernate.Criteria;
5 import org.hibernate.Session; 8 import org.hibernate.Session;
  9 +import org.hibernate.SessionFactory;
  10 +import org.hibernate.Transaction;
  11 +import org.hibernate.cfg.Configuration;
6 import org.hibernate.criterion.Order; 12 import org.hibernate.criterion.Order;
7 import org.hibernate.criterion.Projections; 13 import org.hibernate.criterion.Projections;
8 import org.hibernate.criterion.Restrictions; 14 import org.hibernate.criterion.Restrictions;
@@ -41,6 +47,38 @@ public class AvaliacaoDAO extends GenericDAO&lt;Avaliacao&gt; { @@ -41,6 +47,38 @@ public class AvaliacaoDAO extends GenericDAO&lt;Avaliacao&gt; {
41 .uniqueResult(); 47 .uniqueResult();
42 } 48 }
43 49
  50 + @SuppressWarnings("unchecked")
  51 + public List<Avaliacao> getAvaliacaoByURL2(Url url) {
  52 + List<Avaliacao> encontrado = getSession()
  53 + .createCriteria(getPersistentClass())
  54 + .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
  55 + .add(Restrictions.eq("url", url))
  56 + .list();
  57 +
  58 + return encontrado;
  59 + }
  60 +
  61 + @SuppressWarnings("unchecked")
  62 + public List<Avaliacao> getAvaliacaoByURL3(Url url) {
  63 + Configuration config = new Configuration();
  64 + config.configure();
  65 + SessionFactory factory = config.buildSessionFactory();
  66 + Session session = factory.openSession();
  67 + //Transaction tx = session.beginTransaction();
  68 +
  69 + List<Avaliacao> encontrado = session
  70 + .createCriteria(getPersistentClass())
  71 + .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
  72 + .add(Restrictions.eq("url", url))
  73 + .addOrder(Order.desc("id"))
  74 + .setFirstResult(1)
  75 + .list();
  76 +
  77 + return encontrado;
  78 + }
  79 +
  80 +
  81 +
44 public int numLinhas(){ 82 public int numLinhas(){
45 return (Integer) session.createCriteria(Avaliacao.class) 83 return (Integer) session.createCriteria(Avaliacao.class)
46 .setProjection(Projections.rowCount()) 84 .setProjection(Projections.rowCount())
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/CriterioDAO.java
@@ -10,7 +10,9 @@ import org.hibernate.criterion.Restrictions; @@ -10,7 +10,9 @@ import org.hibernate.criterion.Restrictions;
10 10
11 import br.com.caelum.vraptor.ioc.Component; 11 import br.com.caelum.vraptor.ioc.Component;
12 import br.com.eselo.model.Criterio; 12 import br.com.eselo.model.Criterio;
  13 +import br.com.eselo.model.ParametroCalculo;
13 import br.com.eselo.model.Recomendacao; 14 import br.com.eselo.model.Recomendacao;
  15 +import br.com.eselo.model.ResultadoCriterio;
14 16
15 @Component 17 @Component
16 public class CriterioDAO extends GenericDAO<Criterio> { 18 public class CriterioDAO extends GenericDAO<Criterio> {
@@ -19,6 +21,7 @@ public class CriterioDAO extends GenericDAO&lt;Criterio&gt; { @@ -19,6 +21,7 @@ public class CriterioDAO extends GenericDAO&lt;Criterio&gt; {
19 super(_session); 21 super(_session);
20 } 22 }
21 23
  24 +
22 @SuppressWarnings("unchecked") 25 @SuppressWarnings("unchecked")
23 public List<Criterio> listAll() { 26 public List<Criterio> listAll() {
24 return getSession().createCriteria(getPersistentClass()) 27 return getSession().createCriteria(getPersistentClass())
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GenericDAO.java
@@ -3,16 +3,20 @@ package br.com.eselo.dao; @@ -3,16 +3,20 @@ package br.com.eselo.dao;
3 import java.lang.reflect.ParameterizedType; 3 import java.lang.reflect.ParameterizedType;
4 import java.util.List; 4 import java.util.List;
5 5
  6 +import org.hibernate.Criteria;
6 import org.hibernate.Hibernate; 7 import org.hibernate.Hibernate;
7 import org.hibernate.HibernateException; 8 import org.hibernate.HibernateException;
8 import org.hibernate.Session; 9 import org.hibernate.Session;
9 import org.hibernate.criterion.Order; 10 import org.hibernate.criterion.Order;
10 import org.hibernate.criterion.Projections; 11 import org.hibernate.criterion.Projections;
11 import org.hibernate.criterion.Restrictions; 12 import org.hibernate.criterion.Restrictions;
  13 +import org.hibernate.jpa.HibernateEntityManagerFactory;
12 import org.slf4j.Logger; 14 import org.slf4j.Logger;
13 import org.slf4j.LoggerFactory; 15 import org.slf4j.LoggerFactory;
14 16
  17 +import br.com.eselo.model.Avaliacao;
15 import br.com.eselo.model.ParametroCalculo; 18 import br.com.eselo.model.ParametroCalculo;
  19 +import br.com.eselo.model.ResultadoRecomendacao;
16 20
17 public abstract class GenericDAO<T> { 21 public abstract class GenericDAO<T> {
18 22
@@ -50,6 +54,7 @@ public abstract class GenericDAO&lt;T&gt; { @@ -50,6 +54,7 @@ public abstract class GenericDAO&lt;T&gt; {
50 public List<T> listAll() throws HibernateException { 54 public List<T> listAll() throws HibernateException {
51 return this.session.createCriteria(persistentClass).list(); 55 return this.session.createCriteria(persistentClass).list();
52 } 56 }
  57 +
53 58
54 @SuppressWarnings("unchecked") 59 @SuppressWarnings("unchecked")
55 public List<T> listAll(int regIni, int regFim) { 60 public List<T> listAll(int regIni, int regFim) {
@@ -69,6 +74,7 @@ public abstract class GenericDAO&lt;T&gt; { @@ -69,6 +74,7 @@ public abstract class GenericDAO&lt;T&gt; {
69 try { 74 try {
70 this.session.save(entity); 75 this.session.save(entity);
71 this.session.flush(); 76 this.session.flush();
  77 +
72 } catch (HibernateException e) { 78 } catch (HibernateException e) {
73 logger.debug(e.getMessage()); 79 logger.debug(e.getMessage());
74 System.out.println(e.getMessage()); 80 System.out.println(e.getMessage());
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/RecomendacaoDAO.java
@@ -2,14 +2,20 @@ package br.com.eselo.dao; @@ -2,14 +2,20 @@ package br.com.eselo.dao;
2 2
3 import java.util.List; 3 import java.util.List;
4 4
  5 +import javassist.expr.NewArray;
  6 +
  7 +import org.hibernate.Criteria;
5 import org.hibernate.Session; 8 import org.hibernate.Session;
6 import org.hibernate.criterion.Order; 9 import org.hibernate.criterion.Order;
7 import org.hibernate.criterion.Projections; 10 import org.hibernate.criterion.Projections;
8 import org.hibernate.criterion.Restrictions; 11 import org.hibernate.criterion.Restrictions;
9 12
10 import br.com.caelum.vraptor.ioc.Component; 13 import br.com.caelum.vraptor.ioc.Component;
  14 +import br.com.eselo.model.Avaliacao;
11 import br.com.eselo.model.ParametroCalculo; 15 import br.com.eselo.model.ParametroCalculo;
12 import br.com.eselo.model.Recomendacao; 16 import br.com.eselo.model.Recomendacao;
  17 +import br.com.eselo.model.ResultadoCriterio;
  18 +import br.com.eselo.model.ResultadoRecomendacao;
13 19
14 @Component 20 @Component
15 public class RecomendacaoDAO extends GenericDAO<Recomendacao> { 21 public class RecomendacaoDAO extends GenericDAO<Recomendacao> {
@@ -52,5 +58,14 @@ public class RecomendacaoDAO extends GenericDAO&lt;Recomendacao&gt; { @@ -52,5 +58,14 @@ public class RecomendacaoDAO extends GenericDAO&lt;Recomendacao&gt; {
52 .setProjection(Projections.rowCount()).uniqueResult(); 58 .setProjection(Projections.rowCount()).uniqueResult();
53 } 59 }
54 60
55 - 61 + @SuppressWarnings("unchecked")
  62 + public Recomendacao getRecomendacaoPorNumeroRecomendacao(Long resultadoRecomendacao) {
  63 +
  64 + Recomendacao encontrado = (Recomendacao) getSession()
  65 + .createCriteria(Recomendacao.class)
  66 + .add(Restrictions.eq("numeroRecomendacao", new Long(resultadoRecomendacao)))
  67 + .uniqueResult();
  68 +
  69 + return encontrado;
  70 + }
56 } 71 }
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ResultadoCriterioDao.java
@@ -2,11 +2,15 @@ package br.com.eselo.dao; @@ -2,11 +2,15 @@ package br.com.eselo.dao;
2 2
3 import java.util.List; 3 import java.util.List;
4 4
  5 +import org.hibernate.Criteria;
5 import org.hibernate.Session; 6 import org.hibernate.Session;
6 import org.hibernate.criterion.Order; 7 import org.hibernate.criterion.Order;
  8 +import org.hibernate.criterion.Restrictions;
7 9
8 import br.com.caelum.vraptor.ioc.Component; 10 import br.com.caelum.vraptor.ioc.Component;
  11 +import br.com.eselo.model.Avaliacao;
9 import br.com.eselo.model.ResultadoCriterio; 12 import br.com.eselo.model.ResultadoCriterio;
  13 +import br.com.eselo.model.ResultadoRecomendacao;
10 14
11 @Component 15 @Component
12 public class ResultadoCriterioDao extends GenericDAO<ResultadoCriterio> { 16 public class ResultadoCriterioDao extends GenericDAO<ResultadoCriterio> {
@@ -15,6 +19,17 @@ public class ResultadoCriterioDao extends GenericDAO&lt;ResultadoCriterio&gt; { @@ -15,6 +19,17 @@ public class ResultadoCriterioDao extends GenericDAO&lt;ResultadoCriterio&gt; {
15 super(_session); 19 super(_session);
16 } 20 }
17 21
  22 + @SuppressWarnings("unchecked")
  23 + public List<ResultadoCriterio> getResultadoCriterio(ResultadoRecomendacao resultadoRecomendacao) {
  24 +
  25 + List<ResultadoCriterio> encontrado = getSession()
  26 + .createCriteria(getPersistentClass())
  27 + .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
  28 + .add(Restrictions.eq("resultadoRecomendacao", resultadoRecomendacao))
  29 + .list();
  30 +
  31 + return encontrado;
  32 + }
18 33
19 @SuppressWarnings("unchecked") 34 @SuppressWarnings("unchecked")
20 public List<ResultadoCriterio> listAllCriterio() { 35 public List<ResultadoCriterio> listAllCriterio() {
@@ -22,38 +37,11 @@ public class ResultadoCriterioDao extends GenericDAO&lt;ResultadoCriterio&gt; { @@ -22,38 +37,11 @@ public class ResultadoCriterioDao extends GenericDAO&lt;ResultadoCriterio&gt; {
22 .addOrder(Order.asc("id")).list(); 37 .addOrder(Order.asc("id")).list();
23 } 38 }
24 39
25 -}  
26 -  
27 -/*  
28 -package br.com.eselo.dao;  
29 -  
30 -import java.util.List;  
31 -  
32 -import org.hibernate.Session;  
33 -import org.hibernate.criterion.Order;  
34 -import org.hibernate.criterion.Restrictions;  
35 -  
36 -import br.com.caelum.vraptor.ioc.Component;  
37 -import br.com.eselo.model.ResultadoRecomendacao;  
38 -  
39 -@Component  
40 -public class ResultadoDao extends GenericDAO<ResultadoRecomendacao> { 40 + public Object getAllCriterio() {
  41 + CriterioDAO criterioDao = (CriterioDAO) new CriterioDAO(
  42 + getSession());
41 43
42 - public ResultadoDao(Session _session) {  
43 - super(_session);  
44 - }  
45 -  
46 - @SuppressWarnings("unchecked")  
47 - public List<ResultadoRecomendacao> listAll() {  
48 - return getSession().createCriteria(getPersistentClass())  
49 - .addOrder(Order.asc("id")).list(); 44 + return criterioDao.listAll();
50 } 45 }
51 46
52 - @SuppressWarnings("unchecked")  
53 - public List<ResultadoRecomendacao> listResultado(Long idAvaliacao) {  
54 - return getSession().createCriteria(getPersistentClass())  
55 - .add(Restrictions.eq("avaliacao.id", idAvaliacao))  
56 - .addOrder(Order.asc("id")).list();  
57 - }  
58 -  
59 -}*/ 47 +}
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ResultadoRecomendacaoDao.java 0 → 100644
@@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
  1 +package br.com.eselo.dao;
  2 +
  3 +import java.util.List;
  4 +
  5 +import org.hibernate.Criteria;
  6 +import org.hibernate.Session;
  7 +import org.hibernate.criterion.Restrictions;
  8 +
  9 +import br.com.caelum.vraptor.ioc.Component;
  10 +import br.com.eselo.model.Avaliacao;
  11 +import br.com.eselo.model.ResultadoRecomendacao;
  12 +
  13 +@Component
  14 +public class ResultadoRecomendacaoDao extends GenericDAO<ResultadoRecomendacao>{
  15 +
  16 +
  17 + public ResultadoRecomendacaoDao(Session _session) {
  18 + super(_session);
  19 + }
  20 +
  21 + @SuppressWarnings("unchecked")
  22 + public List<ResultadoRecomendacao> getResultadoRecomendacao(Avaliacao avaliacao) {
  23 +
  24 + List<ResultadoRecomendacao> encontrado = getSession()
  25 + .createCriteria(getPersistentClass())
  26 + .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
  27 + .add(Restrictions.eq("avaliacao", avaliacao))
  28 + .list();
  29 +
  30 + return encontrado;
  31 + }
  32 +}
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java
@@ -46,8 +46,9 @@ public class Criterio { @@ -46,8 +46,9 @@ public class Criterio {
46 @Column(name = "nu_criterio", nullable = false) 46 @Column(name = "nu_criterio", nullable = false)
47 private Long numeroCriterio; 47 private Long numeroCriterio;
48 48
49 - @OneToMany(mappedBy = "criterio", targetEntity = br.com.eselo.model.ResultadoCriterio.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)  
50 - private List<ResultadoCriterio> resultadoCriterio; 49 +
  50 + //@OneToMany(mappedBy = "criterio", targetEntity = br.com.eselo.model.ResultadoCriterio.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
  51 + //private List<ResultadoCriterio> resultadosCriterio;
51 52
52 53
53 public Long getNumeroCriterio() { 54 public Long getNumeroCriterio() {
@@ -58,13 +59,7 @@ public class Criterio { @@ -58,13 +59,7 @@ public class Criterio {
58 this.numeroCriterio = numeroCriterio; 59 this.numeroCriterio = numeroCriterio;
59 } 60 }
60 61
61 - public List<ResultadoCriterio> getResultadoCriterio() {  
62 - return resultadoCriterio;  
63 - }  
64 62
65 - public void setResultadoCriterio(List<ResultadoCriterio> resultadoCriterio) {  
66 - this.resultadoCriterio = resultadoCriterio;  
67 - }  
68 63
69 @ManyToOne(fetch = FetchType.EAGER) 64 @ManyToOne(fetch = FetchType.EAGER)
70 @JoinColumn(name = "id_tipo_teste", columnDefinition = "integer", nullable = false, insertable = true, updatable = true) 65 @JoinColumn(name = "id_tipo_teste", columnDefinition = "integer", nullable = false, insertable = true, updatable = true)
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoCriterio.java
@@ -6,6 +6,8 @@ import javax.persistence.FetchType; @@ -6,6 +6,8 @@ import javax.persistence.FetchType;
6 import javax.persistence.GeneratedValue; 6 import javax.persistence.GeneratedValue;
7 import javax.persistence.Id; 7 import javax.persistence.Id;
8 import javax.persistence.JoinColumn; 8 import javax.persistence.JoinColumn;
  9 +import javax.persistence.ManyToOne;
  10 +import javax.persistence.OneToMany;
9 import javax.persistence.OneToOne; 11 import javax.persistence.OneToOne;
10 import javax.persistence.Table; 12 import javax.persistence.Table;
11 import javax.persistence.Transient; 13 import javax.persistence.Transient;
@@ -23,11 +25,14 @@ public class ResultadoCriterio { @@ -23,11 +25,14 @@ public class ResultadoCriterio {
23 @Column(name = "id_resultado_criterio", columnDefinition = "serial", unique = true, nullable = false) 25 @Column(name = "id_resultado_criterio", columnDefinition = "serial", unique = true, nullable = false)
24 private Long id; 26 private Long id;
25 27
26 - @OneToOne(fetch = FetchType.LAZY)  
27 - @JoinColumn(name="id_criterio") 28 +
  29 + /*@ManyToOne(fetch = FetchType.EAGER)
  30 + @JoinColumn(name = "id_criterio", insertable = true, updatable = true)
28 @ForeignKey(name = "sel_result_crit_id_crit_fk") 31 @ForeignKey(name = "sel_result_crit_id_crit_fk")
29 - @Fetch(FetchMode.SELECT)  
30 - private Criterio criterio; 32 + @Fetch(FetchMode.SELECT)*/
  33 +
  34 + @Column(name = "id_criterio",nullable = false)
  35 + private Long idCriterio;
31 36
32 @Column(name = "nu_erros",nullable = false) 37 @Column(name = "nu_erros",nullable = false)
33 private Long numErros; 38 private Long numErros;
@@ -38,7 +43,7 @@ public class ResultadoCriterio { @@ -38,7 +43,7 @@ public class ResultadoCriterio {
38 @Column(name = "nu_nota",nullable = false) 43 @Column(name = "nu_nota",nullable = false)
39 private Double notaCriterio; 44 private Double notaCriterio;
40 45
41 - @OneToOne(fetch = FetchType.LAZY) 46 + @OneToOne(fetch = FetchType.EAGER)
42 @JoinColumn(name="id_resultado_rescomendacao", insertable=true, updatable=true) 47 @JoinColumn(name="id_resultado_rescomendacao", insertable=true, updatable=true)
43 @ForeignKey(name = "fk_sel_resultado_sel_avaliacao") 48 @ForeignKey(name = "fk_sel_resultado_sel_avaliacao")
44 @Fetch(FetchMode.SELECT) 49 @Fetch(FetchMode.SELECT)
@@ -56,12 +61,14 @@ public class ResultadoCriterio { @@ -56,12 +61,14 @@ public class ResultadoCriterio {
56 return numErros; 61 return numErros;
57 } 62 }
58 63
59 - public Criterio getCriterio() {  
60 - return criterio; 64 +
  65 +
  66 + public Long getIdCriterio() {
  67 + return idCriterio;
61 } 68 }
62 69
63 - public void setCriterio(Criterio criterio) {  
64 - this.criterio = criterio; 70 + public void setIdCriterio(Long idCriterio) {
  71 + this.idCriterio = idCriterio;
65 } 72 }
66 73
67 public void setNumErros(Long numErros) { 74 public void setNumErros(Long numErros) {
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoRecomendacao.java
@@ -10,6 +10,7 @@ import javax.persistence.FetchType; @@ -10,6 +10,7 @@ import javax.persistence.FetchType;
10 import javax.persistence.GeneratedValue; 10 import javax.persistence.GeneratedValue;
11 import javax.persistence.Id; 11 import javax.persistence.Id;
12 import javax.persistence.JoinColumn; 12 import javax.persistence.JoinColumn;
  13 +import javax.persistence.ManyToOne;
13 import javax.persistence.OneToMany; 14 import javax.persistence.OneToMany;
14 import javax.persistence.OneToOne; 15 import javax.persistence.OneToOne;
15 import javax.persistence.Table; 16 import javax.persistence.Table;
@@ -31,14 +32,14 @@ public class ResultadoRecomendacao { @@ -31,14 +32,14 @@ public class ResultadoRecomendacao {
31 @Column(name = "id_resultado_recomendacao", columnDefinition = "serial", unique = true, nullable = false) 32 @Column(name = "id_resultado_recomendacao", columnDefinition = "serial", unique = true, nullable = false)
32 private Long id; 33 private Long id;
33 34
34 - @OneToOne(fetch = FetchType.EAGER) 35 + @ManyToOne(fetch = FetchType.LAZY)
35 @JoinColumn(name="id_avaliacao", insertable=true, updatable=true) 36 @JoinColumn(name="id_avaliacao", insertable=true, updatable=true)
36 @ForeignKey(name = "fk_sel_resultado_recomendacao_sel_avaliacao") 37 @ForeignKey(name = "fk_sel_resultado_recomendacao_sel_avaliacao")
37 @Fetch(FetchMode.SELECT) 38 @Fetch(FetchMode.SELECT)
38 private Avaliacao avaliacao; 39 private Avaliacao avaliacao;
39 40
40 @Column(name = "nu_recomendacao",nullable = false) 41 @Column(name = "nu_recomendacao",nullable = false)
41 - private Long numRecomendacao; 42 + private Long numeroRecomendacao;
42 43
43 @Column(name = "nu_total_erros",nullable = false) 44 @Column(name = "nu_total_erros",nullable = false)
44 private Long totalErros; 45 private Long totalErros;
@@ -69,11 +70,11 @@ public class ResultadoRecomendacao { @@ -69,11 +70,11 @@ public class ResultadoRecomendacao {
69 } 70 }
70 71
71 public Long getNumRecomendacao() { 72 public Long getNumRecomendacao() {
72 - return numRecomendacao; 73 + return numeroRecomendacao;
73 } 74 }
74 75
75 public void setNumRecomendacao(Long numRecomendacao) { 76 public void setNumRecomendacao(Long numRecomendacao) {
76 - this.numRecomendacao = numRecomendacao; 77 + this.numeroRecomendacao = numRecomendacao;
77 } 78 }
78 79
79 public Long getTotalErros() { 80 public Long getTotalErros() {
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Url.java
1 package br.com.eselo.model; 1 package br.com.eselo.model;
2 2
  3 +import java.util.ArrayList;
  4 +import java.util.List;
  5 +
  6 +import javax.persistence.CascadeType;
3 import javax.persistence.Column; 7 import javax.persistence.Column;
4 import javax.persistence.Entity; 8 import javax.persistence.Entity;
5 import javax.persistence.FetchType; 9 import javax.persistence.FetchType;
@@ -7,6 +11,7 @@ import javax.persistence.GeneratedValue; @@ -7,6 +11,7 @@ import javax.persistence.GeneratedValue;
7 import javax.persistence.Id; 11 import javax.persistence.Id;
8 import javax.persistence.JoinColumn; 12 import javax.persistence.JoinColumn;
9 import javax.persistence.ManyToOne; 13 import javax.persistence.ManyToOne;
  14 +import javax.persistence.OneToMany;
10 import javax.persistence.Table; 15 import javax.persistence.Table;
11 import javax.persistence.Transient; 16 import javax.persistence.Transient;
12 17
@@ -17,17 +22,23 @@ import org.hibernate.annotations.ForeignKey; @@ -17,17 +22,23 @@ import org.hibernate.annotations.ForeignKey;
17 @Entity 22 @Entity
18 @Table(name = "sel_url") 23 @Table(name = "sel_url")
19 public class Url { 24 public class Url {
  25 +
  26 + public Url() {
  27 + this.avaliacoes = new ArrayList<Avaliacao>();
  28 + }
20 29
21 @Id 30 @Id
22 @GeneratedValue 31 @GeneratedValue
23 @Column(name = "id_url", columnDefinition = "serial", unique = true, nullable = false) 32 @Column(name = "id_url", columnDefinition = "serial", unique = true, nullable = false)
24 private Long id; 33 private Long id;
25 34
26 - @Column(name = "url", nullable = false) 35 + @Column(name = "url", nullable = false, unique = true)
27 private String url; 36 private String url;
28 37
29 -  
30 - @Column(name="id_sitio") 38 + @OneToMany(mappedBy = "url", targetEntity = br.com.eselo.model.Avaliacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
  39 + private List<Avaliacao> avaliacoes;
  40 +
  41 + @Column(name="id_sitio", nullable = true)
31 private Integer idSitio; 42 private Integer idSitio;
32 43
33 public Long getId() { 44 public Long getId() {