Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1902 → Rev 1916

/branches/grupo3/impl/conf/berserk/sd.xml
4046,4 → 4046,20
</service>
 
 
<!-- AA 7/12/2017 -->
<service>
<name>CourseReportSave</name>
<implementationClass>pt.estgp.estgweb.services.courses.CourseReportServices</implementationClass>
<description>
@reportCourseDocument documento course report em json
</description>
<isTransactional>true</isTransactional>
<defaultMethod>save</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
 
</serviceDefinitions>
/branches/grupo3/impl/src/java/pt/estgp/estgweb/services/courses/CourseReportServices.java
449,10 → 449,22
}
 
 
/* AA 7/12/2017 */
 
public String save(String reportDocumentJson,UserSession session) throws IOException {
 
CourseReportDocument reportDocument = CourseReportDocument.fromJson(reportDocumentJson);
 
DaoFactory.getCourseDaoImpl().findCourseByCode(reportDocument.getCourseCode());
 
 
 
return reportDocument.toJson();
}
 
 
 
 
/****************************************************************************/
/*
 
/branches/grupo3/impl/src/java/pt/estgp/estgweb/web/controllers/courses/CoursesController.java
696,8 → 696,4
return tJson;
}
 
 
 
 
 
}
/branches/grupo3/impl/src/java/pt/estgp/estgweb/web/controllers/courses/CoursesServicesController.java
43,4 → 43,21
}
 
 
/* AA 7/12/2017 */
 
public JSONObject saveReport(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Throwable {
 
String courseReportDocument = request.getParameter("courseReportDocument");
 
 
IServiceManager sm = ServiceManager.getInstance();
String json = (String) sm.execute(RequestUtils.getRequester(request, response),
"CourseReportSave",
new Object[]{courseReportDocument});
return new JSONObject(json);
}
 
 
 
 
}
/branches/grupo3/impl/src/hbm/pt/estgp/estgweb/domain/Course.hbm.xml
79,6 → 79,11
<property name="separatedTurmas" type="boolean">
<column name="separatedTurmas" default="false"/>
</property>
<!-- 13/12/2017-->
<property name="reportSave" type="text">
<column name="reportSave" sql-type="LONGTEXT"/>
</property>
 
<many-to-one name="course" class="pt.estgp.estgweb.domain.Course" outer-join="true" lazy="false" column="course_id"/>
<subclass name="pt.estgp.estgweb.domain.CourseYearImpl" discriminator-value="CourseYearImpl"/>
</class>
/branches/grupo3/impl/src/web/user/courses/courseReportEdit.jsp
314,9 → 314,27
}
}
 
/* Guardar courseReport 7/12/2017 */
$scope.save = function()
{
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/json/repository.do",
"saveReport",
{
"report" : BacoJS.stringifyOrdered($scope.report)
},
"#courseReportApp",
function(json)
{
alert(BacoJS.stringifyOrdered(json));
},
function(){}
);
}
 
 
 
 
});
</script>
 
326,17 → 344,18
 
<div class="form-vertical">
<div id="courseReportApp" ng-app="courseReportApp" ng-controller="courseReportAppController">
<div class="web-mensages"></div>
<div class="web-mensages"></div>
<div ng-init="section=report;" ng-include="'pt_estgp_estgweb_utils_documentBuilder_DocumentSection'">
 
</div>
 
<!-- <pre class="code">{{ report | json }}</pre>-->
<!-- <pre class="code">{{ report | json }}</pre> -->
 
 
 
</div><!--App-->
</div> <!--form-->
<!--<button class="md-raised md-button md-ink-ripple" type="button" ng-transclude="" ng-click="save()"><span class="ng-scope">Save</span></button> -->
 
</div><!--Panel Body-->
 
/branches/grupo3/impl/src/web/user/utils/documentsBuilder.jsp
1,5 → 1,9
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<style>
.sections
{
padding-left: 20px;
}
.buttonTools
{
border: 1px solid gray;
23,7 → 27,12
}
</style>
 
<!--Require templateObj-->
<script type="text/ng-template" id="callDocumentTemplate">
 
<div ng-include="class2id(templateObj)"></div>
</script>
 
<%--
customPane Need component customPane in variable customPane
docAppSelector selector usualy an html ID for ng-app example #docReport
40,70 → 49,72
<span class="glyphicon glyphicon-plus"></span>
<span class="glyphicon glyphicon-picture"></span>
</button>
Secção personalizada
Secção personalizada
</div>
<div class="componentBody">
<div class="clearfix" ng-repeat="subComp in comp.components" ng-init="parent=comp;comp=subComp" ng-include="class2id(subComp)">
 
</div>
<div>
<div>
</div>
</div>
</div>
</script>
 
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_ImageComponent">
<div class="imageComponent component">
<div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="buttonTools clearfix">
<button class="btn btn-danger pull-right" type="button" ng-click="removeComponent($index,parent.components)">
<span class="glyphicon glyphicon-remove"></span>
</button>
<label>Componente de Imagem (Use esta funcinalidade para adicionar gráficos ou tabelas que ache necessárias)</label>
<button class="btn btn-danger pull-right" type="button" ng-click="removeComponent($index,parent.components)">
<span class="glyphicon glyphicon-remove"></span>
</button>
<label>Componente de Imagem (Use esta funcinalidade para adicionar gráficos ou tabelas que ache necessárias)</label>
</div>
 
<div class="componentBody" ng-if="comp['@class']=='pt.estgp.estgweb.utils.documentBuilder.ImageComponent'">
<div class="form-group clearfix" ng-if="comp.image.identifier">
<label class="col-md-2 control-label">Legenda</label>
<div class="col-md-10">
<input type="text" class="form-control" rows="10" ng-model="comp.title">
</div>
<div class="componentBody">
<div class="form-group clearfix" ng-if="comp.image.identifier">
<label class="col-md-2 control-label">Legenda</label>
<div class="col-md-10">
<input type="text" class="form-control" rows="10" ng-model="comp.title">
</div>
<div class="form-group clearfix">
<div class="col-md-2 control-label">
<a class="btn btn-default" href="#" ng-model="comp"
data-title="Escolha Imagem"
data-showmetafields="false"
data-confirmonupload="true"
data-toggle="modal"
data-target="#filesUploadModal"
data-multiple="false"
data-allowed-extensions="jpg,png,gif"
data-callback-target-function="angular.element($('{{docAppSelector}}')).scope().callbackUploadedFiles">
</div>
<div class="form-group clearfix">
<div class="col-md-2 control-label">
<a class="btn btn-default" href="#" ng-model="comp"
data-title="Escolha Imagem"
data-showmetafields="false"
data-confirmonupload="true"
data-toggle="modal"
data-target="#filesUploadModal"
data-multiple="false"
data-allowed-extensions="jpg,png,gif"
data-callback-target-function="angular.element($('{{docAppSelector}}')).scope().callbackUploadedFiles">
<span ng-if="comp.image.identifier">
Substituir Imagem
</span>
<span ng-if="!(comp.image.identifier)">
<span ng-if="!(comp.image.identifier)">
Carregar Imagem
</span>
 
<span class="glyphicon glyphicon-upload"/>
<span class="glyphicon glyphicon-upload"/>
 
</a>
</a>
</div>
 
<div class="col-md-10">
<div ng-if="!(comp.image.identifier)">
Clique em carregar imagens e escolha uma imagem para adicionar nesta secção.
</div>
 
<div class="col-md-10">
<div ng-if="!(comp.image.identifier)">
Clique em carregar imagens e escolha uma imagem para adicionar nesta secção.
</div>
 
<label ng-if="comp.image.identifier"> Limites do PDF </label>
<div ng-if="comp.image.identifier" style="text-align: center; width: 595px; border: 1px solid black; padding: 45px">
<center>
<div style="width: 200px;height: 200px; max-width: 500px; max-height: 750px" resizable on-resize="resize($evt, $ui, comp)">
<img style="width: 100%;height: 100%" ng-src="{{comp.imageUrl}}">
</div>
(Se desejar altere o tamanho da imagem arrastando no canto inferior direito)
</center>
</div>
<label ng-if="comp.image.identifier"> Limites do PDF </label>
<div ng-if="comp.image.identifier" style="text-align: center; width: 595px; border: 1px solid black; padding: 45px">
<center>
<div style="width: 200px;height: 200px; max-width: 500px; max-height: 750px" resizable on-resize="resize($evt, $ui, comp)">
<img style="width: 100%;height: 100%" ng-src="{{comp.imageUrl}}">
</div>
(Se desejar altere o tamanho da imagem arrastando no canto inferior direito)
</center>
</div>
</div>
</div>
</div>
</div>
120,7 → 131,7
</div>
<div class="componentBody">
<div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="form-group clearfix">
<label class="col-md-2 control-label">Titulo de Parágrafo</label>
<label class="col-md-2 control-label">Titulo de Parágrafo</label>
<div class="col-md-10">
<input type="text" class="form-control" rows="10" ng-model="comp.title">
</div>
135,4 → 146,33
</div>
</div>
</div>
</script>
 
<!--
@section objeto com seccoes e componentes
@optional @chapter capitulo do documento para esta seccao para contcatenar às subsections
-->
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_DocumentSection">
<div class="sections">
<ul class="nav nav-tabs">
<li ng-model="section" class="separatorSectionNav"
ng-class="{ active : subSection.active}"
ng-repeat="subSection in section.sections">
<a ng-click="showSep(section,subSection)"> {{$chapter}}{{$index+1}} - {{subSection.title}}</a>
</li>
</ul>
<div ng-model="subSection"
ng-class="{ hidden: !subSection.active }"
ng-repeat="subSection in section.sections"
class="separatorSection clearfix">
<div ng-repeat="comp in subSection.components"
ng-include="class2id(comp)">
 
</div>
<div ng-if="subSection.sections"
ng-init="section=subSection;$chapter=$chapter+($index+1)+'.'"
ng-include="class2id(subSection)">
</div>
</div>
</div>
</script>
/branches/grupo3/impl/build.xml
67,6 → 67,7
<mkdir dir="${log.dir}"/>
<mkdir dir="${data.dir}"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${tmp.dir}"/>
<mkdir dir="${build.dir.classes}"/>
<mkdir dir="${build.dir.war}"/>
<mkdir dir="${build.dir.ws}"/>
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Pagina.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitDeliverable.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoCursoAfeto.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPergunta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SurveyStatsGraphic.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/GenericUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/EventGeneric.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupDocentesAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusiveDecisionHolderInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgram.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationSeparator.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupCursosAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Announcement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndMessageInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPoolThreadInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Survey.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RecordThesis.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionPossibleAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentInterface.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/PageSection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionCandidateAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPoolInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SruSourceCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/EventClass.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RecordJob.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGradesStatusEpoca.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Teacher.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/PageRepositoryFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgenservices.repositorydocuments.RepositoryFileProxy;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitSummary.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Record.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnRoleSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnTaskFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportDocenteFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
15,6 → 15,7
private Date saveDate;
private String importYear;
private boolean separatedTurmas;
private String reportSave;
private Course course;
 
public CourseYear() {
56,6 → 57,13
public void setSeparatedTurmas(boolean separatedTurmas) {
this.separatedTurmas = separatedTurmas;
}
public String getReportSave() {
return this.reportSave;
}
public void setReportSave(String reportSave) {
this.reportSave = reportSave;
}
public Course getCourse() {
return this.course;
}
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableDomainObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Blog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActor.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.Todos;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Assessment.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryFileVersion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/UserRoleConfig.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SessionObjectId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTask.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.Todos;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoUnidadeCurricularAfeta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusiveDecisionHolder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableBoolean.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonth.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Page.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseStudiesPlan.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoAlunoRequisitado.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Process.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/AppUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPool.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/PageText.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Questionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPerguntaEsforco.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioUnidade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndMessages.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.TargetActorType;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableString.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGateway.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYearId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableJson.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Group.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnit.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGradesEpocaAvaliacao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoTipologiaRequisitada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SigesUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAnnouncement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/ManagedIdentifierCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryCategory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RecordOther.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonthId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/DigitalDelivery.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/UserSession.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitEvaluation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportCursoFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroup.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorSelectorCondicionado.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgramPart2.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioCurso.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioResposta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioTipologia.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitBlog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Reminder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RecordEventOrganization.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RecordPaper.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusiveInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Configuration.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/PageContent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SessionObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.io.Serializable;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitBlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/JobParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableInteger.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcessInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/EventFormacoes.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/ComunicationFolder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Student.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableFloat.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDay.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnUserSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioTipologia.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariable.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.VariableType;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RecordProject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/PageExternalObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEvent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitTurma.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SurveyResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/ProcessEventFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/ProcessEvent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioUnidade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusive.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableLong.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowConnectorInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SruSource.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcess.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableJsonArray.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/ManagedIdentifier.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Course.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/PageExternalUrl.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitGrade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDayId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTask.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocument.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/User.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/EventUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Image.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapHistoryDimension.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Teste.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioAnswerEsforco.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryTarget.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorSelectorWithDomainObjectLoader.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUserAssociation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationDirectory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioHistoryDrive.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAssignement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowConnector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioRespostaRequisitada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEnd.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowObjectInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioCurso.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseSchool.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Job.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.io.Serializable;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnAbstractActorSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskScheduler.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/EventGenericRecord.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskSchedulerParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/CourseDepartment.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/MetaProcess.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/SurveyStructuralNode.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableDouble.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGrades.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/Seccao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo3/impl/gen/java/pt/estgp/estgweb/domain/UrlStat.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 13/dez/2017 16:54:32 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo5/impl/conf/WEB-INF/struts/struts-json-ws.xml
52,13 → 52,12
<action path="/secure/ws-teacher-list" forward="/user/jsonModel.do?dispatch=executeService&amp;serviceJson=wsListTeachers"/>
<action path="/secure/ws-coordinators-list" forward="/user/jsonModel.do?dispatch=executeService&amp;serviceJson=wsListCoordinators"/>
 
<!--SERVICOS ABERTOS POR ENQUANTO-->
<!--SERVICOS ABERTOS POR ENQUANTO--> <!--Erros porque Struts não aguento mais do que dois hops -->
<action path="/ws-units-report-list" forward="/json/coursesServices.do?dispatch=executeService&amp;serviceJson=getCourseUnitsEvaluations"/>
<action path="/ws-course-pedagogic-results-list" forward="/json/coursesServices.do?dispatch=executeService&amp;serviceJson=findPedagogicReport4Period"/>
<action path="/ws-units-dtp-stats" forward="/json/coursesServices.do?dispatch=executeService&amp;serviceJson=getCourseUnitDtpStats"/>
<action path="/ws-course-unit-plan-year" forward="/json/coursesServices.do?dispatch=executeService&amp;serviceJson=loadPlanYearForCourseUnitCode"/>
 
 
</action-mappings>
 
 
/branches/grupo6/impl/conf/WEB-INF/struts/struts-courses.xml
166,9 → 166,16
<action path="/user/loadCourseReportTools" forward="page.course.report.tools.load"/>
<action path="/user/editCourseReport" forward="page.course.report.edit"/>
 
<action path="/user/courseReport"
type="pt.estgp.estgweb.web.controllers.courses.CoursesServicesController"
name="WidgetModelForm"
scope="request"
parameter="dispatch"
validate="true"
input="page.widget.json.fail.validations">
</action>
 
 
 
</action-mappings>
 
</struts-config>
/branches/grupo6/impl/conf/WEB-INF/struts/struts-json-ws.xml
53,7 → 53,7
<action path="/secure/ws-coordinators-list" forward="/user/jsonModel.do?dispatch=executeService&amp;serviceJson=wsListCoordinators"/>
 
<!--SERVICOS ABERTOS POR ENQUANTO-->
<action path="/ws-units-report-list" forward="/json/coursesServices.do?dispatch=executeService&amp;serviceJson=getCourseUnitsEvaluations"/>-->
<action path="/ws-units-report-list" forward="/json/coursesServices.do?dispatch=executeService&amp;serviceJson=getCourseUnitsEvaluations"/>
<action path="/ws-course-pedagogic-results-list" forward="/json/coursesServices.do?dispatch=executeService&amp;serviceJson=findPedagogicReport4Period"/>
<action path="/ws-units-dtp-stats" forward="/json/coursesServices.do?dispatch=executeService&amp;serviceJson=getCourseUnitDtpStats"/>
<action path="/ws-course-unit-plan-year" forward="/json/coursesServices.do?dispatch=executeService&amp;serviceJson=loadPlanYearForCourseUnitCode"/>
/branches/grupo6/impl/conf/app.properties
8,6 → 8,7
##Em testes colocar true
test.control.var=@test.control.var@
 
 
import.year=201516
tmp.dir=@tmp.dir@
data.dir=@data.dir@
/branches/grupo6/impl/conf/directories/header.xml
1,5 → 1,4
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<directory fixedDirectoryId="true" menuKey="" targetRole="all" layoutRoot="" layout="" style="topMenus.xsl" label_es=""
label_en="" label="Menus de Top" id="header" xmlns="http://www.estgp.pt/baco/directory/">
<groupsDeclaration/>
/branches/grupo6/impl/conf/berserk/sd.xml
36,7 → 36,6
</service>
 
 
 
<!--WS SERVICES ONLY FOR MOBILE APPS NEED API KEY AUTHNETICATION AND CERTIFICATE-->
<service>
<name>WSAPILoginChallenge</name>
388,7 → 387,8
</service>
<service>
<name>LoadTargetMaxAnnouncements</name>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadTargetMaxAnnouncementsService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadTargetMaxAnnouncementsService
</implementationClass>
<description>Load an Announcement views to show in list</description>
<isTransactional>true</isTransactional>
<filterChains>
398,7 → 398,8
</service>
<service>
<name>LoadRoleTypeMaxAnnouncements</name>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadRoleTypeMaxAnnouncementsService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadRoleTypeMaxAnnouncementsService
</implementationClass>
<description>Load an Announcement views to show in list</description>
<isTransactional>true</isTransactional>
<filterChains>
408,7 → 409,8
</service>
<service>
<name>LoadTypeMaxAnnouncements</name>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadTypeMaxAnnouncementsService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadTypeMaxAnnouncementsService
</implementationClass>
<description>Load an Announcement views to show in list</description>
<isTransactional>true</isTransactional>
<filterChains>
418,7 → 420,8
</service>
<service>
<name>LoadTypeAnnouncements</name>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadTypeMaxAnnouncementsService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadTypeMaxAnnouncementsService
</implementationClass>
<description>Load an Announcement views to show in list</description>
<isTransactional>true</isTransactional>
<defaultMethod>load</defaultMethod>
429,7 → 432,8
</service>
<service>
<name>LoadTopFlashNewsIterate</name>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadTopFlashNewsIterateService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadTopFlashNewsIterateService
</implementationClass>
<description>Load an Announcement one flash News</description>
<isTransactional>true</isTransactional>
<filterChains>
678,7 → 682,6
</service>
 
 
 
<!--CommonServices-->
<service>
<name>CommonServicesSearch</name>
832,7 → 835,7
<chain name="OwnersEdit"/>
</filterChains>
</service>
 
<service>
<name>LoadUserById</name>
<implementationClass>pt.estgp.estgweb.services.profile.LoadUserByIdService</implementationClass>
903,7 → 906,6
</service>
 
 
 
<!--Reminders Services-->
<service>
<name>CreateReminder</name>
996,18 → 998,18
</filterChains>
</service>
 
<!--<service>
<name>DeleteCourseUnit</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.UpdateCourseUnitService</implementationClass>
<description>Update course unit objectives and program file</description>
<isTransactional>true</isTransactional>
<defaultMethod>delete</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
<chain name="Supers"/>
</filterChains>
</service>-->
<!--<service>
<name>DeleteCourseUnit</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.UpdateCourseUnitService</implementationClass>
<description>Update course unit objectives and program file</description>
<isTransactional>true</isTransactional>
<defaultMethod>delete</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
<chain name="Supers"/>
</filterChains>
</service>-->
<service>
<name>LoadCourseUnit</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitService</implementationClass>
1170,10 → 1172,10
</service>
 
 
 
<service>
<name>LoadCourseUnitsBySigesCodes</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitsBySigesCodesService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitsBySigesCodesService
</implementationClass>
<description>Load course old units</description>
<isTransactional>true</isTransactional>
<filterChains>
1184,7 → 1186,8
 
<service>
<name>LoadCourseUnitInEvaluationBySigesCodes</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitsBySigesCodesService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitsBySigesCodesService
</implementationClass>
<description>Load course old units</description>
<isTransactional>true</isTransactional>
<defaultMethod>loadUnitInEvaluation</defaultMethod>
1196,7 → 1199,8
 
<service>
<name>LoadCourseUnitsBySigesCodesSemestreLastYear</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitsBySigesCodesService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitsBySigesCodesService
</implementationClass>
<description>Load a unique unit by sigescode, semestre and course code</description>
<isTransactional>true</isTransactional>
<defaultMethod>loadLastYear</defaultMethod>
1208,7 → 1212,8
 
<service>
<name>LoadCourseUnitsBySigesCodesSemestreLastYearProgram</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitsBySigesCodesService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitsBySigesCodesService
</implementationClass>
<description>Load a unique unit by sigescode, semestre and course code</description>
<isTransactional>true</isTransactional>
<defaultMethod>loadLastYearProgram</defaultMethod>
1392,7 → 1397,8
</service>
<service>
<name>LoadTeachedUnitsCurrentYear</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadTeachedUnitsCurrentYearService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadTeachedUnitsCurrentYearService
</implementationClass>
<description>Load teacher units in currentYear</description>
<isTransactional>true</isTransactional>
<filterChains>
1417,7 → 1423,8
</service>
<service>
<name>LoadSubscribedUnitsCurrentYear</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsCurrentYearService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsCurrentYearService
</implementationClass>
<description>Load student units in current Year</description>
<isTransactional>true</isTransactional>
<filterChains>
1425,7 → 1432,8
</service>
<service>
<name>LoadSubscribedUnitsGivenYear</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsCurrentYearService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsCurrentYearService
</implementationClass>
<description>Load student units in current Year</description>
<isTransactional>true</isTransactional>
<defaultMethod>givenYear</defaultMethod>
1434,7 → 1442,8
</service>
<service>
<name>LoadSubscribedUnitsOldYears</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsOldYearsService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsOldYearsService
</implementationClass>
<description>Load student units in current Year</description>
<isTransactional>true</isTransactional>
<filterChains>
1442,7 → 1451,8
</service>
<service>
<name>LoadSubscribedUnitsAnnouncements</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsAnnouncementsService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsAnnouncementsService
</implementationClass>
<description>Load student units</description>
<isTransactional>true</isTransactional>
<filterChains>
1451,7 → 1461,8
</service>
<service>
<name>LoadTeachedUnitsAnnouncements</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadTeachedUnitsAnnouncementsService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadTeachedUnitsAnnouncementsService
</implementationClass>
<description>Load student units</description>
<isTransactional>true</isTransactional>
<filterChains>
1509,13 → 1520,12
</filterChains>
</service>
 
 
 
<!--CourseUnitAssignements Backups-->
<service>
<name>CreateCourseUnitDirPackage</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitDirPackageServiceBat</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitDirPackageServiceBat
</implementationClass>
<description>Create a zip file with Intranet folders</description>
<isTransactional>true</isTransactional>
<filterChains>
1526,7 → 1536,8
</service>
<service>
<name>CreateCourseUnitWorksBackup</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService
</implementationClass>
<description>Create a zip file with Intranet folders</description>
<isTransactional>true</isTransactional>
<defaultMethod>createSystemBackup</defaultMethod>
1538,7 → 1549,8
</service>
<service>
<name>CreateImportYearCourseUnitWorksBackup</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService
</implementationClass>
<description>Create a zip file with Intranet folders</description>
<isTransactional>true</isTransactional>
<defaultMethod>createSystemImportYearBackup</defaultMethod>
1550,7 → 1562,8
</service>
<service>
<name>CreateUserActualYearCourseUnitWorksBackup</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService
</implementationClass>
<description>Create a zip file with deliverables</description>
<isTransactional>true</isTransactional>
<defaultMethod>createActualYearBackup</defaultMethod>
1561,7 → 1574,8
</service>
<service>
<name>CreateUserImportYearCourseUnitWorksBackup</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService
</implementationClass>
<description>Create a zip file with deliverables</description>
<isTransactional>true</isTransactional>
<defaultMethod>createImportYearBackup</defaultMethod>
1572,7 → 1586,8
</service>
<service>
<name>CreateUserAllCourseUnitWorksBackup</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService
</implementationClass>
<description>Create a zip file with Intranet folders</description>
<isTransactional>true</isTransactional>
<defaultMethod>createBackup</defaultMethod>
1583,7 → 1598,8
</service>
<service>
<name>CreateUserAllCourseUnitProgramsBackup</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.CreateCourseUnitWorksBackupService
</implementationClass>
<description>Create a zip file with Intranet folders with Programs only</description>
<isTransactional>true</isTransactional>
<defaultMethod>createProgramsBackup</defaultMethod>
1592,11 → 1608,8
<chain name="Session"/>
</filterChains>
</service>
 
 
 
 
<!--COURSES-->
<service>
<name>LoadCourseByCode</name>
1763,7 → 1776,6
</service>
 
 
 
<service>
<name>UpdateCourseSchool</name>
<implementationClass>pt.estgp.estgweb.services.courses.CoursesService</implementationClass>
1802,7 → 1814,6
</service>
 
 
 
<service>
<name>SubmitCourse</name>
<implementationClass>pt.estgp.estgweb.services.courses.CoursesService</implementationClass>
1855,7 → 1866,7
<chain name="Logger"/>
</filterChains>
</service>
<service>
<service>
<name>LoadCoursesImportYearByType</name>
<implementationClass>pt.estgp.estgweb.services.courses.CoursesService</implementationClass>
<description>Load All Courses</description>
1921,7 → 1932,6
</service>
 
 
 
<!--Administratives-->
<service>
<name>CreateCourseUnitAdmin</name>
2024,10 → 2034,6
</service>
 
 
 
 
 
 
<!--Managed Identifiers-->
<service>
<name>managedIdentiferLoadCollections</name>
2191,8 → 2197,6
<!---->
 
 
 
 
<!--SRU Services-->
<service>
<name>LoadSruSourceById</name>
2367,7 → 2371,7
</filterChains>
</service>
<service>
<name>GenerateSurveyStatsCsv</name>
<name>GenerateSurveyStatsCsv</name>
<implementationClass>pt.estgp.estgweb.services.surveys.GenerateSurveyStatsCsvService</implementationClass>
<description>Generate all survey stats on a csv file</description>
<isTransactional>true</isTransactional>
2402,8 → 2406,7
<!-- Duarte Santos -->
 
 
 
<!--Filipe Matos-->
<!--Filipe Matos-->
<!--Assessments-->
<service>
<name>CreateEditAssessment</name>
2605,10 → 2608,10
</service>
 
 
 
<service>
<name>LoadUnitOtherYearsWithProgram</name>
<implementationClass>pt.estgp.estgweb.services.sigesimports.SincronizeLastYearCourseUnitProgramsService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.sigesimports.SincronizeLastYearCourseUnitProgramsService
</implementationClass>
<description>Loads units with program from diferent year parameters (Long unitId)</description>
<isTransactional>true</isTransactional>
<defaultMethod>findOtherUnitsWithProgram</defaultMethod>
2621,8 → 2624,10
 
<service>
<name>CloneCourseUnitProgram</name>
<implementationClass>pt.estgp.estgweb.services.sigesimports.SincronizeLastYearCourseUnitProgramsService</implementationClass>
<description>Clone unit program from a unit into another unit parameters (long fromUnitId, long intoUnitId) </description>
<implementationClass>pt.estgp.estgweb.services.sigesimports.SincronizeLastYearCourseUnitProgramsService
</implementationClass>
<description>Clone unit program from a unit into another unit parameters (long fromUnitId, long intoUnitId)
</description>
<isTransactional>true</isTransactional>
<defaultMethod>cloneProgram</defaultMethod>
<filterChains>
2633,12 → 2638,11
</service>
 
 
 
<!--PROCESSOS-->
<service>
<name>CreateNewProcess</name>
<implementationClass>pt.estgp.estgweb.services.processes.ProcessesService</implementationClass>
<description>Create a new instance of Process and transitates it </description>
<description>Create a new instance of Process and transitates it</description>
<isTransactional>true</isTransactional>
<defaultMethod>submitNew</defaultMethod>
<filterChains>
2828,7 → 2832,6
</service>
 
 
 
<service>
<name>TryDeleteCourseUnitService</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.DeleteCourseUnitService</implementationClass>
2947,7 → 2950,6
</service>
 
 
 
<service>
<name>CreateRoleCourseComission</name>
<implementationClass>pt.estgp.estgweb.services.courses.CoursesService</implementationClass>
3084,7 → 3086,8
 
<service>
<name>setAnoSemestre</name>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService
</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>setAnoSemestre</defaultMethod>
3221,10 → 3224,10
</service>
 
 
 
<service>
<name>RunJobSelectCourses</name>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService
</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>runJobSelectCourses</defaultMethod>
3239,7 → 3242,8
 
<service>
<name>RunJobAssignAnswers</name>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.AssignAnswersJobService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.AssignAnswersJobService
</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>runJobAssignAnswers</defaultMethod>
3253,7 → 3257,8
 
<service>
<name>QuestionarioRevertAllAssignmentsPedagogico</name>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService
</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>revertAllAssignments</defaultMethod>
3268,7 → 3273,8
 
<service>
<name>QuestionarioUpdateTipologiasPedagogico</name>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService
</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>updateTipologiasPedagogico</defaultMethod>
3284,7 → 3290,8
 
<service>
<name>QuestionarioUpdateCheckVarPedagogico</name>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService
</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>updateCheckVarPedagogico</defaultMethod>
3299,7 → 3306,8
 
<service>
<name>QuestionarioUpdateCheckVarExcludedPedagogico</name>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService
</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>updateCheckVarExcludedPedagogico</defaultMethod>
3393,11 → 3401,9
</service>
 
 
 
<!-- REPORTS DE QUESTIONARIOS-->
 
 
 
<service>
<name>SaveReportGroup</name>
<implementationClass>pt.estgp.estgweb.services.questionarios.QuestionariosReportsService</implementationClass>
3465,14 → 3471,13
</service>
 
 
 
 
<!--REPOSITORY DOCUMENTS-->
 
 
<service>
<name>SaveRepositoryDocument</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Salva um repository document no repositorio digital de documentos</description>
<isTransactional>true</isTransactional>
<defaultMethod>saveRepositoryDocument</defaultMethod>
3484,7 → 3489,8
</service>
<service>
<name>OpenRepositoryCollection</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Serviço publico de abertura de Sub Colecções</description>
<isTransactional>true</isTransactional>
<defaultMethod>openRepositoryCollection</defaultMethod>
3495,7 → 3501,8
</service>
<service>
<name>OpenRepositoryCollectionDocuments</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Serviço publico de abertura de documentos de uma Colecção</description>
<isTransactional>true</isTransactional>
<defaultMethod>openRepositoryCollectionDocuments</defaultMethod>
3506,7 → 3513,8
</service>
<service>
<name>AddRepositoryCollection</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Salva um repository document no repositorio digital de documentos</description>
<isTransactional>true</isTransactional>
<defaultMethod>addRepositoryCollection</defaultMethod>
3518,7 → 3526,8
</service>
<service>
<name>ChangeParentRepositoryDocumentCollection</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Move uma colecção na arvore para um novo Pai</description>
<isTransactional>true</isTransactional>
<defaultMethod>changeParentRepositoryDocumentCollection</defaultMethod>
3530,7 → 3539,8
</service>
<service>
<name>DeleteRepositoryDocumentCollection</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Apaga uma colecção do repositório digital, caso esta esteja vazia</description>
<isTransactional>true</isTransactional>
<defaultMethod>deleteCollection</defaultMethod>
3542,7 → 3552,8
</service>
<service>
<name>ChangeDocumentCollection</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Move uma colecção na arvore para um novo Pai</description>
<isTransactional>true</isTransactional>
<defaultMethod>changeDocumentCollection</defaultMethod>
3554,7 → 3565,8
</service>
<service>
<name>UpdateRepositoryCollection</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Salva um repository colection no repositorio digital de documentos</description>
<isTransactional>true</isTransactional>
<defaultMethod>updateRepositoryCollection</defaultMethod>
3568,7 → 3580,8
 
<service>
<name>RepositoryDocumentsAddManagerToCollection</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Adiciona um utilizador como Gestor da Colecção do Repositorio digital</description>
<isTransactional>true</isTransactional>
<defaultMethod>addManagerToCollection</defaultMethod>
3580,7 → 3593,8
</service>
<service>
<name>RepositoryDocumentsRemoveManagerInCollection</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Remove um utilizador de Gestor da Colecção do Repositorio digital</description>
<isTransactional>true</isTransactional>
<defaultMethod>removeManagerInCollection</defaultMethod>
3592,10 → 3606,10
</service>
 
 
 
<service>
<name>AddRepositoryInterface</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Salva um repository interface no repositorio digital de documentos</description>
<isTransactional>true</isTransactional>
<defaultMethod>addRepositoryInterface</defaultMethod>
3607,7 → 3621,8
</service>
<service>
<name>RemoveRepositoryInterface</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Salva um repository interface no repositorio digital de documentos</description>
<isTransactional>true</isTransactional>
<defaultMethod>removeRepositoryInterface</defaultMethod>
3619,7 → 3634,8
</service>
<service>
<name>CheckRepositoryDocumentExistence</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Salva um repository interface no repositorio digital de documentos</description>
<isTransactional>true</isTransactional>
<defaultMethod>checkRepositoryDocumentExistence</defaultMethod>
3630,7 → 3646,8
</service>
<service>
<name>UpdateRepositoryInterface</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Salva um repository interface no repositorio digital de documentos</description>
<isTransactional>true</isTransactional>
<defaultMethod>updateRepositoryInterface</defaultMethod>
3643,7 → 3660,8
 
<service>
<name>SaveRepositoryInterfaceData</name>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService
</implementationClass>
<description>Salva um repository interface no repositorio digital de documentos</description>
<isTransactional>true</isTransactional>
<defaultMethod>saveRepositoryInterfaceData</defaultMethod>
3655,12 → 3673,12
</service>
 
 
 
<!-- Separators-->
 
<service>
<name>NewConfigurationSeparator</name>
<implementationClass>pt.estgp.estgweb.services.configuration.ConfigurationSeparatorsService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.configuration.ConfigurationSeparatorsService
</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>newConfigurationSeparator</defaultMethod>
3672,7 → 3690,8
</service>
<service>
<name>UpdateConfigurationSeparator</name>
<implementationClass>pt.estgp.estgweb.services.configuration.ConfigurationSeparatorsService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.configuration.ConfigurationSeparatorsService
</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>updateConfigurationSeparator</defaultMethod>
3684,7 → 3703,8
</service>
<service>
<name>RemoveConfigurationSeparator</name>
<implementationClass>pt.estgp.estgweb.services.configuration.ConfigurationSeparatorsService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.configuration.ConfigurationSeparatorsService
</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>removeConfigurationSeparator</defaultMethod>
3696,7 → 3716,6
</service>
 
 
 
<!-- FUSCO VIRTUAL FILE SYSTEM -->
 
<service>
3898,14 → 3917,11
</service>
 
 
 
 
<!--/****************************************************************************/
/* COURSE REPORTS
/****************************************************************************/-->
 
 
 
<service>
<name>CreateDtpStatsTable4Course</name>
<implementationClass>pt.estgp.estgweb.services.courses.CourseReportServices</implementationClass>
3961,7 → 3977,8
<description>
@code codigo do curso
@year codigo do ano
Carrega todas as unidades em classes CourseUnitSection onde consta informação do professor, codigo, ano, semestre
Carrega todas as unidades em classes CourseUnitSection onde consta informação do professor, codigo, ano,
semestre
e consta ainda o CourseUnitEvaluation
devolve um json object com um elemento evaluation contendo um JSONArray como string
O conteudo do array são
3996,7 → 4013,8
<description>
@code codigo do curso
@year codigo do ano
Carrega todas as estatisticas unidades em classes CourseUnitDtpStat onde consta informação do codigo, nome, semestre e um booleano por cada propriedade da unidade
Carrega todas as estatisticas unidades em classes CourseUnitDtpStat onde consta informação do codigo, nome,
semestre e um booleano por cada propriedade da unidade
devolve um json object com um elemento evaluation contendo um JSONArray como string
O conteudo do array são
classes CourseUnitDtpStat está pronta a serializar em JSON implementa a JSONView
4027,9 → 4045,10
 
 
<!-- SERVICOS DE GERACAO DE RELATORIO DE CURSO -->
 
 
<service>
<name>CourseReportGenerateGlobalLearningResultsChartImg</name>
 
<implementationClass>pt.estgp.estgweb.services.courses.CourseReportServices</implementationClass>
<description>
@reportCourseDocument documento course report em json
4046,4 → 4065,40
</filterChains>
</service>
 
<!-- SEGUNDO GRÁFICO -->
<service>
<name>CourseReportGenerateGlobalLearningResultsChartYearImg</name>
<implementationClass>pt.estgp.estgweb.services.courses.CourseReportServices</implementationClass>
<description>
@reportCourseDocument documento course report em json
Serviço de suporte para gerar um grafico de aproveitamento por notas e ano curricular
Coloca o grafico no report documento
e salva o documento no curso
Devolve uma classe RepositoryFile4JsonView serializada em JSON
</description>
<isTransactional>true</isTransactional>
<defaultMethod>generateGlobalLearningResultsChartYearImg</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
 
<service>
<name>CourseReportSave</name>
<implementationClass>pt.estgp.estgweb.services.courses.CourseReportServices</implementationClass>
<description>
@reportCourseDocument documento course report em json
 
</description>
<isTransactional>true</isTransactional>
<defaultMethod>save</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
 
</serviceDefinitions>
/branches/grupo6/impl/src/java/pt/estgp/estgweb/utils/documentBuilder/ExtensibleDocObject.java
1,7 → 1,12
package pt.estgp.estgweb.utils.documentBuilder;
 
import com.owlike.genson.Genson;
import com.owlike.genson.GensonBuilder;
import org.json.JSONException;
import org.json.JSONObject;
import pt.estgp.estgweb.utils.ClassUtils;
 
import java.util.Date;
import java.util.List;
 
/**
9,6 → 14,42
*/
public class ExtensibleDocObject
{
 
 
private static Genson gensonGenericLoad;
static{
gensonGenericLoad = new GensonBuilder()
.useMethods(true)
.useFields(true)
.useRuntimeType(true) //para ignorar a CGLIB do courseUnitEvaluation
.useClassMetadata(true)
.useDateAsTimestamp(true)
.exclude(Class.class)
.exclude(Date.class)
.exclude(java.sql.Timestamp.class)
.exclude(java.sql.Date.class)
.create();
}
/**
* Generic Json Object only for local class methods
* @return
* @throws org.json.JSONException
*/
public JSONObject toJsonObject() throws JSONException
{
return new JSONObject(toJson());
}
 
/**
* * Generic Json Object only for local class methods
* @return
* @throws java.io.IOException
*/
public String toJson()
{
return gensonGenericLoad.serialize(this);
}
 
public List<String> getAllSuperClasses()
{
return ClassUtils.getAllSuperClasses(this.getClass());
/branches/grupo6/impl/src/java/pt/estgp/estgweb/utils/documentBuilder/DocumentSection.java
10,7 → 10,7
{
String title = "";
 
List<DocComponent> components = new ArrayList<DocComponent>();
ArrayList<DocComponent> components = new ArrayList<DocComponent>();
 
public DocumentSection() {
}
32,7 → 32,7
return components;
}
 
public void setComponents(List<DocComponent> components) {
public void setComponents(ArrayList<DocComponent> components) {
this.components = components;
}
 
/branches/grupo6/impl/src/java/pt/estgp/estgweb/utils/documentBuilder/SectionContainer.java
1,20 → 1,19
package pt.estgp.estgweb.utils.documentBuilder;
 
import java.util.ArrayList;
import java.util.List;
 
/**
* Created by jorgemachado on 07/11/17.
*/
public class SectionContainer extends ExtensibleDocObject
{
List<DocumentSection> sections = new ArrayList<DocumentSection>();
ArrayList<DocumentSection> sections = new ArrayList<DocumentSection>();
 
public List<DocumentSection> getSections() {
public ArrayList<DocumentSection> getSections() {
return sections;
}
 
public void setSections(List<DocumentSection> sections) {
public void setSections(ArrayList<DocumentSection> sections) {
this.sections = sections;
}
 
/branches/grupo6/impl/src/java/pt/estgp/estgweb/services/courses/CourseReportServices.java
38,41 → 38,30
/**
* Created by jorgemachado on 14/10/17.
*/
public class CourseReportServices implements IService
{
public class CourseReportServices implements IService {
private static final Logger logger = Logger.getLogger(CourseReportServices.class);
 
 
 
 
 
 
 
/****************************************************************************/
/* SERVICOS CORE DOS REPORTS
/****************************************************************************/
 
 
 
 
/**
*
* @param courseCode
* @param year
* @return
* @throws IOException
* @throws JSONException
*/
public CourseReportDocument createNewCourseReportDocument(String courseCode,String year) throws IOException, JSONException
{
public CourseReportDocument createNewCourseReportDocument(String courseCode, String year) throws IOException, JSONException {
 
Course course = DaoFactory.getCourseDaoImpl().findCourseByCode(courseCode);
 
CourseReportDocument reportCourseDocument = new CourseReportDocument();
reportCourseDocument.init(course,year);
reportCourseDocument.init(course, year);
 
 
 
//FIRST SERVICE TO CALL TO OBTAIN UNITS AND EVALUATIONS
//THIS IS THE BASE FOR THE REMAIN SERVICE CALLS
List<DocumentSection> courseUnitSections = updateCleanCourseUnitSections(courseCode, year, reportCourseDocument);
101,8 → 90,8
QuestionariosDataTableComponent dataTableComponentS2 = (QuestionariosDataTableComponent) surveysResultsSection.getComponents().get(1);
 
QuestionariosReportsService questionariosReportsService = new QuestionariosReportsService();
String jsonDataTableS1 = questionariosReportsService.loadReportUnidadesSalasJson(courseCode,year,"S1");
String jsonDataTableS2 = questionariosReportsService.loadReportUnidadesSalasJson(courseCode,year,"S2");
String jsonDataTableS1 = questionariosReportsService.loadReportUnidadesSalasJson(courseCode, year, "S1");
String jsonDataTableS2 = questionariosReportsService.loadReportUnidadesSalasJson(courseCode, year, "S2");
DataTable dataTableS1 = DataTable.fromJson(jsonDataTableS1);
DataTable dataTableS2 = DataTable.fromJson(jsonDataTableS2);
dataTableComponentS1.setDataTable(dataTableS1);
112,36 → 101,33
 
/**
* Este serviço atualiza a tabela de resultados de aprendizagem com base nas courseunitssections
*
* @param reportCourseDocument
* @return UnitsLearningResultsTable
*/
public UnitsLearningResultsTable updateCleanLearningResultsFromCourseUnitsSections(CourseReportDocument reportCourseDocument)
{
public UnitsLearningResultsTable updateCleanLearningResultsFromCourseUnitsSections(CourseReportDocument reportCourseDocument) {
CourseUnitsReportsSection unitReportsSection = (CourseUnitsReportsSection) reportCourseDocument.findDocumentSection(CourseUnitsReportsSection.class);
 
LearningResultsSection learningResultsSection = (LearningResultsSection) reportCourseDocument.findDocumentSection(LearningResultsSection.class);
UnitsLearningResultsTable learningResultsTable = (UnitsLearningResultsTable) learningResultsSection.findDocComponent(UnitsLearningResultsTable.class);
 
Map<Integer,UnitsLearningResultYear> anosPlano = new HashMap<Integer, UnitsLearningResultYear>();
Map<String,UnitsLearningResultSemester> anoSemestre = new HashMap<String, UnitsLearningResultSemester>();
for(DocumentSection subSection : unitReportsSection.getSections())
{
Map<Integer, UnitsLearningResultYear> anosPlano = new HashMap<Integer, UnitsLearningResultYear>();
Map<String, UnitsLearningResultSemester> anoSemestre = new HashMap<String, UnitsLearningResultSemester>();
for (DocumentSection subSection : unitReportsSection.getSections()) {
CourseUnitSection unitSection = (CourseUnitSection) subSection;
int anoPlano = unitSection.getAnoPlano();
UnitsLearningResultYear anoFound = anosPlano.get(anoPlano);
if(anoFound == null)
{
if (anoFound == null) {
anoFound = new UnitsLearningResultYear(anoPlano);
anosPlano.put(anoPlano,anoFound);
anosPlano.put(anoPlano, anoFound);
learningResultsTable.getYears().add(anoFound);
}
 
String semestreCode = ((CourseUnitSection) subSection).getPeriod();
UnitsLearningResultSemester semestreFound = anoSemestre.get(anoPlano + "$" + semestreCode);
if(semestreFound == null)
{
if (semestreFound == null) {
semestreFound = new UnitsLearningResultSemester(semestreCode);
anoSemestre.put(anoPlano + "$" + semestreCode,semestreFound);
anoSemestre.put(anoPlano + "$" + semestreCode, semestreFound);
anoFound.getSemesters().add(semestreFound);
}
 
149,8 → 135,7
uc.setPeriod(semestreCode);
uc.setName(unitSection.getName());
uc.setSigesCode(unitSection.getSigesCode());
if(unitSection.getCourseUnitEvaluation() != null)
{
if (unitSection.getCourseUnitEvaluation() != null) {
 
uc.setCumprimentoProgramaPercent(unitSection.getCourseUnitEvaluation().getCumprimentoProgramaPercent());
uc.setAlunosInscritos(unitSection.getCourseUnitEvaluation().getNumAlunosInscritos());
162,15 → 147,13
uc.setAprovados(unitSection.getCourseUnitEvaluation().getNumAlunosAprovTotal());
uc.setReprovados(unitSection.getCourseUnitEvaluation().getNumAlunosInscritos() - unitSection.getCourseUnitEvaluation().getNumAlunosAprovTotal() - unitSection.getCourseUnitEvaluation().getNumAlunosSemElementosAvaliacao());
 
if(uc.getAlunosInscritos() > 0)
{
if (uc.getAlunosInscritos() > 0) {
uc.setAprovadosPercent((float) (uc.getAprovados() * 100.0 / uc.getAlunosInscritos()));
uc.setReprovadosPercent((float) (uc.getReprovados() * 100.0 / uc.getAlunosInscritos()));
uc.setSemElementosPercent((float) (uc.getSemElementos() * 100.0 / uc.getAlunosInscritos()));
}
 
if(uc.getAprovados() > 0)
{
if (uc.getAprovados() > 0) {
uc.setAprovados1013Percent((float) (uc.getAprovados1013() * 100.0 / uc.getAprovados()));
uc.setAprovados1416Percent((float) (uc.getAprovados1416() * 100.0 / uc.getAprovados()));
uc.setAprovados1720Percent((float) (uc.getAprovados1720() * 100.0 / uc.getAprovados()));
186,9 → 169,8
}
});
 
for(UnitsLearningResultYear learningYearLine: learningResultsTable.getYears())
{
Collections.sort(learningYearLine.getSemesters(),new Comparator<UnitsLearningResultSemester>() {
for (UnitsLearningResultYear learningYearLine : learningResultsTable.getYears()) {
Collections.sort(learningYearLine.getSemesters(), new Comparator<UnitsLearningResultSemester>() {
@Override
public int compare(UnitsLearningResultSemester o1, UnitsLearningResultSemester o2) {
return o1.getSemestre().compareTo(o2.getSemestre());
206,8 → 188,7
float totalAprovados1013PercentGlobal = 0;
float totalAprovados1416PercentGlobal = 0;
float totalAprovados1720PercentGlobal = 0;
for(UnitsLearningResultYear learningYearLine: learningResultsTable.getYears())
{
for (UnitsLearningResultYear learningYearLine : learningResultsTable.getYears()) {
float totalCumProgPercentAno = 0;
float totalInscritosAno = 0;
float totalReprovadosPercentAno = 0;
217,8 → 198,7
float totalAprovados1416PercentAno = 0;
float totalAprovados1720PercentAno = 0;
 
for(UnitsLearningResultSemester semester: learningYearLine.getSemesters())
{
for (UnitsLearningResultSemester semester : learningYearLine.getSemesters()) {
float totalCumProgPercent = 0;
float totalInscritos = 0;
float totalReprovadosPercent = 0;
227,8 → 207,7
float totalAprovados1013Percent = 0;
float totalAprovados1416Percent = 0;
float totalAprovados1720Percent = 0;
for(UnitsLearningResultUc uc: semester.getUcs())
{
for (UnitsLearningResultUc uc : semester.getUcs()) {
totalCumProgPercent += uc.getCumprimentoProgramaPercent();
totalInscritos += uc.getAlunosInscritos();
totalAprovadosPercent += uc.getAprovadosPercent();
239,16 → 218,15
totalAprovados1720Percent += uc.getAprovados1720();
}
//media de inscritos
if(semester.getUcs().size() > 0)
{
semester.setCumprimentoProgramaPercent( totalCumProgPercent / ((float)semester.getUcs().size()));
semester.setAlunosInscritos( totalInscritos / ((float)semester.getUcs().size()));
semester.setAprovadosPercent( totalAprovadosPercent / ((float)semester.getUcs().size()));
semester.setReprovadosPercent( totalReprovadosPercent / ((float)semester.getUcs().size()));
semester.setSemElementosPercent( totalSemElementosPercent / ((float)semester.getUcs().size()));
semester.setAprovados1013Percent( totalAprovados1013Percent / ((float)semester.getUcs().size()));
semester.setAprovados1416Percent( totalAprovados1416Percent / ((float)semester.getUcs().size()));
semester.setAprovados1720Percent( totalAprovados1720Percent / ((float)semester.getUcs().size()));
if (semester.getUcs().size() > 0) {
semester.setCumprimentoProgramaPercent(totalCumProgPercent / ((float) semester.getUcs().size()));
semester.setAlunosInscritos(totalInscritos / ((float) semester.getUcs().size()));
semester.setAprovadosPercent(totalAprovadosPercent / ((float) semester.getUcs().size()));
semester.setReprovadosPercent(totalReprovadosPercent / ((float) semester.getUcs().size()));
semester.setSemElementosPercent(totalSemElementosPercent / ((float) semester.getUcs().size()));
semester.setAprovados1013Percent(totalAprovados1013Percent / ((float) semester.getUcs().size()));
semester.setAprovados1416Percent(totalAprovados1416Percent / ((float) semester.getUcs().size()));
semester.setAprovados1720Percent(totalAprovados1720Percent / ((float) semester.getUcs().size()));
}
totalCumProgPercentAno += semester.getCumprimentoProgramaPercent();
totalInscritosAno += semester.getAlunosInscritos();
260,16 → 238,15
totalAprovados1720PercentAno += semester.getAprovados1720();
}
//media de inscritos
if(learningYearLine.getSemesters().size() > 0)
{
learningYearLine.setCumprimentoProgramaPercent( totalCumProgPercentAno / ((float)learningYearLine.getSemesters().size()));
learningYearLine.setAlunosInscritos( totalInscritosAno / ((float)learningYearLine.getSemesters().size()));
learningYearLine.setAprovadosPercent( totalAprovadosPercentAno / ((float)learningYearLine.getSemesters().size()));
learningYearLine.setReprovadosPercent( totalReprovadosPercentAno / ((float)learningYearLine.getSemesters().size()));
learningYearLine.setSemElementosPercent( totalSemElementosPercentAno / ((float)learningYearLine.getSemesters().size()));
learningYearLine.setAprovados1013Percent( totalAprovados1013PercentAno / ((float)learningYearLine.getSemesters().size()));
learningYearLine.setAprovados1416Percent( totalAprovados1416PercentAno / ((float)learningYearLine.getSemesters().size()));
learningYearLine.setAprovados1720Percent( totalAprovados1720PercentAno / ((float)learningYearLine.getSemesters().size()));
if (learningYearLine.getSemesters().size() > 0) {
learningYearLine.setCumprimentoProgramaPercent(totalCumProgPercentAno / ((float) learningYearLine.getSemesters().size()));
learningYearLine.setAlunosInscritos(totalInscritosAno / ((float) learningYearLine.getSemesters().size()));
learningYearLine.setAprovadosPercent(totalAprovadosPercentAno / ((float) learningYearLine.getSemesters().size()));
learningYearLine.setReprovadosPercent(totalReprovadosPercentAno / ((float) learningYearLine.getSemesters().size()));
learningYearLine.setSemElementosPercent(totalSemElementosPercentAno / ((float) learningYearLine.getSemesters().size()));
learningYearLine.setAprovados1013Percent(totalAprovados1013PercentAno / ((float) learningYearLine.getSemesters().size()));
learningYearLine.setAprovados1416Percent(totalAprovados1416PercentAno / ((float) learningYearLine.getSemesters().size()));
learningYearLine.setAprovados1720Percent(totalAprovados1720PercentAno / ((float) learningYearLine.getSemesters().size()));
}
totalCumProgPercentGlobal += learningYearLine.getCumprimentoProgramaPercent();
totalInscritosGlobal += learningYearLine.getAlunosInscritos();
281,16 → 258,15
totalAprovados1720PercentGlobal += learningYearLine.getAprovados1720();
}
 
if(learningResultsTable.getYears().size() > 0)
{
learningResultsTable.setCumprimentoProgramaPercent( totalCumProgPercentGlobal / ((float)learningResultsTable.getYears().size()));
learningResultsTable.setAlunosInscritos( totalInscritosGlobal / (learningResultsTable.getYears().size()));
learningResultsTable.setAprovadosPercent( totalAprovadosPercentGlobal / ((float)learningResultsTable.getYears().size()));
learningResultsTable.setReprovadosPercent( totalReprovadosPercentGlobal / ((float)learningResultsTable.getYears().size()));
learningResultsTable.setSemElementosPercent( totalSemElementosPercentGlobal / ((float)learningResultsTable.getYears().size()));
learningResultsTable.setAprovados1013Percent( totalAprovados1013PercentGlobal / ((float)learningResultsTable.getYears().size()));
learningResultsTable.setAprovados1416Percent( totalAprovados1416PercentGlobal / ((float)learningResultsTable.getYears().size()));
learningResultsTable.setAprovados1720Percent( totalAprovados1720PercentGlobal / ((float)learningResultsTable.getYears().size()));
if (learningResultsTable.getYears().size() > 0) {
learningResultsTable.setCumprimentoProgramaPercent(totalCumProgPercentGlobal / ((float) learningResultsTable.getYears().size()));
learningResultsTable.setAlunosInscritos(totalInscritosGlobal / (learningResultsTable.getYears().size()));
learningResultsTable.setAprovadosPercent(totalAprovadosPercentGlobal / ((float) learningResultsTable.getYears().size()));
learningResultsTable.setReprovadosPercent(totalReprovadosPercentGlobal / ((float) learningResultsTable.getYears().size()));
learningResultsTable.setSemElementosPercent(totalSemElementosPercentGlobal / ((float) learningResultsTable.getYears().size()));
learningResultsTable.setAprovados1013Percent(totalAprovados1013PercentGlobal / ((float) learningResultsTable.getYears().size()));
learningResultsTable.setAprovados1416Percent(totalAprovados1416PercentGlobal / ((float) learningResultsTable.getYears().size()));
learningResultsTable.setAprovados1720Percent(totalAprovados1720PercentGlobal / ((float) learningResultsTable.getYears().size()));
}
return learningResultsTable;
}
307,8 → 283,7
* @throws IOException
* @throws JSONException
*/
public UnitsDtpTable updateDtpStatsTable4Course(CourseReportDocument reportCourseDocument, String courseCode, String year) throws IOException, JSONException
{
public UnitsDtpTable updateDtpStatsTable4Course(CourseReportDocument reportCourseDocument, String courseCode, String year) throws IOException, JSONException {
 
ReportsUcSummarySection reportsUcSummarySection = (ReportsUcSummarySection) reportCourseDocument.findDocumentSection(ReportsUcSummarySection.class);
UnitsDtpTable unitsDtpTable = (UnitsDtpTable) reportsUcSummarySection.findDocComponent(UnitsDtpTable.class);
320,29 → 295,24
List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadByCourseSiges(courseCode, year);
 
CourseUnitDtpStat[] statsLoaded;
try
{
String json = loadCourseUnitDtpStats(courseCode,year);
try {
String json = loadCourseUnitDtpStats(courseCode, year);
JSONObject response = new JSONObject(json);
JSONArray stats = (JSONArray) response.get("dtpstats");
statsLoaded = CourseUnitDtpStat.fromJson(stats);
}
catch(Exception e)
{
logger.error(e,e);
} catch (Exception e) {
logger.error(e, e);
statsLoaded = new CourseUnitDtpStat[0];
}
 
 
for(CourseUnit cu :units)
{
for (CourseUnit cu : units) {
CourseUnitDtpStat statFound = CourseReportUtils.findCourseUnitDtpStat(statsLoaded, (CourseUnitImpl) cu);
if(statFound == null)
{
if (statFound == null) {
statFound = CourseReportUtils.createCourseUnitDtpStat(cu);
}
 
if(((CourseUnitImpl) cu).getSemestreAbsolutoS1S2().equals("S1"))
if (((CourseUnitImpl) cu).getSemestreAbsolutoS1S2().equals("S1"))
semester1.getCourseUnitDtpStats().add(statFound);
else
semester2.getCourseUnitDtpStats().add(statFound);
355,12 → 325,13
/**
* Update course unit sections with reports, this method dows not change learning results table
* values from learning results stays in unit but does not change learning results Table
*
* @param courseCode
* @param year
* @param reportCourseDocument
* @return a list of CourseUnitSection
* @throws JSONException
* @throws IOException
* @return a list of CourseUnitSection
*/
public List<DocumentSection> updateCleanCourseUnitSections(String courseCode, String year, CourseReportDocument reportCourseDocument) throws JSONException, IOException {
 
368,30 → 339,25
 
CourseUnitsReportsSection unitReportsSection = (CourseUnitsReportsSection) reportCourseDocument.findDocumentSection(CourseUnitsReportsSection.class);
CourseUnitSection[] courseUnitSections = null;
try{
String courseUnitSectionsJson = loadCourseEvaluationSections(courseCode,year);
try {
String courseUnitSectionsJson = loadCourseEvaluationSections(courseCode, year);
JSONObject object = new JSONObject(courseUnitSectionsJson);
JSONArray evaluations = object.getJSONArray("evaluations");
courseUnitSections = CourseUnitSection.fromJsonArray(evaluations.toString());
}
catch(Exception e)
{
logger.error(e,e);
} catch (Exception e) {
logger.error(e, e);
courseUnitSections = new CourseUnitSection[0];
}
 
 
ArrayList<DocumentSection> subSections = new ArrayList<DocumentSection>();
unitReportsSection.setSections(subSections);
for(CourseUnit cu :units)
{
for (CourseUnit cu : units) {
CourseUnitSection sectionFound = CourseReportUtils.findCourseUnitSection(courseUnitSections, (CourseUnitImpl) cu);
if(sectionFound == null)
{
if (sectionFound == null) {
sectionFound = CourseReportUtils.createCourseUnitEvaluationSection((CourseUnitImpl) cu);
}
if(sectionFound.getCourseUnitEvaluation() == null)
{
if (sectionFound.getCourseUnitEvaluation() == null) {
CourseUnitEvaluationImpl courseUnitEvaluation = DomainObjectFactory.createCourseUnitEvaluationImpl();
courseUnitEvaluation.setAutoGeneratedCourseReport(true);
DaoFactory.getCourseUnitEvaluationDaoImpl().save(courseUnitEvaluation);
404,19 → 370,20
}
 
 
 
/**
* Este servico gera um grafico com a taxa global de aproveitamento e grava-o no repositorio digital
* devolvendo o respectivo RepositoryFile4JsonView em json para poder ser anexado ao objecto imagem do
* widget do grafico
*
* @param reportDocumentJson
* @param session
* @return
* @throws IOException
*/
public String generateGlobalLearningResultsChartImg(String reportDocumentJson,UserSession session) throws IOException {
public String generateGlobalLearningResultsChartImg(String reportDocumentJson,
UserSession session) throws IOException {
 
CourseReportDocument reportDocument = CourseReportDocument.fromJson(reportDocumentJson);
CourseReportDocument reportDocument = CourseReportDocument.fromJson(reportDocumentJson);
LearningResultsSection learningResultsSection = (LearningResultsSection) reportDocument.findDocumentSection(LearningResultsSection.class);
LearningGlobalAnalysisSection learningGlobalAnalysisSection = (LearningGlobalAnalysisSection) learningResultsSection.findSection(LearningGlobalAnalysisSection.class);
GlobalLearningResultsChartImg chartImg = (GlobalLearningResultsChartImg) learningGlobalAnalysisSection.findDocComponent(GlobalLearningResultsChartImg.class);
425,7 → 392,7
UnitsLearningResultsTable table = (UnitsLearningResultsTable) learningResultsSection.findDocComponent(UnitsLearningResultsTable.class);
 
 
FileUploaded fileUploaded = chartImg.generateChart2tmp(table,reportDocument);
FileUploaded fileUploaded = chartImg.generateChart2tmp(table, reportDocument);
 
RepositoryService repositoryService = new RepositoryService();
 
434,25 → 401,86
chartImg.getImage().getIdentifier() != null;
 
RepositoryFile4JsonView view;
if(imageInitialized)
{
if (imageInitialized) {
String identifier = chartImg.getImage().getIdentifier();
view = repositoryService.replaceRepositoryFileFromFileUpload(identifier, fileUploaded, ResourceAccessControlEnum.privateDomain, session);
} else {
view = repositoryService.storeRepositoryFileFromFileUpload(fileUploaded, ResourceAccessControlEnum.privateDomain, session);
}
else
{
view = repositoryService.storeRepositoryFileFromFileUpload(fileUploaded,ResourceAccessControlEnum.privateDomain,session);
chartImg.setImage(view);
chartImg.setWidth(500);
float relative = 500 / GlobalLearningResultsChartImg.WIDTH;
float height = relative * GlobalLearningResultsChartImg.HEIGHT;
chartImg.setHeight((int) height);
//TODO FALTA GUARDAR O JSON NO CURSO
return chartImg.toJson();
}
 
 
public String generateGlobalLearningResultsChartYearImg(String reportDocumentJson,
UserSession session) throws IOException {
 
CourseReportDocument reportDocument = CourseReportDocument.fromJson(reportDocumentJson);
LearningResultsSection learningResultsSection = (LearningResultsSection) reportDocument.findDocumentSection(LearningResultsSection.class);
LearningGlobalAnalysisSection learningGlobalAnalysisSection = (LearningGlobalAnalysisSection) learningResultsSection.findSection(LearningGlobalAnalysisSection.class);
GlobalLearningResultsChartYearImg chartImg = (GlobalLearningResultsChartYearImg) learningGlobalAnalysisSection.findDocComponent(GlobalLearningResultsChartYearImg.class);
 
 
UnitsLearningResultsTable table = (UnitsLearningResultsTable) learningResultsSection.findDocComponent(UnitsLearningResultsTable.class);
 
 
FileUploaded fileUploaded = chartImg.generateChart2tmp(table, reportDocument);
 
RepositoryService repositoryService = new RepositoryService();
 
boolean imageInitialized = chartImg.getImage() != null
&&
chartImg.getImage().getIdentifier() != null;
 
RepositoryFile4JsonView view;
if (imageInitialized) {
String identifier = chartImg.getImage().getIdentifier();
view = repositoryService.replaceRepositoryFileFromFileUpload(identifier, fileUploaded, ResourceAccessControlEnum.privateDomain, session);
} else {
view = repositoryService.storeRepositoryFileFromFileUpload(fileUploaded, ResourceAccessControlEnum.privateDomain, session);
}
chartImg.setImage(view);
 
chartImg.setWidth(500);
float relative = 500 / GlobalLearningResultsChartYearImg.WIDTH;
float height = relative * GlobalLearningResultsChartYearImg.HEIGHT;
chartImg.setHeight((int) height);
//TODO FALTA GUARDAR O JSON NO CURSO
return view.toJson();
return chartImg.toJson();
}
 
public String save(String reportDocumentJson, UserSession session) throws IOException {
 
CourseReportDocument reportDocument = CourseReportDocument.fromJson(reportDocumentJson);
 
Course c = DaoFactory.getCourseDaoImpl().findCourseByCode(reportDocument.getCourseCode());
CourseYear y = null;
for (CourseYear courseYear : c.getCourseYears()) {
if (courseYear.getImportYear().equals(reportDocument.getYear())) {
y = courseYear;
break;
}
}
 
if (y == null) {
y = DomainObjectFactory.createCourseYearImpl();
DaoFactory.getCourseYearDaoImpl().save(y);
y.setImportYear(reportDocument.getYear());
c.getCourseYears().add(y);
y.setCourse(c);
}
 
y.setCourseReport(reportDocumentJson);
 
return reportDocument.toJson();
}
 
 
/****************************************************************************/
/*
 
469,36 → 497,33
/**
* This service loads a list of course units given course code and year
* with dtp stats codes pre-filled
*
* @param courseCode
* @param year
* @return
* @throws JSONException
* @throws IOException
*/
public String loadCourseUnitDtpStats(String courseCode,String year) throws JSONException, IOException {
public String loadCourseUnitDtpStats(String courseCode, String year) throws JSONException, IOException {
 
 
if(Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNITS_DTP_STATS.indexOf("localhost")>=0)
{
if (Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNITS_DTP_STATS.indexOf("localhost") >= 0) {
JSONArray array = new JSONArray();
List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadByCourseSiges(courseCode, year);
for(CourseUnit cu: units)
{
for (CourseUnit cu : units) {
CourseUnitDtpStat stat = CourseReportUtils.createCourseUnitDtpStat(cu);
//sections.add(courseUnitSection);
array.put(stat.toJsonObject());
}
 
JSONObject obj = new JSONObject();
obj.put("dtpstats",array);
obj.put("dtpstats", array);
 
return obj.toString();
}
else
{
String serviceUrl = Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNITS_DTP_STATS + "?code=" + courseCode + "&year=" + year;
} else {
String serviceUrl = Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNITS_DTP_STATS + "?code=" + courseCode + "&year=" + year;
String json = "{ dtpstats : [] }";
try{
try {
URL url = new URL(serviceUrl);
 
URLConnection conn = url.openConnection();
506,13 → 531,12
 
json = StreamsUtils.readString(is);
is.close();
}catch(Throwable e)
{
logger.error("Connecting " + serviceUrl,e);
} catch (Throwable e) {
logger.error("Connecting " + serviceUrl, e);
return json;
}
JSONObject jsonObject = new JSONObject(json);
if(jsonObject.get("service").equals("ok"))
if (jsonObject.get("service").equals("ok"))
return jsonObject.get("response").toString();
else
return json;
520,54 → 544,45
}
 
 
 
 
/**
*
* Para um determinado curso e ano o serviço faz uma listagem de todas as suas unidades curriculares
* e lista a sua informação básica juntamente com o relatório de avaliação disponivel
* O serviço adiciona ainda o Ano de cada unidade por inspeção do Plano de Estudos
* caso a unidade não seja encontrada no Plano de estudos o ano irá ser preenchido com -1
*
* @param courseCode codigo Siges na base de dados
* @param year 201617, 201718
* @param year 201617, 201718
* @return String JSONObject with a JSON ARRAY of List<CourseUnitSection>
*/
public String loadCourseEvaluationSections(String courseCode,String year) throws JSONException, IOException {
public String loadCourseEvaluationSections(String courseCode, String year) throws JSONException, IOException {
 
 
if(Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNITS_EVALUATION_REPORT.indexOf("localhost")>=0)
{
if (Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNITS_EVALUATION_REPORT.indexOf("localhost") >= 0) {
JSONArray array = new JSONArray();
List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadByCourseSiges(courseCode, year);
for(CourseUnit cu: units)
{
for (CourseUnit cu : units) {
CourseUnitSection courseUnitSection = CourseReportUtils.createCourseUnitEvaluationSection((CourseUnitImpl) cu);
if(courseUnitSection.getAnoPlano() < 0)
{
if (courseUnitSection.getAnoPlano() < 0) {
logger.info("Ano do Plano not available from courseUnitsEvaluation Service, will read from API loadPlanYearForCourseUnitCode");
try{
String json = loadPlanYearForCourseUnitCode(courseCode,cu.getCode(),cu.getSemestre());
try {
String json = loadPlanYearForCourseUnitCode(courseCode, cu.getCode(), cu.getSemestre());
int ano = new JSONObject(json).getInt("year");
courseUnitSection.setAnoPlano(ano);
}catch(Throwable e )
{
logger.error("Nao conseguiu obter o ano do plano da API: " + e.toString(),e);
} catch (Throwable e) {
logger.error("Nao conseguiu obter o ano do plano da API: " + e.toString(), e);
}
}
array.put(courseUnitSection.toJsonObject());
}
 
JSONObject obj = new JSONObject();
obj.put("evaluations",array);
obj.put("evaluations", array);
 
return obj.toString();
}
else
{
} else {
String json = "{ evaluations : [] }";
String serviceUrl = Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNITS_EVALUATION_REPORT + "?code=" + courseCode + "&year=" + year;
try{
String serviceUrl = Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNITS_EVALUATION_REPORT + "?code=" + courseCode + "&year=" + year;
try {
URL url = new URL(serviceUrl);
 
URLConnection conn = url.openConnection();
575,14 → 590,13
 
json = StreamsUtils.readString(is);
is.close();
}catch(Throwable e)
{
logger.error("Connecting " + serviceUrl,e);
} catch (Throwable e) {
logger.error("Connecting " + serviceUrl, e);
return json;
}
 
JSONObject jsonObject = new JSONObject(json);
if(jsonObject.get("service").equals("ok"))
if (jsonObject.get("service").equals("ok"))
return jsonObject.get("response").toString();
else
return json;
591,28 → 605,23
 
 
/**
*
*
* @param courseCode codigo Siges na base de dados
* @param unitCode
* @return Json com o ano do plano exemplo: { year : 1 }
* ou -1 se não for encontrado
*/
public String loadPlanYearForCourseUnitCode(String courseCode,String unitCode,String period) throws JSONException, IOException {
public String loadPlanYearForCourseUnitCode(String courseCode, String unitCode, String period) throws JSONException, IOException {
 
 
if(Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNIT_PLAN_YEAR.indexOf("localhost")>=0)
{
if (Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNIT_PLAN_YEAR.indexOf("localhost") >= 0) {
CourseImpl c = DaoFactory.getCourseDaoImpl().findCourseByCode(courseCode);
int year = c.getUnidadeAnoPlano(period,unitCode);
int year = c.getUnidadeAnoPlano(period, unitCode);
return "{ year : " + year + " }";
 
}
else
{
} else {
String json = "{ year : -1 }";
String serviceUrl = Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNIT_PLAN_YEAR + "?courseCode=" + courseCode + "&unitCode=" + unitCode + "&period=" + period;
try{
String serviceUrl = Globals.SYSTEM_WSJSON_SERVICE_COURSE_UNIT_PLAN_YEAR + "?courseCode=" + courseCode + "&unitCode=" + unitCode + "&period=" + period;
try {
URL url = new URL(serviceUrl);
 
URLConnection conn = url.openConnection();
620,14 → 629,13
 
json = StreamsUtils.readString(is);
is.close();
}catch(Throwable e)
{
logger.error("Connecting " + serviceUrl,e);
} catch (Throwable e) {
logger.error("Connecting " + serviceUrl, e);
return json;
}
 
JSONObject jsonObject = new JSONObject(json);
if(jsonObject.get("service").equals("ok"))
if (jsonObject.get("service").equals("ok"))
return jsonObject.get("response").toString();
else
return json;
635,21 → 643,10
}
 
 
 
 
 
 
 
 
 
 
 
 
 
public static void main(String[] args) throws IOException, JSONException {
AbstractDao.getCurrentSession().beginTransaction();
 
CourseReportDocument reportCourseDocument = new CourseReportServices().createNewCourseReportDocument("44","201617");
CourseReportDocument reportCourseDocument = new CourseReportServices().createNewCourseReportDocument("44", "201617");
System.out.println(reportCourseDocument.toJson());
AbstractDao.getCurrentSession().getTransaction().commit();
 
681,5 → 678,4
// e as as tabelas
 
 
 
}
/branches/grupo6/impl/src/java/pt/estgp/estgweb/services/courses/coursereport/documentmodel/learningresults/components/GlobalLearningResultsChartImg.java
23,6 → 23,8
*/
public class GlobalLearningResultsChartImg extends ImageComponent
{
public static final int WIDTH = 300 * 4;
public static final int HEIGHT = 200 * 4;
/**
*
* @param results
66,7 → 68,7
"Helvetica", Font.PLAIN, 30));
 
 
BufferedImage image = chart.createBufferedImage( 300*4, 200*4);
BufferedImage image = chart.createBufferedImage( WIDTH, HEIGHT);
String pathGraficoTiposAlunos = Globals.TMP_DIR + java.io.File.separator + tempName;
java.io.File output = new java.io.File(pathGraficoTiposAlunos);
ImageIO.write(image, "png", new FileOutputStream(output));
/branches/grupo6/impl/src/java/pt/estgp/estgweb/services/courses/coursereport/documentmodel/learningresults/components/UnitsLearningResult.java
134,4 → 134,13
public void setAprovados1720Percent(float aprovados1720Percent) {
this.aprovados1720Percent = aprovados1720Percent;
}
 
public boolean isManual() {
return manual;
}
 
public void setManual(boolean manual) {
this.manual = manual;
}
}
 
/branches/grupo6/impl/src/java/pt/estgp/estgweb/services/courses/coursereport/documentmodel/learningresults/components/GlobalLearningResultsChartYearImg.java
1,10 → 1,162
package pt.estgp.estgweb.services.courses.coursereport.documentmodel.learningresults.components;
 
import pt.estgp.estgweb.utils.documentBuilder.AutoImageWraperComponent;
import jomm.utils.BytesUtils;
import jomm.utils.MimeTypeGuesser;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.block.BlockBorder;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.RingPlot;
import org.jfree.chart.renderer.category.StackedBarRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.ui.RectangleInsets;
import org.jfree.ui.TextAnchor;
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument;
import pt.estgp.estgweb.utils.Globals;
import pt.estgp.estgweb.utils.documentBuilder.ImageComponent;
import pt.estgp.estgweb.web.controllers.utils.FileUploaded;
 
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.List;
 
/**
* Created by jorgemachado on 31/10/17.
*/
public class GlobalLearningResultsChartYearImg extends AutoImageWraperComponent
public class GlobalLearningResultsChartYearImg extends ImageComponent
{
 
public static final int WIDTH = 300 * 4;
public static final int HEIGHT = 200 * 4;
 
/**
*
* @param results
* @return the tmp path for generated chart
* @throws IOException
*/
public FileUploaded generateChart2tmp(UnitsLearningResultsTable results, CourseReportDocument courseReportDocument) throws IOException
{
List<UnitsLearningResultYear> unitsLearningResultYearList = results.getYears();
 
 
String tempName = BytesUtils.generateHexKey() + ".png";
 
DefaultCategoryDataset data = new DefaultCategoryDataset();
 
for(UnitsLearningResultYear temp: unitsLearningResultYearList) {
data.addValue(new Double((int)(temp.getAprovados1013Percent())),"Aprovados 10-13",""+temp.ano + "º Ano");
data.addValue(new Double((int)(temp.getAprovados1416Percent())),"Aprovados 14-16",""+temp.ano + "º Ano");
data.addValue(new Double((int)(temp.getAprovados1720Percent())),"Aprovados 17-20",""+temp.ano + "º Ano");
}
 
 
JFreeChart chart = ChartFactory.createStackedBarChart(null,null,null,data, PlotOrientation.VERTICAL,true,false,false);
 
CategoryPlot plot = chart.getCategoryPlot();
RectangleInsets chartRectangle = new RectangleInsets(0,0,30F,0);
chart.setPadding(chartRectangle);
plot.setBackgroundPaint(Color.WHITE);
CategoryAxis axis = plot.getDomainAxis();
NumberAxis axis2 = (NumberAxis) plot.getRangeAxis();
NumberFormat pctFormat = new DecimalFormat("#'%'");
axis.setTickLabelFont(new Font("Helvetica", Font.PLAIN, 30));
axis2.setTickLabelFont(new Font("Helvetica", Font.PLAIN, 30));
axis2.setNumberFormatOverride(pctFormat);
 
Color brown = new Color(237,125,49);
Color yellow = new Color(255,192,0);
Color green = new Color(112,173,71);
 
StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer();
renderer.setGradientPaintTransformer(null);
plot.setRangeGridlinePaint(Color.GRAY);
plot.setRangeGridlinesVisible(true);
plot.setRangeGridlineStroke(new BasicStroke(1.0f));
renderer.setSeriesPaint(0, brown);
renderer.setSeriesPaint(1, yellow);
renderer.setSeriesPaint(2, green);
renderer.setMaximumBarWidth(.20);
 
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}",pctFormat));
renderer.setBaseItemLabelsVisible(true);
ItemLabelPosition position = new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.HALF_ASCENT_CENTER);
renderer.setBasePositiveItemLabelPosition(position);
renderer.setBaseItemLabelFont(new Font("Helvetica",Font.PLAIN,30));
 
chart.getLegend().setItemFont(new Font("Helvetica", Font.PLAIN,30));
chart.getLegend().setFrame(BlockBorder.NONE);
 
BufferedImage image = chart.createBufferedImage(WIDTH, HEIGHT);
String pathGraficoTiposAlunos = Globals.TMP_DIR + java.io.File.separator + tempName;
java.io.File output = new java.io.File(pathGraficoTiposAlunos);
ImageIO.write(image, "png", new FileOutputStream(output));
 
FileUploaded fileUploaded = new FileUploaded();
fileUploaded.setTmpName(tempName);
fileUploaded.setTitle("Taxa global de aproveitamento");
fileUploaded.setDescription("Curso: " + courseReportDocument.getCourseName() + " (" + courseReportDocument.getCourseCode()+ ") ano " + courseReportDocument.getYear());
fileUploaded.setContentType(MimeTypeGuesser.getInstance().guessMimeType(output));
fileUploaded.setFileSize(output.length());
fileUploaded.setExtension("png");
 
return fileUploaded;
}
 
public static void main(String [] args) throws IOException {
float aprovados = 10;
float reprovados = 2;
float semElementos = 4;
double aprovadosPercent = ((int)10/16*100.0)/100.0;
double reprovadosPercent = ((int)2/16*100.0)/100.0;
double semElementosPercent = ((int)4/16*100.0)/100.0;
 
String tempName = BytesUtils.generateHexKey() + ".png";
 
DefaultPieDataset data = new DefaultPieDataset();
if(reprovados > 0)
data.setValue("Reprovados " + reprovadosPercent + "%", new Double(reprovados));
if(aprovados > 0)
data.setValue("Aprovados " + aprovadosPercent + "%", new Double(aprovados));
if(semElementos > 0)
data.setValue("Sem Elementos " + semElementosPercent + "%", new Double(semElementos));
JFreeChart chart = ChartFactory.createRingChart(null, data, false, true, false);
chart.setBackgroundPaint(new Color(255,255,255));
PiePlot plot = (RingPlot) chart.getPlot();
plot.setLabelBackgroundPaint(new Color(255, 249, 235));
plot.setLabelPaint(new Color(88, 88, 90));
//plot.setDrawingSupplier(new ChartBuilderUtil.ChartDrawingSupplier());
 
plot.setSectionPaint(0, new Color(47, 35, 255));
plot.setSectionPaint(1, new Color(15, 218, 10));
plot.setSectionPaint(2, new Color(200, 200, 200));
plot.setBackgroundPaint(new Color(255, 255, 255));
plot.setOutlineVisible(false);
 
 
 
plot.setLabelFont(new Font(
"Helvetica", Font.PLAIN, 30));
 
 
BufferedImage image = chart.createBufferedImage( 300*4, 200*4);
String pathGraficoTiposAlunos = Globals.TMP_DIR + java.io.File.separator + tempName;
java.io.File output = new java.io.File(pathGraficoTiposAlunos);
ImageIO.write(image, "png", new FileOutputStream(output));
 
 
}
}
/branches/grupo6/impl/src/java/pt/estgp/estgweb/services/courses/coursereport/documentmodel/learningresults/components/LearningResultsChartSem.java
1,11 → 1,11
package pt.estgp.estgweb.services.courses.coursereport.documentmodel.learningresults.components;
 
import pt.estgp.estgweb.utils.documentBuilder.AutoImageWraperComponent;
import pt.estgp.estgweb.utils.documentBuilder.ImageComponent;
 
/**
* Created by jorgemachado on 31/10/17.
*/
public class LearningResultsChartSem extends AutoImageWraperComponent
public class LearningResultsChartSem extends ImageComponent
{
String semesterCode;
 
/branches/grupo6/impl/src/java/pt/estgp/estgweb/services/courses/coursereport/documentmodel/learningresults/components/UnitsLearningResultsTable.java
29,14 → 29,6
 
List<UnitsLearningResultYear> years = new ArrayList<UnitsLearningResultYear>();
 
public List<UnitsLearningResultYear> getYears() {
return years;
}
 
public void setYears(List<UnitsLearningResultYear> years) {
this.years = years;
}
 
public float getCumprimentoProgramaPercent() {
return cumprimentoProgramaPercent;
}
44,8 → 36,7
public void setCumprimentoProgramaPercent(float cumprimentoProgramaPercent) {
this.cumprimentoProgramaPercent = cumprimentoProgramaPercent;
}
 
public float getAlunosInscritos() {
return alunosInscritos;
}
149,4 → 140,12
public void setAprovados1720Percent(float aprovados1720Percent) {
this.aprovados1720Percent = aprovados1720Percent;
}
 
public List<UnitsLearningResultYear> getYears() {
return years;
}
 
public void setYears(List<UnitsLearningResultYear> years) {
this.years = years;
}
}
/branches/grupo6/impl/src/java/pt/estgp/estgweb/web/controllers/courses/CoursesServicesController.java
New file
0,0 → 1,74
package pt.estgp.estgweb.web.controllers.courses;
 
import org.apache.struts.action.ActionForm;
import org.json.JSONObject;
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument;
import pt.estgp.estgweb.web.controllers.utils.AbstractWidgetAjaxController;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
/**
* Created by jorgemachado on 06/01/17.
*/
public class CoursesServicesController extends AbstractWidgetAjaxController {
 
 
/**
* See also CoursesServicesWidgetController for WS-API services
*/
 
/**
* @param form
* @param request
* @param response
* @return
* @throws Throwable
*/
 
public JSONObject generateGlobalLearningResultsChartImg(ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Throwable {
 
String courseReportDocument = request.getParameter("courseReportDocument");
 
 
IServiceManager sm = ServiceManager.getInstance();
String json = (String) sm.execute(RequestUtils.getRequester(request, response),
"CourseReportGenerateGlobalLearningResultsChartImg",
new Object[]{courseReportDocument});
//addMessageAsString(request,"Gráfico Gerado");
return new JSONObject(json);
}
 
public JSONObject generateGlobalLearningResultsChartYearImg(ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Throwable {
 
String courseReportDocument = request.getParameter("courseReportDocument");
 
 
IServiceManager sm = ServiceManager.getInstance();
String json = (String) sm.execute(RequestUtils.getRequester(request, response),
"CourseReportGenerateGlobalLearningResultsChartYearImg",
new Object[]{courseReportDocument});
// addMessageAsString(request,"Gráfico Gerado");
return new JSONObject(json);
}
 
public JSONObject save(ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Throwable {
 
String courseReportDocument = request.getParameter("courseReportDocument");
 
CourseReportDocument c = CourseReportDocument.fromJson(courseReportDocument);
 
IServiceManager sm = ServiceManager.getInstance();
String json = (String) sm.execute(RequestUtils.getRequester(request, response),
"CourseReportSave",
new Object[]{courseReportDocument});
 
addMessageAsString(request, "Gravado com Sucesso");
return new JSONObject(json);
}
 
 
}
/branches/grupo6/impl/src/java/pt/estgp/estgweb/web/controllers/SubServlet.java
New file
0,0 → 1,54
package pt.estgp.estgweb.web.controllers;
 
import pt.estgp.estgweb.domain.User;
import pt.estgp.estgweb.domain.UserImpl;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
 
public class SubServlet extends TesteEngSoftware {
public void primeiroMetodo(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
logger.info("primeiro metodo");
 
 
String name = request.getParameter("name");
String jsp = request.getParameter("jsp");
 
User u = new UserImpl();
u.setName("Elias " + jsp);
 
request.setAttribute("utilizador",u);
 
if(request.getSession().getAttribute("utilizador") == null) {
request.getSession().setAttribute("utilizador",u);
}
 
//response.getWriter().println("<html><body><h>OLA A TODOS</h></body></html>");
request.getRequestDispatcher("jsp").forward(request,response);
}
 
 
public void segundoMetodo(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
logger.info("segundo metodo");
 
 
String name = request.getParameter("name");
String jsp = request.getParameter("jsp");
 
User u = new UserImpl();
u.setName("Elias " + jsp);
 
request.setAttribute("utilizador",u);
 
if(request.getSession().getAttribute("utilizador") == null) {
request.getSession().setAttribute("utilizador",u);
}
 
//response.getWriter().println("<html><body><h>OLA A TODOS</h></body></html>");
request.getRequestDispatcher("jsp").forward(request,response);
}
}
/branches/grupo6/impl/src/java/pt/estgp/estgweb/web/controllers/TesteEngSoftware.java
New file
0,0 → 1,35
package pt.estgp.estgweb.web.controllers;
 
import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.User;
import pt.estgp.estgweb.domain.UserImpl;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
 
public class TesteEngSoftware extends HttpServlet {
public static final Logger logger = Logger.getLogger(TesteEngSoftware.class);
 
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
 
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String op = req.getParameter("dispatch");
 
try {
this.getClass()
.getMethod(op,new Class[]{HttpServletRequest.class, HttpServletResponse.class})
.invoke(this,req,resp);
} catch (IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
e.printStackTrace();
}
 
}
}
/branches/grupo6/impl/src/hbm/pt/estgp/estgweb/domain/Course.hbm.xml
76,6 → 76,9
<timestamp source="db" name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="importYear" type="string" index="importYearIndex"/>
<property name="courseReport" type="text">
<column name="courseReport" sql-type="LONGTEXT"/>
</property>
<property name="separatedTurmas" type="boolean">
<column name="separatedTurmas" default="false"/>
</property>
/branches/grupo6/impl/src/hbm/pt/estgp/estgweb/domain/PageContent.hbm.xml
38,8 → 38,8
</property>
<property name="accessPolicyClass" type="string"/>
<property name="slug" type="string"/>
<property name="path" type="string" unique="true">
<column name="path" sql-type="TEXT, add UNIQUE pathIndex(path(512))"/>
<property name="path" type="string">
<column name="path" sql-type="TEXT"/>
</property>
<many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="proxy" outer-join="false"/>
<many-to-one name="parent" class="pt.estgp.estgweb.domain.PageSection" lazy="proxy" outer-join="false">
/branches/grupo6/impl/src/web/ola.jsp
New file
0,0 → 1,43
<%@ page import="pt.estgp.estgweb.domain.User" %>
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %><%--
Created by IntelliJ IDEA.
User: Us3r
Date: 23/11/2017
Time: 11:19
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<jsp:useBean id="utilizador" type="pt.estgp.estgweb.domain.User" scope="request"/>
<body>
<h1>Ola 2</h1>
 
<%
User u = (User) request.getAttribute("utilizador");
User uSess = (User) request.getSession().getAttribute("utilizador");
 
AbstractDao.getCurrentSession().beginTransaction();
 
User loaded = DaoFactory.getUserDaoImpl().loadByUsername(u.getName());
request.setAttribute("loaded",loaded);
%>
<jsp:useBean id="loaded" type="pt.estgp.estgweb.domain.User" scope="request"/>
 
 
u:
<%=u.getName()%>
<br>
u:
${utilizador.name}
${loaded.superuser}
<br>
uSess:
<%=uSess.getName()%>
 
 
</body>
</html>
/branches/grupo6/impl/src/web/examples/angular/directives/angular-directive.jsp
New file
0,0 → 1,95
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="bacoTags" tagdir="/WEB-INF/tags" %>
<%@ taglib prefix="logic" uri="/WEB-INF/tlds/struts-logic.tld" %>
<html>
<head></head>
<body ng-app="BacoAngularApp">
<jsp:include page="/layout/themes/scripts-default.jsp"/>
<jsp:include page="/layout/headerTools.jsp"/>
 
 
<div id="demoApp" ng-app="demoApp" ng-controller="demoAppController">
 
 
<h1>Uso de Directivas com Templates</h1>
<p>Este exemplo mostra como deve ser usada uma template para podermos incluir uma função
de controlo especifica da template usando directivas</p>
<p>Mostra ainda que dentro da template o scope é uma fusão dos scopes da ngApp e da propria directiva</p>
<p>Mostra também como podemos escolher dinamicamente a template ou as funcionalidades dependendo de atributos que passamos à template</p>
<script>
 
var demoApp = angular.module('demoApp', []);
GLOBAL_BacoAngularAppDependencies.push('demoApp');
 
 
//demoApp..directive('tpl', function() {
//ou
angular.module('demoApp').directive('tpl', function() {
 
return {
restrict: 'E', //A ou E define se é o nome do elemento ou um atributo
link: function(scope, element, attrs) {
// concatenating the directory to the ver attr to select the correct excerpt for the day
 
 
 
scope.teste = "teste";
scope.move = function(){
 
scope.teste = "teste2";
scope.testeSuper = "testeSuper2";
}
},
// passing in contentUrl variable
templateUrl: function(elem,attrs) {
return attrs.templatename;
}
}
});
 
 
demoApp.controller('demoAppController', function ($scope) {
 
 
$scope.testeSuper = "testeSuper";
 
}
);
 
</script>
 
<p>campo testeSuper no mainmodule {{testeSuper}}</p>
 
<p>Se incluirmos o tpl2.html apenas vamos ter acesso às variaveis do scope da aplicação, neste caso o teste, a template pode estar declarada fora da app, não há problema</p>
<p>Por acaso neste exemplo temos acesso ao testeSuper porque a directiva adiciona funcionalidade ao scope da aplicação onde é chamada, mas se não chamarmos nenhuma directiva
a var testeSuper não aparece</p>
<div ng-include="'tpl2.html'"></div>
 
 
<h2>Invocando a tpl de html com directiva</h2>
<tpl templatename="tpl.html"></tpl>
 
<h2>Invocando a tpl de de javascript com directiva</h2>
<tpl templatename="tpl2.html"></tpl>
 
 
 
 
 
 
</div>
 
 
 
<!--TEMPLATE RECURSIVO-->
<script type="text/ng-template" id="tpl2.html">
<div>
<h1>Usando um template de Script</h1>
<p>TESTE</p>
<p>{{teste}}</p>
<p>{{testeSuper}}</p>
<button ng-click="move()">Muda Textos</button>
</div>
</script>
</body>
</html>
/branches/grupo6/impl/src/web/examples/angular/directives/tpl.html
New file
0,0 → 1,5
<h1>Template de HTML</h1>
<p>TESTE</p>
<p>{{teste}}</p>
<p>{{testeSuper}}</p>
<button ng-click="move()">Muda Textos</button>
/branches/grupo6/impl/src/web/examples/angular/directives/angular-directive-module.jsp
New file
0,0 → 1,36
<%--
Created by IntelliJ IDEA.
User: jorgemachado
Date: 11/11/17
Time: 10:20
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body ng-app="BacoAngularApp">
<jsp:include page="/layout/themes/scripts-default.jsp"/>
<jsp:include page="/layout/headerTools.jsp"/>
 
<div class="container">
<h1>Uso de Templates Generalizados e cada um com sua template</h1>
<p>O caso em questão é a existencia de um esqueleto principal para um modulo (mainmodule)</p>
<p>O main module inclui templates para cada componente usando o ng-include</p>
<p>Esse ng-include é referente ao campo @class de cada componente</p>
<p>vamos incluir esse esqueleto e todas as templates especificas dos nossos modulos</p>
<p>incluimos ainda as directivas que estiverem nos nossos modulos</p>
<p>o template do ng-include irá colocar a directiva desejada caso seja necessário</p>
<p>com a directiva podemos ter funcionalidade de scope associada ao subcomponente, que é desconhecido do main module</p>
<p>caso necessite o includemodule também tem acesso ao scope da app principal</p>
<p>o unico requesito é passar ao include module o nome da app onde ele vai inserir as directivas</p>
 
 
 
<jsp:include page="angular-directive-mainmodule.jsp"/>
<jsp:include page="angular-directive-includemodule.jsp"/>
 
</div>
</body>
</html>
/branches/grupo6/impl/src/web/examples/angular/directives/angular-directive-includemodule.jsp
New file
0,0 → 1,60
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<p>Modulo Incluido contem as directivas e os templates necessários</p>
<p>Este módulo conhece o nome do módulo da App onde vai ser incluido</p>
 
<script>
angular.module("demoApp").directive('tpl', function() {
var contentUrl;
return {
restrict: 'E', //A ou E define se é o nome do elemento ou um atributo
link: function(scope, element, attrs) {
// concatenating the directory to the ver attr to select the correct excerpt for the day
//contentUrl = attrs.templatename + '.html';
 
//console.log(contentUrl);
 
scope.teste = "teste";
scope.move = function(){
 
scope.teste = "teste2modules";
//scope.testeSuper = "testeSuper2modules";
angular.element("#demoApp").scope().testeSuper = "testeSuper2modules";
}
scope.mudaCompName = function(comp){
 
comp.name = "NOVO NOME DO COMP MUDADO NA DIRECTIVA";
}
},
// passing in contentUrl variable
templateUrl: function(elem,attrs) {
return "templateDirectiva";
}
}
});
</script>
 
<script type="text/ng-template" id="directive_class">
<div style="border: 1px solid #000000">
<h1>DIRECTIVE CLASS TEMPLATE</h1>
<p>COMP ELEMENTO DIRECTIVA:{{comp.name}}</p>
<p><input type="text" ng-model="comp.name"></p>
<tpl></tpl>
<p>Teste no scope da directiva<p>
<pre>
{{teste | json}}
</pre>
</div>
</script>
 
<script type="text/ng-template" id="templateDirectiva">
<div style="border: 1px solid green">
<h1>templateDirectiva</h1>
<p>TESTE</p>
<p>{{teste}}</p>
<p>{{testeSuper}}</p>
<p>COMP ELEMENTO DIRECTIVA:{{comp.name}}</p>
<button ng-click="move()">Muda Textos</button>
<button ng-click="mudaCompName(comp)">Muda COMP NAME</button>
</div>
</script>
/branches/grupo6/impl/src/web/examples/angular/directives/angular-directive-mainmodule.jsp
New file
0,0 → 1,50
 
 
<div id="demoApp" ng-app="demoApp" ng-controller="demoAppController">
 
 
 
<script>
 
var demoApp = angular.module('demoApp', []);
GLOBAL_BacoAngularAppDependencies.push('demoApp');
 
 
demoApp.controller('demoAppController', function ($scope) {
 
$scope.testeSuper = "testeSuper";
 
$scope.data =
{
comps : [
{
"@class" : "directive_class",
"name" : "componente de teste"
}
]
}
 
}
);
 
</script>
 
 
<h1>Campo testeSuper no mainmodule "{{testeSuper}}"</h1>
<h1>Campo data.comps[0].name no mainmodule "{{data.comps[0].name}}"</h1>
 
<h2>Template chamado atraves de um template de classe intermedio</h2>
<div ng-repeat="comp in data.comps" ng-include="comp['@class']">
 
</div>
 
 
<pre>
{{testeSuper | json}}
</pre>
<pre>
{{data | json}}
</pre>
 
 
</div>
/branches/grupo6/impl/src/web/user/courses/coursereport/templates.jsp
11,11 → 11,14
@optional @chapter capitulo do documento para esta seccao para contcatenar às subsections
-->
 
<script type="text/ng-template" id="pt_estgp_estgweb_services_courses_coursereport_documentmodel_CourseUnitsReportsSection">
<script type="text/ng-template"
id="pt_estgp_estgweb_services_courses_coursereport_documentmodel_CourseUnitsReportsSection">
<div class="sections">
<a name="indexCus"></a>
<span ng-repeat="cu in section.sections" ng-init="cu.taxaAprovacao = 100 * cu.courseUnitEvaluation.numAlunosAprovTotal/(cu.courseUnitEvaluation.numAlunosInscritos - cu.courseUnitEvaluation.numAlunosSemElementosAvaliacao)">
<a href="#cu{{$index}}" ng-class="{ 'alert-danger': (cu.courseUnitEvaluation.cumprimentoProgramaPercent &lt; 100) || cu.taxaAprovacao &lt; 75 || !cu.courseUnitEvaluation.closed || !cu.courseUnitEvaluation.teacherComplete}">
<span ng-repeat="cu in section.sections"
ng-init="cu.taxaAprovacao = 100 * cu.courseUnitEvaluation.numAlunosAprovTotal/(cu.courseUnitEvaluation.numAlunosInscritos - cu.courseUnitEvaluation.numAlunosSemElementosAvaliacao)">
<a href="#cu{{$index}}"
ng-class="{ 'alert-danger': (cu.courseUnitEvaluation.cumprimentoProgramaPercent &lt; 100) || cu.taxaAprovacao &lt; 75 || !cu.courseUnitEvaluation.closed || !cu.courseUnitEvaluation.teacherComplete}">
{{cu.title}}
</a> |
</span>
23,7 → 26,8
class="section panel-primary">
 
<a name="cu{{$index}}"></a>
<span ng-if="$index != 0" class="glyphicon glyphicon-backward" ></span><a ng-if="$index != 0" href="#indexCus"> Voltar atrás</a>
<span ng-if="$index != 0" class="glyphicon glyphicon-backward"></span><a ng-if="$index != 0"
href="#indexCus"> Voltar atrás</a>
<div class="panel-heading"><h2>{{cu.title}}</h2></div>
 
<div style="padding-left:20px">
32,10 → 36,12
<div ng-if="cu.courseUnitEvaluation.closed">
Entregue e Aceite
</div>
<div class="alert-danger" ng-if="cu.courseUnitEvaluation.closed && !cu.courseUnitEvaluation.teacherComplete">
<div class="alert-danger"
ng-if="cu.courseUnitEvaluation.closed && !cu.courseUnitEvaluation.teacherComplete">
Entregue mas não foi aprovado pela comissão
</div>
<div class="alert-danger" ng-if="!cu.courseUnitEvaluation.closed && !cu.courseUnitEvaluation.teacherComplete">
<div class="alert-danger"
ng-if="!cu.courseUnitEvaluation.closed && !cu.courseUnitEvaluation.teacherComplete">
Não foi entregue pelo docente para validação
</div>
 
45,7 → 51,7
<div style="padding-left:20px">
<div><h3><label class="label label-primary">Resultados</label></h3></div>
<div>
<table class="tablesorter-blue" width="100%">
<table class="tablesorter-blue" width="100%">
<tr>
<th rowspan="2">
Nº Alunos Inscritos
124,15 → 130,15
</div>
</div>
 
<div style="padding-left:20px" >
<div style="padding-left:20px">
<div><h3><label class="label label-primary">Taxa de Aprovação</label></h3></div>
<div ng-class="{ 'alert-danger': cu.taxaAprovacao &lt; 75 }">{{cu.taxaAprovacao}}%</div>
</div>
 
 
 
<div style="padding-left:20px">
<div><h3><label class="label label-primary">Apreciação dos resultados quantitativos obtidos pelos estudantes</label></h3></div>
<div><h3><label class="label label-primary">Apreciação dos resultados quantitativos obtidos pelos
estudantes</label></h3></div>
<div>{{cu.courseUnitEvaluation.qualApreciacaoQuantitivos}}</div>
</div>
<div style="padding-left:20px">
140,13 → 146,15
<div>{{cu.courseUnitEvaluation.qualApreciacaoUC}}</div>
</div>
<div style="padding-left:20px">
<div><h3><label class="label label-primary">Percentagem de cumprimento do programa da UC</label></h3></div>
<div><h3><label class="label label-primary">Percentagem de cumprimento do programa da UC</label></h3>
</div>
<div ng-class="{ 'alert-danger': (cu.courseUnitEvaluation.cumprimentoProgramaPercent &lt; 100) }">
{{cu.courseUnitEvaluation.cumprimentoProgramaPercent}}%
</div>
</div>
<div style="padding-left:20px">
<div><h3><label class="label label-primary">Apreciação do cumprimento do programa da UC</label></h3></div>
<div><h3><label class="label label-primary">Apreciação do cumprimento do programa da UC</label></h3>
</div>
<div>{{cu.courseUnitEvaluation.qualApreciacaoCumprimentoPrograma}}</div>
</div>
<div style="padding-left:20px">
158,13 → 166,13
</script>
 
 
 
<style>
.dtpstats td, .dtpstats th{
.dtpstats td, .dtpstats th {
text-align: center !important;
}
</style>
<script type="text/ng-template" id="pt_estgp_estgweb_services_courses_coursereport_documentmodel_reportucsummary_UnitsDtpTable">
<script type="text/ng-template"
id="pt_estgp_estgweb_services_courses_coursereport_documentmodel_reportucsummary_UnitsDtpTable">
<div class="sections">
 
<table class="table dtpstats">
191,28 → 199,52
</tr>
<tr ng-repeat="dtpStat in comp.semester1.courseUnitDtpStats">
<td>{{dtpStat.name}}</td>
<td ng-class="{ 'alert-danger' : !dtpStat.planeamentoConteudos }"><input type="checkbox" ng-model="dtpStat.planeamentoConteudos"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.planeamentoCalendarizacao }"><input type="checkbox" ng-model="dtpStat.planeamentoCalendarizacao"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.ficha }"><input type="checkbox" ng-model="dtpStat.ficha"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.sumarios }"><input type="checkbox" ng-model="dtpStat.sumarios"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.avaliacaoEnunciados }"><input type="checkbox" ng-model="dtpStat.avaliacaoEnunciados"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.avaliacaoPautas }"><input type="checkbox" ng-model="dtpStat.avaliacaoPautas"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.relatorio }"><input type="checkbox" ng-model="dtpStat.relatorio"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.inquerito }"><input type="checkbox" ng-model="dtpStat.inquerito"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.planeamentoConteudos }"><input type="checkbox"
ng-model="dtpStat.planeamentoConteudos"/>
</td>
<td ng-class="{ 'alert-danger' : !dtpStat.planeamentoCalendarizacao }"><input type="checkbox"
ng-model="dtpStat.planeamentoCalendarizacao"/>
</td>
<td ng-class="{ 'alert-danger' : !dtpStat.ficha }"><input type="checkbox" ng-model="dtpStat.ficha"/>
</td>
<td ng-class="{ 'alert-danger' : !dtpStat.sumarios }"><input type="checkbox"
ng-model="dtpStat.sumarios"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.avaliacaoEnunciados }"><input type="checkbox"
ng-model="dtpStat.avaliacaoEnunciados"/>
</td>
<td ng-class="{ 'alert-danger' : !dtpStat.avaliacaoPautas }"><input type="checkbox"
ng-model="dtpStat.avaliacaoPautas"/>
</td>
<td ng-class="{ 'alert-danger' : !dtpStat.relatorio }"><input type="checkbox"
ng-model="dtpStat.relatorio"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.inquerito }"><input type="checkbox"
ng-model="dtpStat.inquerito"/></td>
</tr>
<tr>
<th colspan="9">Semestre 2</th>
</tr>
<tr ng-repeat="dtpStat in comp.semester2.courseUnitDtpStats">
<td>{{dtpStat.name}}</td>
<td ng-class="{ 'alert-danger' : !dtpStat.planeamentoConteudos }"><input type="checkbox" ng-model="dtpStat.planeamentoConteudos"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.planeamentoCalendarizacao }"><input type="checkbox" ng-model="dtpStat.planeamentoCalendarizacao"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.ficha }"><input type="checkbox" ng-model="dtpStat.ficha"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.sumarios }"><input type="checkbox" ng-model="dtpStat.sumarios"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.avaliacaoEnunciados }"><input type="checkbox" ng-model="dtpStat.avaliacaoEnunciados"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.avaliacaoPautas }"><input type="checkbox" ng-model="dtpStat.avaliacaoPautas"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.relatorio }"><input type="checkbox" ng-model="dtpStat.relatorio"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.inquerito }"><input type="checkbox" ng-model="dtpStat.inquerito"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.planeamentoConteudos }"><input type="checkbox"
ng-model="dtpStat.planeamentoConteudos"/>
</td>
<td ng-class="{ 'alert-danger' : !dtpStat.planeamentoCalendarizacao }"><input type="checkbox"
ng-model="dtpStat.planeamentoCalendarizacao"/>
</td>
<td ng-class="{ 'alert-danger' : !dtpStat.ficha }"><input type="checkbox" ng-model="dtpStat.ficha"/>
</td>
<td ng-class="{ 'alert-danger' : !dtpStat.sumarios }"><input type="checkbox"
ng-model="dtpStat.sumarios"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.avaliacaoEnunciados }"><input type="checkbox"
ng-model="dtpStat.avaliacaoEnunciados"/>
</td>
<td ng-class="{ 'alert-danger' : !dtpStat.avaliacaoPautas }"><input type="checkbox"
ng-model="dtpStat.avaliacaoPautas"/>
</td>
<td ng-class="{ 'alert-danger' : !dtpStat.relatorio }"><input type="checkbox"
ng-model="dtpStat.relatorio"/></td>
<td ng-class="{ 'alert-danger' : !dtpStat.inquerito }"><input type="checkbox"
ng-model="dtpStat.inquerito"/></td>
</tr>
</tbody>
</table>
220,158 → 252,140
</script>
 
 
 
<style>
.learning td
{
.learning td {
font-size: 0.7em;
}
.learning td input{
 
.learning td input {
width: 50px;
}
 
.learning td input:read-only{
.learning td input:read-only {
width: 50px;
background-color: #cccccc;
}
 
.learning tr.year td {
vertical-align: top;
background-color: #aaaaaa;
 
font-weight: bold;
}
 
.learning tr.period td {
vertical-align: top;
background-color: #dfdfdf;
 
}
</style>
<script type="text/ng-template" id="pt_estgp_estgweb_services_courses_coursereport_documentmodel_learningresults_components_UnitsLearningResultsTable">
<script type="text/ng-template"
id="pt_estgp_estgweb_services_courses_coursereport_documentmodel_learningresults_components_UnitsLearningResultsTable">
<unitslearningresultstable>
</unitslearningresultstable>
</script>
 
 
 
<script>
angular.module("courseReportApp").directive('boundModel', function() {
return {
require: 'ngModel',
link: function(scope, elem, attrs, ngModel) {
scope.$watch(attrs.boundModel, function(newValue, oldValue) {
if(newValue != oldValue) {
ngModel.$setViewValue(newValue);
ngModel.$render();
}
});
angular.module("courseReportApp").directive('boundModel', function () {
return {
require: 'ngModel',
link: function (scope, elem, attrs, ngModel) {
scope.$watch(attrs.boundModel, function (newValue, oldValue) {
if (newValue != oldValue) {
ngModel.$setViewValue(newValue);
ngModel.$render();
}
});
}
}
}
});
angular.module("courseReportApp").directive('unitslearningresultstable', function() {
});
angular.module("courseReportApp").directive('unitslearningresultstable', function () {
 
return {
restrict: 'E',
link: function($scope, element, attrs)
{
return {
restrict: 'E',
link: function ($scope, element, attrs) {
 
$scope.checkedDocuments = [];
$scope.checkUnit = function(document,collection)
{
if(document.checked)
{
var docContainer =
{
"document" : document,
"collection" : collection
$scope.checkedDocuments = [];
$scope.checkUnit = function (document, collection) {
if (document.checked) {
var docContainer =
{
"document": document,
"collection": collection
}
$scope.checkedDocuments.push(docContainer);
}
$scope.checkedDocuments.push(docContainer);
else {
angular.forEach($scope.checkedDocuments, function (documentContainer, key) {
if (documentContainer.document == document) {
var index = $scope.checkedDocuments.indexOf(documentContainer);
$scope.checkedDocuments.splice(index, 1);
}
});
}
}
else
{
angular.forEach($scope.checkedDocuments, function(documentContainer, key)
{
if(documentContainer.document == document)
{
var index = $scope.checkedDocuments.indexOf(documentContainer);
$scope.checkedDocuments.splice(index, 1);
}
$scope.changeDocumentCollection = function (collection) {
angular.forEach($scope.checkedDocuments, function (documentContainer, key) {
collection.ucs.push(documentContainer.document);
delete documentContainer.document.checked;
});
angular.forEach($scope.checkedDocuments, function (documentContainer, key) {
var index = documentContainer.collection.ucs.indexOf(documentContainer.document);
documentContainer.collection.ucs.splice(index, 1);
});
$scope.checkedDocuments = [];
}
}
$scope.changeDocumentCollection = function(collection)
{
angular.forEach($scope.checkedDocuments, function(documentContainer, key)
{
collection.ucs.push(documentContainer.document);
delete documentContainer.document.checked;
});
angular.forEach($scope.checkedDocuments, function(documentContainer, key)
{
var index = documentContainer.collection.ucs.indexOf(documentContainer.document);
documentContainer.collection.ucs.splice(index, 1);
});
$scope.checkedDocuments = [];
}
$scope.avg = function(field,container, childs)
{
if(!childs || childs.length == 0)
return 0;
var sum = 0;
var c;
for(c in childs)
{
if(childs[c] && childs[c][field])
sum += 1*childs[c][field];
$scope.avg = function (field, container, childs) {
if (!childs || childs.length == 0)
return 0;
var sum = 0;
var c;
for (c in childs) {
if (childs[c] && childs[c][field])
sum += 1 * childs[c][field];
}
container[field] = sum / childs.length;
return container[field];
}
container[field] = sum / childs.length;
return container[field];
}
$scope.percent = function(n,total)
{
if(!n || n == 0 || !total || total == 0)
$scope.percent = function (n, total) {
if (!n || n == 0 || !total || total == 0)
return 0;
return 100 * n / total;
}
$scope.reprovados = function (comp) {
if (comp.alunosInscritos && comp.semElementos && comp.aprovados)
return comp.alunosInscritos - comp.semElementos - comp.aprovados;
return 0;
return 100 * n / total;
}
$scope.reprovados = function(comp)
{
if(comp.alunosInscritos && comp.semElementos && comp.aprovados)
return comp.alunosInscritos - comp.semElementos - comp.aprovados;
return 0;
}
$scope.removeComponent = function(index,list)
{
list.splice(index,1);
}
$scope.hasYearUnits = function(year)
{
for(s in year.semesters)
{
if(year.semesters[s].ucs && year.semesters[s].ucs.length > 0)
return true;
}
return false;
}
$scope.isInvalidAnfHaveUcs = function(year,years,index)
{
if(year.ano > 0)
$scope.removeComponent = function (index, list) {
list.splice(index, 1);
}
$scope.hasYearUnits = function (year) {
for (s in year.semesters) {
if (year.semesters[s].ucs && year.semesters[s].ucs.length > 0)
return true;
}
return false;
}
$scope.isInvalidAnfHaveUcs = function (year, years, index) {
if (year.ano > 0)
return false;
 
var s;
for(s in year.semesters)
{
if(year.semesters[s].ucs && year.semesters[s].ucs.length > 0)
return true;
var s;
for (s in year.semesters) {
if (year.semesters[s].ucs && year.semesters[s].ucs.length > 0)
return true;
}
years.splice(index, 1);
return false;
}
years.splice(index,1);
return false;
}
$scope.addUc = function(semestre)
{
semestre.ucs.push(
$scope.addUc = function (semestre) {
semestre.ucs.push(
{
"@class" : "<%=UnitsLearningResultUc.class.getName()%>",
manual : true,
periodo : semestre.semestre,
"@class": "<%=UnitsLearningResultUc.class.getName()%>",
manual: true,
periodo: semestre.semestre,
alunosInscritos: 0,
aprovados: 0,
aprovados1013: 0,
386,19 → 400,18
reprovadosPercent: 0,
semElementos: 0,
semElementosPercent: 0,
sigesCode : 0
sigesCode: 0
}
);
}
$scope.addAno = function(comp)
{
if(!comp.years)
comp.years = [];
comp.years.push(
);
}
$scope.addAno = function (comp) {
if (!comp.years)
comp.years = [];
comp.years.push(
{
ano : 1,
"@class" : "<%=UnitsLearningResultYear.class.getName()%>",
manual : true,
ano: 1,
"@class": "<%=UnitsLearningResultYear.class.getName()%>",
manual: true,
"alunosInscritos": 0,
"aprovados": 0,
"aprovados1013": 0,
413,11 → 426,11
"reprovadosPercent": 0,
"semElementos": 0,
"semElementosPercent": 0,
semesters : [
semesters: [
{
"@class" : "<%=UnitsLearningResultSemester.class.getName()%>",
manual : true,
semestre : "S1",
"@class": "<%=UnitsLearningResultSemester.class.getName()%>",
manual: true,
semestre: "S1",
alunosInscritos: 0,
aprovados: 0,
aprovados1013: 0,
432,11 → 445,11
reprovadosPercent: 0,
semElementos: 0,
semElementosPercent: 0,
ucs : []
ucs: []
},
{
"@class" : "<%=UnitsLearningResultSemester.class.getName()%>",
manual : true,
"@class": "<%=UnitsLearningResultSemester.class.getName()%>",
manual: true,
semestre: "S2",
alunosInscritos: 0,
aprovados: 0,
452,25 → 465,27
reprovadosPercent: 0,
semElementos: 0,
semElementosPercent: 0,
ucs : []
ucs: []
}
]
}
);
);
}
 
},
templateUrl: function (elem, attrs) {
return "unitslearningresultstable";
}
 
},
templateUrl: function(elem,attrs) {
return "unitslearningresultstable";
}
}
});
});
</script>
<script type="text/ng-template" id="unitslearningresultstable">
 
 
<div class="sections">
<button class="btn btn-success" ng-click="addAno(comp)"><span class="glyphicon glyphicon-plus"></span> Ano Manual</button>
<button class="btn btn-success" ng-click="addAno(comp)"><span class="glyphicon glyphicon-plus"></span> Ano
Manual
</button>
<table class="table learning">
<thead>
<tr>
506,82 → 521,128
<tr class="year">
<td colspan="3" ng-if="year.ano &gt; 0">
 
<button ng-disabled="hasYearUnits(year)" class="btn btn-danger btn-xs" ng-click="removeComponent($index,comp.years)"><span class="glyphicon glyphicon-remove"></span></button>
<button ng-disabled="hasYearUnits(year)" class="btn btn-danger btn-xs"
ng-click="removeComponent($index,comp.years)"><span
class="glyphicon glyphicon-remove"></span></button>
<span ng-if="!year.manual">{{year.ano}}ª ano</span>
<span ng-if="year.manual">
<select ng-model="year.ano" ng-options="c.v as c.n for c in [{v:1,n:'1º Ano'},{v:2,n:'2º Ano'},{v:3,n:'3º Ano'},{v:4,n:'4º Ano'},{v:5,n:'5º Ano'}]">
<select ng-model="year.ano"
ng-options="c.v as c.n for c in [{v:1,n:'1º Ano'},{v:2,n:'2º Ano'},{v:3,n:'3º Ano'},{v:4,n:'4º Ano'},{v:5,n:'5º Ano'}]">
</select>
</span>
 
</td>
<td colspan="3" style="font-size: 1.0em !important" ng-if="isInvalidAnfHaveUcs(year,comp.years,$index)">
Unidades que não constam do plano (Verifique a situação com os serviços Académicos antes de continuar)
Unidades que não constam do plano (Verifique a situação com os serviços Académicos antes de
continuar)
poderão constar de um plano antigo ou ter o código siges desatualizado.
</td>
<td><input readonly="true" type="number" ng-model="year.cumprimentoProgramaPercent" bound-model="avg('cumprimentoProgramaPercent',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.alunosInscritos" bound-model="avg('alunosInscritos',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.semElementos" bound-model="avg('semElementos',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.semElementosPercent" bound-model="percent(year.semElementos,year.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="year.reprovados" bound-model="reprovados(year)"></td>
<td><input readonly="true" type="number" ng-model="year.reprovadosPercent" bound-model="percent(year.reprovados,year.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados" bound-model="year.aprovados1013*1 + year.aprovados1416*1 + year.aprovados1720*1"></td>
<td><input readonly="true" type="number" ng-model="year.aprovadosPercent" bound-model="percent(year.aprovados,year.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="year.cumprimentoProgramaPercent"
bound-model="avg('cumprimentoProgramaPercent',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.alunosInscritos"
bound-model="avg('alunosInscritos',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.semElementos"
bound-model="avg('semElementos',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.semElementosPercent"
bound-model="percent(year.semElementos,year.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="year.reprovados" bound-model="reprovados(year)"></td>
<td><input readonly="true" type="number" ng-model="year.reprovadosPercent"
bound-model="percent(year.reprovados,year.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados"
bound-model="year.aprovados1013*1 + year.aprovados1416*1 + year.aprovados1720*1"></td>
<td><input readonly="true" type="number" ng-model="year.aprovadosPercent"
bound-model="percent(year.aprovados,year.alunosInscritos)"></td>
 
<td><input readonly="true" type="number" ng-model="year.aprovados1013" bound-model="avg('aprovados1013',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados1013Percent" bound-model="percent(year.aprovados1013,year.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados1416" bound-model="avg('aprovados1416',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados1416Percent" bound-model="percent(year.aprovados1416,year.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados1720" bound-model="avg('aprovados1720',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados1720Percent" bound-model="percent(year.aprovados1720,year.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados1013"
bound-model="avg('aprovados1013',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados1013Percent"
bound-model="percent(year.aprovados1013,year.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados1416"
bound-model="avg('aprovados1416',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados1416Percent"
bound-model="percent(year.aprovados1416,year.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados1720"
bound-model="avg('aprovados1720',year,year.semesters)"></td>
<td><input readonly="true" type="number" ng-model="year.aprovados1720Percent"
bound-model="percent(year.aprovados1720,year.aprovados)"></td>
</tr>
 
<tr ng-if="false" ng-repeat-start="s in year.semesters" ></tr>
<tr ng-if="false" ng-repeat-start="s in year.semesters"></tr>
<tr class="period" ng-if="year.ano &gt; 0 || s.ucs.length > 0">
<td colspan="3" class="period">Semestre {{s.semestre}} <button ng-click="changeDocumentCollection(s)" data-toggle="tooltip" title="Mover unidades para aqui" class="btn btn-xs btn-warning" ng-show="checkedDocuments.length"><span class="glyphicon glyphicon-arrow-left"></span></button>
<td colspan="3" class="period">Semestre {{s.semestre}}
<button ng-click="changeDocumentCollection(s)" data-toggle="tooltip"
title="Mover unidades para aqui" class="btn btn-xs btn-warning"
ng-show="checkedDocuments.length"><span class="glyphicon glyphicon-arrow-left"></span>
</button>
 
<button class="btn btn-success pull-right" ng-click="addUc(s)"><span class="glyphicon glyphicon-plus"></span> UC Manual</button>
<button class="btn btn-success pull-right" ng-click="addUc(s)"><span
class="glyphicon glyphicon-plus"></span> UC Manual
</button>
</td>
<td><input readonly="true" type="number" ng-model="s.cumprimentoProgramaPercent" bound-model="avg('cumprimentoProgramaPercent',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.alunosInscritos" bound-model="avg('alunosInscritos',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.semElementos" bound-model="avg('semElementos',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.semElementosPercent" bound-model="percent(s.semElementos,s.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="s.reprovados" bound-model="reprovados(s)"></td>
<td><input readonly="true" type="number" ng-model="s.reprovadosPercent" bound-model="percent(s.reprovados,s.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados" bound-model="s.aprovados1013*1 + s.aprovados1416*1 + s.aprovados1720*1"></td>
<td><input readonly="true" type="number" ng-model="s.aprovadosPercent" bound-model="percent(s.aprovados,s.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="s.cumprimentoProgramaPercent"
bound-model="avg('cumprimentoProgramaPercent',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.alunosInscritos"
bound-model="avg('alunosInscritos',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.semElementos"
bound-model="avg('semElementos',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.semElementosPercent"
bound-model="percent(s.semElementos,s.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="s.reprovados" bound-model="reprovados(s)"></td>
<td><input readonly="true" type="number" ng-model="s.reprovadosPercent"
bound-model="percent(s.reprovados,s.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados"
bound-model="s.aprovados1013*1 + s.aprovados1416*1 + s.aprovados1720*1"></td>
<td><input readonly="true" type="number" ng-model="s.aprovadosPercent"
bound-model="percent(s.aprovados,s.alunosInscritos)"></td>
 
<td><input readonly="true" type="number" ng-model="s.aprovados1013" bound-model="avg('aprovados1013',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados1013Percent" bound-model="percent(s.aprovados1013,s.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados1416" bound-model="avg('aprovados1416',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados1416Percent" bound-model="percent(s.aprovados1416,s.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados1720" bound-model="avg('aprovados1720',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados1720Percent" bound-model="percent(s.aprovados1720,s.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados1013"
bound-model="avg('aprovados1013',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados1013Percent"
bound-model="percent(s.aprovados1013,s.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados1416"
bound-model="avg('aprovados1416',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados1416Percent"
bound-model="percent(s.aprovados1416,s.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados1720"
bound-model="avg('aprovados1720',s,s.ucs)"></td>
<td><input readonly="true" type="number" ng-model="s.aprovados1720Percent"
bound-model="percent(s.aprovados1720,s.aprovados)"></td>
</tr>
<tr ng-repeat="u in s.ucs" ng-class="{'alert-danger': u.error}" >
<td><input ng-model="u.error" type="hidden" bound-model="u.alunosInscritos < (u.aprovados*1 + u.semElementos*1)">
<tr ng-repeat="u in s.ucs" ng-class="{'alert-danger': u.error}">
<td><input ng-model="u.error" type="hidden"
bound-model="u.alunosInscritos < (u.aprovados*1 + u.semElementos*1)">
<input ng-model="u.checked" ng-click="checkUnit(u,s)" type="checkbox"></td>
<td><input type="text" ng-readonly="!u.manual || u.manual == false" ng-model="u.sigesCode"></td>
<td>
 
<input type="text" style="width: 150px" ng-if="!(!u.manual || u.manual == false)" ng-model="u.name">
<span ng-if="(!u.manual || u.manual == false)">{{u.name}}</span>
<button class="btn btn-danger btn-xs pull-right" ng-if="!(!u.manual || u.manual == false)" ng-click="removeComponent(index,s.ucs)"><span class="glyphicon glyphicon-remove"></span></button>
<button class="btn btn-danger btn-xs pull-right" ng-if="!(!u.manual || u.manual == false)"
ng-click="removeComponent(index,s.ucs)"><span class="glyphicon glyphicon-remove"></span>
</button>
</td>
<td><input type="number" ng-model="u.cumprimentoProgramaPercent"></td>
<td><input type="number" ng-model="u.alunosInscritos"></td>
<td><input type="number" ng-model="u.semElementos"></td>
<td><input readonly="true" type="number" ng-model="u.semElementosPercent" bound-model="percent(u.semElementos,u.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="u.semElementosPercent"
bound-model="percent(u.semElementos,u.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="u.reprovados" bound-model="reprovados(u)"></td>
<td><input readonly="true" type="number" ng-model="u.reprovadosPercent" bound-model="percent(u.reprovados,u.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="u.aprovados" bound-model="u.aprovados1013*1 + u.aprovados1416*1 + u.aprovados1720*1"></td>
<td><input readonly="true" type="number" ng-model="u.aprovadosPercent" bound-model="percent(u.aprovados,u.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="u.reprovadosPercent"
bound-model="percent(u.reprovados,u.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="u.aprovados"
bound-model="u.aprovados1013*1 + u.aprovados1416*1 + u.aprovados1720*1"></td>
<td><input readonly="true" type="number" ng-model="u.aprovadosPercent"
bound-model="percent(u.aprovados,u.alunosInscritos)"></td>
 
<td><input type="number" ng-model="u.aprovados1013"></td>
<td><input readonly="true" type="number" ng-model="u.aprovados1013Percent" bound-model="percent(u.aprovados1013,u.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="u.aprovados1013Percent"
bound-model="percent(u.aprovados1013,u.aprovados)"></td>
<td><input type="number" ng-model="u.aprovados1416"></td>
<td><input readonly="true" type="number" ng-model="u.aprovados1416Percent" bound-model="percent(u.aprovados1416,u.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="u.aprovados1416Percent"
bound-model="percent(u.aprovados1416,u.aprovados)"></td>
<td><input type="number" ng-model="u.aprovados1720"></td>
<td><input readonly="true" type="number" ng-model="u.aprovados1720Percent" bound-model="percent(u.aprovados1720,u.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="u.aprovados1720Percent"
bound-model="percent(u.aprovados1720,u.aprovados)"></td>
</tr>
<tr ng-if="false" ng-repeat-end></tr>
<tr ng-if="false" ng-repeat-end></tr>
589,21 → 650,34
<td colspan="3">Resultados Globais</td>
 
 
<td><input readonly="true" type="number" ng-model="comp.cumprimentoProgramaPercent" bound-model="avg('cumprimentoProgramaPercent',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.alunosInscritos" bound-model="avg('alunosInscritos',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.semElementos" bound-model="avg('semElementos',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.semElementosPercent" bound-model="percent(comp.semElementos,comp.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="comp.reprovados" bound-model="reprovados(comp)"></td>
<td><input readonly="true" type="number" ng-model="comp.reprovadosPercent" bound-model="percent(comp.reprovados,comp.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados" bound-model="comp.aprovados1013*1 + comp.aprovados1416*1 + comp.aprovados1720*1"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovadosPercent" bound-model="percent(comp.aprovados,comp.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="comp.cumprimentoProgramaPercent"
bound-model="avg('cumprimentoProgramaPercent',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.alunosInscritos"
bound-model="avg('alunosInscritos',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.semElementos"
bound-model="avg('semElementos',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.semElementosPercent"
bound-model="percent(comp.semElementos,comp.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="comp.reprovados" bound-model="reprovados(comp)"></td>
<td><input readonly="true" type="number" ng-model="comp.reprovadosPercent"
bound-model="percent(comp.reprovados,comp.alunosInscritos)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados"
bound-model="comp.aprovados1013*1 + comp.aprovados1416*1 + comp.aprovados1720*1"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovadosPercent"
bound-model="percent(comp.aprovados,comp.alunosInscritos)"></td>
 
<td><input readonly="true" type="number" ng-model="comp.aprovados1013" bound-model="avg('aprovados1013',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados1013Percent" bound-model="percent(comp.aprovados1013,comp.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados1416" bound-model="avg('aprovados1416',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados1416Percent" bound-model="percent(comp.aprovados1416,comp.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados1720" bound-model="avg('aprovados1720',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados1720Percent" bound-model="percent(comp.aprovados1720,comp.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados1013"
bound-model="avg('aprovados1013',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados1013Percent"
bound-model="percent(comp.aprovados1013,comp.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados1416"
bound-model="avg('aprovados1416',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados1416Percent"
bound-model="percent(comp.aprovados1416,comp.aprovados)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados1720"
bound-model="avg('aprovados1720',comp,comp.years)"></td>
<td><input readonly="true" type="number" ng-model="comp.aprovados1720Percent"
bound-model="percent(comp.aprovados1720,comp.aprovados)"></td>
</tr>
</tbody>
</table>
612,57 → 686,122
</script>
 
 
<script type="text/ng-template"
id="pt_estgp_estgweb_services_courses_coursereport_documentmodel_learningresults_components_GlobalLearningResultsChartImg">
<globallearningresultschartimg>
</globallearningresultschartimg>
</script>
<script>
angular.module("courseReportApp").directive('globallearningresultschartimg', function () {
 
return {
restrict: 'E',
link: function ($scope, element, attrs) {
$scope.generateChart = function (comp) {
 
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/courseReport.do",
"generateGlobalLearningResultsChartImg",
{
"courseReportDocument": BacoJS.stringifyOrdered(angular.element($("#courseReportApp")).scope().report)
},
"#courseReportApp",
function (chart) {
comp.image = chart.image;
comp.WIDTH = chart.WIDTH;
comp.HEIGHT = chart.HEIGHT;
comp.imageUrl = "<%=request.getContextPath()%>/repositoryStream/" + comp.image.identifier + "?" + new Date().getTime();
angular.element($("#courseReportApp")).scope().$apply();
},
function () {
}
);
}
 
 
},
templateUrl: function (elem, attrs) {
return "globallearningresultschartimg";
}
}
});
</script>
<script type="text/ng-template" id="globallearningresultschartimg">
<div class="imageComponent component">
 
<div class="componentBody">
<div class="form-group clearfix">
<label class="col-md-2 control-label">Legenda</label>
<div class="col-md-10">
<input type="text" class="form-control" rows="10" ng-model="comp.title">
</div>
</div>
<div class="form-group clearfix">
<div class="col-md-2 control-label">
<button class="btn btn-default" ng-click="generateChart(comp)">Refrescar/Gerar Gráfico</button>
</div>
<div class="col-md-10">
<label ng-if="comp.image.identifier"> Limites do PDF </label>
<div ng-if="comp.image.identifier"
style="text-align: center; width: 595px; border: 1px solid black; padding: 45px">
<center>
<div style="width:'{{comp.width}}'px ;height:'{{comp.height}}'px; max-width: 500px; max-height: 750px" resizable
on-resize="resize($evt, $ui, comp)">
<img ng-if="comp.imageUrl" style="width: 100%;height: 100%" ng-src="{{comp.imageUrl}}">
<img ng-if="!comp.imageUrl" style="width: 100%;height: 100%"
ng-src="{{'<%=request.getContextPath()%>/repositoryStream/' + comp.image.identifier}}">
</div>
(Se desejar altere o tamanho da imagem arrastando no canto inferior direito)
</center>
</div>
</div>
</div>
</div>
</div>
</script>
 
 
 
 
 
 
<script type="text/ng-template" id="pt_estgp_estgweb_services_courses_coursereport_documentmodel_learningresults_components_GlobalLearningResultsChartImg">
<globallearningresultschartimg>
</globallearningresultschartimg>
<script type="text/ng-template"
id="pt_estgp_estgweb_services_courses_coursereport_documentmodel_learningresults_components_GlobalLearningResultsChartYearImg">
<globallearningresultschartyearimg>
</globallearningresultschartyearimg>
</script>
<script>
angular.module("courseReportApp").directive('globallearningresultschartimg', function() {
angular.module("courseReportApp").directive('globallearningresultschartyearimg', function () {
 
return {
restrict: 'E',
link: function($scope, element, attrs)
{
$scope.generateChart = function(comp)
{
link: function ($scope, element, attrs) {
$scope.generateChart = function (comp) {
 
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/courseReport.do",
"generateGlobalLearningResultsChartImg",
{
"courseReportDocument" : BacoJS.stringifyOrdered(angular.element($("#courseReportApp")).scope().report)
},
"#courseReportApp",
function(repositoryFile4JsonView)
{
comp.image = repositoryFile4JsonView;
comp.imageUrl = "<%=request.getContextPath()%>/repositoryStream/" + comp.image.identifier + "?" + new Date().getTime();
angular.element($("#courseReportApp")).scope().$apply();
},
function(){}
"<%=request.getContextPath()%>/user/courseReport.do",
"generateGlobalLearningResultsChartYearImg",
{
"courseReportDocument": BacoJS.stringifyOrdered(angular.element($("#courseReportApp")).scope().report)
},
"#courseReportApp",
function (chart) {
comp.image = chart.image;
comp.WIDTH = chart.WIDTH;
comp.HEIGHT = chart.HEIGHT;
comp.imageUrl = "<%=request.getContextPath()%>/repositoryStream/" + comp.image.identifier + "?" + new Date().getTime();
angular.element($("#courseReportApp")).scope().$apply();
},
function () {
}
);
}
 
 
},
templateUrl: function(elem,attrs) {
return "globallearningresultschartimg";
templateUrl: function (elem, attrs) {
return "globallearningresultschartyearimg";
}
}
});
</script>
<script type="text/ng-template" id="globallearningresultschartimg">
<script type="text/ng-template" id="globallearningresultschartyearimg">
<div class="imageComponent component">
 
<div class="componentBody">
678,11 → 817,14
</div>
<div class="col-md-10">
<label ng-if="comp.image.identifier"> Limites do PDF </label>
<div ng-if="comp.image.identifier" style="text-align: center; width: 595px; border: 1px solid black; padding: 45px">
<div ng-if="comp.image.identifier"
style="text-align: center; width: 595px; border: 1px solid black; padding: 45px">
<center>
<div style="width: 200px;height: 200px; max-width: 500px; max-height: 750px" resizable on-resize="resize($evt, $ui, comp)">
<img ng-if="comp.imageUrl" style="width: 100%;height: 100%" ng-src="{{comp.imageUrl}}">
<img ng-if="!comp.imageUrl" style="width: 100%;height: 100%" ng-src="{{'<%=request.getContextPath()%>/repositoryStream/' + comp.image.identifier}}">
<div style="width:'{{comp.width}}'px ;height:'{{comp.height}}'px; max-width: 500px; max-height: 750px" resizable
on-resize="resize($evt, $ui, comp)">
<img ng-if="comp.imageUrl" style="width: 100%;height: 100%" ng-src="{{comp.imageUrl}}">
<img ng-if="!comp.imageUrl" style="width: 100%;height: 100%"
ng-src="{{'<%=request.getContextPath()%>/repositoryStream/' + comp.image.identifier}}">
</div>
(Se desejar altere o tamanho da imagem arrastando no canto inferior direito)
</center>
691,4 → 833,8
</div>
</div>
</div>
</script>
</script>
 
 
<!-- TESTE -->
 
/branches/grupo6/impl/src/web/user/courses/courseReportEdit.jsp
46,48 → 46,47
// all coords and widths are in jsPDF instance's declared units
// 'inches' in this case
pdf.fromHTML(
source, // HTML string or DOM elem ref.
margins.left, // x coord
margins.top, { // y coord
'width': margins.width, // max width of content on PDF
'elementHandlers': specialElementHandlers
},
source, // HTML string or DOM elem ref.
margins.left, // x coord
margins.top, { // y coord
'width': margins.width, // max width of content on PDF
'elementHandlers': specialElementHandlers
},
 
function (dispose) {
// dispose: object with X, Y of the last line add to the PDF
// this allow the insertion of new lines after html
//var pdfDocument = pdf.save('Test.pdf');
var pdfDocument = pdf.output();
function (dispose) {
// dispose: object with X, Y of the last line add to the PDF
// this allow the insertion of new lines after html
//var pdfDocument = pdf.save('Test.pdf');
var pdfDocument = pdf.output();
 
var boundary = '---------------------------';
boundary += Math.floor(Math.random()*32768);
boundary += Math.floor(Math.random()*32768);
boundary += Math.floor(Math.random()*32768);
var boundary = '---------------------------';
boundary += Math.floor(Math.random() * 32768);
boundary += Math.floor(Math.random() * 32768);
boundary += Math.floor(Math.random() * 32768);
 
var body = '';
body += '--' + boundary + '\r\n' +
'Content-Disposition: form-data; name="filesInputId-UPLOAD[]"; filename="20170530_210340.pdf"' + '\r\n';
body += 'Content-Type: application/pdf';
body += '\r\n\r\n';
body += pdfDocument;
body += '\r\n'
body += '--' + boundary + '--';
var body = '';
body += '--' + boundary + '\r\n' +
'Content-Disposition: form-data; name="filesInputId-UPLOAD[]"; filename="20170530_210340.pdf"' + '\r\n';
body += 'Content-Type: application/pdf';
body += '\r\n\r\n';
body += pdfDocument;
body += '\r\n'
body += '--' + boundary + '--';
 
 
 
$.ajax({
type: "POST",
cache: false,
url: "<%=request.getContextPath()%>/filesUpload",
data: body ,
processData: false,
contentType : 'multipart/form-data; boundary=' + boundary,
success: function (data) {
alert('success');
return false;
}
});
}, margins
$.ajax({
type: "POST",
cache: false,
url: "<%=request.getContextPath()%>/filesUpload",
data: body,
processData: false,
contentType: 'multipart/form-data; boundary=' + boundary,
success: function (data) {
alert('success');
return false;
}
});
}, margins
);
}
</script>
98,7 → 97,7
String year = request.getParameter("year");
AbstractDao.getCurrentSession().beginTransaction();
CourseImpl courseImpl = DaoFactory.getCourseDaoImpl().findCourseByCode(courseCode);
request.setAttribute("course",courseImpl);
request.setAttribute("course", courseImpl);
CourseReportDocument courseReport = null;
try {
courseReport = new CourseReportServices().createNewCourseReportDocument(courseCode, year);
107,243 → 106,238
e.printStackTrace();
}
String courseReportJson = courseReport.toJson();
request.setAttribute("courseDocumentJson",courseReportJson);
request.setAttribute("courseDocument",courseReport);
request.setAttribute("courseDocumentJson", courseReportJson);
request.setAttribute("courseDocument", courseReport);
 
%>
<%--<a href="javascript:demoFromHTML()" class="button">Run Code</a>--%>
 
<div class="container-fluid">
 
<style>
.separatorSection
{
border: 1px solid #ddd;
}
</style>
<style>
.separatorSection {
border: 1px solid #ddd;
}
</style>
 
 
<!-- Apresentacao da Unidade -->
<!-- Apresentacao da Unidade -->
 
<div class="panel panel-default">
<div class="panel-heading">
Relatório Anual do curso: ${course.name}
</div>
<div class="panel-body">
<div class="panel panel-default">
<div class="panel-heading">
Relatório Anual do curso: ${course.name}
</div>
<div class="panel-body">
 
<p><b class="label-info">Tipo de Curso:</b> <bean:message key="course.${course.degree}"/></p>
<p><b class="label-info">Ano Lectivo:</b> ${course.importYear}</p>
<p><b class="label-info">Departamento:</b> ${course.department.name}</p>
<p><b class="label-info">Escola:</b> ${course.department.courseSchool.name}</p>
<p><b class="label-info">Tipo de Curso:</b> <bean:message key="course.${course.degree}"/></p>
<p><b class="label-info">Ano Lectivo:</b> ${course.importYear}</p>
<p><b class="label-info">Departamento:</b> ${course.department.name}</p>
<p><b class="label-info">Escola:</b> ${course.department.courseSchool.name}</p>
 
 
<script>
 
//Especifico da aplicacao
var courseReportApp = angular.module('courseReportApp', ['ui.tree']);
GLOBAL_BacoAngularAppDependencies.push('courseReportApp');
 
<script>
 
//Especifico da aplicacao
var courseReportApp = angular.module('courseReportApp', ['ui.tree']);
GLOBAL_BacoAngularAppDependencies.push('courseReportApp');
 
 
courseReportApp.directive('resizable', function () {
return {
restrict: 'A',
scope: {
callback: '&onResize'
},
link: function postLink(scope, elem, attrs) {
elem.resizable();
elem.on('resize', function (evt, ui, comp) {
scope.$apply(function() {
if (scope.callback) {
scope.callback({$evt: evt, $ui: ui, $comp: comp });
courseReportApp.directive('resizable', function () {
return {
restrict: 'A',
scope: {
callback: '&onResize'
},
link: function postLink(scope, elem, attrs) {
elem.resizable();
elem.on('resize', function (evt, ui, comp) {
scope.$apply(function () {
if (scope.callback) {
scope.callback({$evt: evt, $ui: ui, $comp: comp});
}
})
});
}
})
};
});
}
};
});
 
 
courseReportApp.controller('courseReportAppController', function($scope)
{
courseReportApp.controller('courseReportAppController', function ($scope) {
 
$scope.docAppSelector = "#courseReportApp";
$scope.report = <%=courseReportJson%>
$scope.docAppSelector = "#courseReportApp";
$scope.report = <%=courseReportJson%>
 
$scope.resize = function(evt,ui,comp) {
//console.log (evt,ui);
comp.width = ui.size.width;
comp.height = ui.size.height;
}
$scope.resize = function (evt, ui, comp) {
//console.log (evt,ui);
comp.width = ui.size.width;
comp.height = ui.size.height;
}
 
/**
* @classe class to match
* @superClasses array of strings
* */
$scope.contains = function(obj,classe)
{
if(obj['@class'] && obj['@class'] == classe)
return true;
if(obj.allSuperClasses)
{
for(var i in obj.allSuperClasses)
{
if(classe == obj.allSuperClasses[i])
return true;
}
}
return false;
}
/**
* @classe class to match
* @superClasses array of strings
* */
$scope.contains = function (obj, classe) {
if (obj['@class'] && obj['@class'] == classe)
return true;
if (obj.allSuperClasses) {
for (var i in obj.allSuperClasses) {
if (classe == obj.allSuperClasses[i])
return true;
}
}
return false;
}
 
$scope.showSep = function(section,subSection)
{
var s;
for(s in section.sections)
{
section.sections[s].active = false;
}
/*$(".separatorSectionNav").each(function()
{
angular.element($(this)).scope().section.active = false;
});*/
subSection.active = true;
}
$scope.showSep = function (section, subSection) {
var s;
for (s in section.sections) {
section.sections[s].active = false;
}
/*$(".separatorSectionNav").each(function()
{
angular.element($(this)).scope().section.active = false;
});*/
subSection.active = true;
}
 
/**
* Este metodo devolve o template mais profundo na hierarquia de classes
* permitindo emular o override, quanto mais especifica for a classe
* e caso exista template é esse o template devolvido
* procura um script com o id da classe e se nao existir
* vai subindo nas super classes
* @param obj
* @returns {*}
*/
$scope.class2id = function(obj)
{
var objClassId = obj["@class"].replaceAll(".","_");
if($("script#" + objClassId).length > 0)
{
return objClassId;
}
if(obj.allSuperClasses)
{
var s;
for(s in obj.allSuperClasses)
{
var superClass = obj.allSuperClasses[s];
var superClassId = superClass.replaceAll(".","_");
if($("script#" + superClassId).length > 0)
{
return superClassId;
/**
* Este metodo devolve o template mais profundo na hierarquia de classes
* permitindo emular o override, quanto mais especifica for a classe
* e caso exista template é esse o template devolvido
* procura um script com o id da classe e se nao existir
* vai subindo nas super classes
* @param obj
* @returns {*}
*/
$scope.class2id = function (obj) {
var objClassId = obj["@class"].replaceAll(".", "_");
if ($("script#" + objClassId).length > 0) {
return objClassId;
}
if (obj.allSuperClasses) {
var s;
for (s in obj.allSuperClasses) {
var superClass = obj.allSuperClasses[s];
var superClassId = superClass.replaceAll(".", "_");
if ($("script#" + superClassId).length > 0) {
return superClassId;
}
}
}
return obj["@class"].replaceAll(".", "_");
}
}
}
return obj["@class"].replaceAll(".","_");
}
 
$scope.addText = function(parentCustomPane)
{
$scope.addSimpleDocComponent(parentCustomPane,"pt.estgp.estgweb.utils.documentBuilder.TextComponent")
}
$scope.addText = function (parentCustomPane) {
$scope.addSimpleDocComponent(parentCustomPane, "pt.estgp.estgweb.utils.documentBuilder.TextComponent")
}
 
$scope.addImage = function(parentCustomPane)
{
$scope.addSimpleDocComponent(parentCustomPane,"pt.estgp.estgweb.utils.documentBuilder.ImageComponent")
}
$scope.addImage = function (parentCustomPane) {
$scope.addSimpleDocComponent(parentCustomPane, "pt.estgp.estgweb.utils.documentBuilder.ImageComponent")
}
 
$scope.addSimpleDocComponent = function(parentCustomPane,classComponent)
{
if(!parentCustomPane.components)
{
parentCustomPane.components = [];
}
parentCustomPane.components.push(
{
"@class" : classComponent
$scope.addSimpleDocComponent = function (parentCustomPane, classComponent) {
if (!parentCustomPane.components) {
parentCustomPane.components = [];
}
parentCustomPane.components.push(
{
"@class": classComponent
}
);
}
);
}
$scope.removeComponent = function(index,array)
{
array.splice(index,1);
}
$scope.removeComponent = function (index, array) {
array.splice(index, 1);
}
 
$scope.callbackUploadedFiles = function(filesUploadResult,token,targetElement)
{
var modelObject = BacoAngularUtils.getAngularElementModel(targetElement);
$scope.callbackUploadedFiles = function (filesUploadResult, token, targetElement)
{
var modelObject = BacoAngularUtils.getAngularElementModel(targetElement);
 
if(modelObject.image && modelObject.image.identifier)
{
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/json/repository.do",
"replaceRepositoryFileFromTempPrivateDomain",
{
"identifier" : modelObject.image.identifier,
"fileUploaded" : BacoJS.stringifyOrdered(filesUploadResult.uploadedFiles[0])
},
"#courseReportApp",
function(repositoryFile4JsonView)
{
modelObject.image = repositoryFile4JsonView;
//image URL is generated on reimport just to avoid caching
modelObject.imageUrl = "<%=request.getContextPath()%>/repositoryStream/" + modelObject.image.identifier + "?" + new Date().getTime();
angular.element($("#courseReportApp")).scope().$apply();
},
function(){}
);
}
else
{
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/json/repository.do",
"saveRepositoryFileFromTempPrivateDomain",
{
"fileUploaded" : BacoJS.stringifyOrdered(filesUploadResult.uploadedFiles[0])
},
"#courseReportApp",
function(repositoryFile4JsonView)
{
modelObject.image = repositoryFile4JsonView;
modelObject.imageUrl = "<%=request.getContextPath()%>/repositoryStream/" + modelObject.image.identifier + "?" + new Date().getTime();
angular.element($("#courseReportApp")).scope().$apply();
},
function(){}
);
}
}
if (modelObject.image && modelObject.image.identifier) {
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/json/repository.do",
"replaceRepositoryFileFromTempPrivateDomain",
{
"identifier": modelObject.image.identifier,
"fileUploaded": BacoJS.stringifyOrdered(filesUploadResult.uploadedFiles[0])
},
"#courseReportApp",
function (repositoryFile4JsonView) {
modelObject.image = repositoryFile4JsonView;
//image URL is generated on reimport just to avoid caching
modelObject.imageUrl = "<%=request.getContextPath()%>/repositoryStream/" + modelObject.image.identifier + "?" + new Date().getTime();
$scope.$apply();
},
function () {
}
);
}
else {
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/json/repository.do",
"saveRepositoryFileFromTempPrivateDomain",
{
"fileUploaded": BacoJS.stringifyOrdered(filesUploadResult.uploadedFiles[0])
},
"#courseReportApp",
function (repositoryFile4JsonView) {
modelObject.image = repositoryFile4JsonView;
modelObject.imageUrl = "<%=request.getContextPath()%>/repositoryStream/" + modelObject.image.identifier + "?" + new Date().getTime();
angular.element($("#courseReportApp")).scope().$apply();
},
function () {
}
);
}
}
 
$scope.save = function () {
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/courseReport.do",
"save",
{
"courseReportDocument": BacoJS.stringifyOrdered($scope.report)
},
"#courseReportApp",
function (resposta) {
$scope.$apply();
},
function () {
}
);
}
 
 
});
</script>
 
});
</script>
<!--TEMPLATES FOR DOCUMENT BUILDER-->
<jsp:include page="../utils/documentsBuilder.jsp"/>
<jsp:include page="coursereport/templates.jsp"/>
 
<!--TEMPLATES FOR DOCUMENT BUILDER-->
<jsp:include page="../utils/documentsBuilder.jsp"/>
<jsp:include page="coursereport/templates.jsp"/>
<div class="form-vertical">
<div id="courseReportApp" ng-app="courseReportApp" ng-controller="courseReportAppController">
<div class="web-messages"></div>
<button ng-click="save()" class="btn btn-success">Salvar</button>
<div ng-init="section=report;"
ng-include="'pt_estgp_estgweb_utils_documentBuilder_DocumentSection'">
 
<div class="form-vertical">
<div id="courseReportApp" ng-app="courseReportApp" ng-controller="courseReportAppController">
</div>
 
<div ng-init="section=report;" ng-include="'pt_estgp_estgweb_utils_documentBuilder_DocumentSection'">
<pre class="code">{{ report | json }}</pre>
 
</div>
 
<!-- <pre class="code">{{ report | json }}</pre>-->
</div><!--App-->
</div> <!--form-->
 
</div><!--Panel Body-->
 
</div><!--Panel-->
 
</div><!--App-->
</div> <!--form-->
</div>
<!--container-fluid-->
 
</div><!--Panel Body-->
 
</div><!--Panel-->
 
</div><!--container-fluid-->
 
<%
AbstractDao.getCurrentSession().getTransaction().commit();
%>
/branches/grupo6/impl/src/web/user/utils/documentsBuilder.jsp
1,5 → 1,9
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<style>
.sections
{
padding-left: 20px;
}
.buttonTools
{
border: 1px solid gray;
23,7 → 27,12
}
</style>
 
<!--Require templateObj-->
<script type="text/ng-template" id="callDocumentTemplate">
 
<div ng-include="class2id(templateObj)"></div>
</script>
 
<%--
customPane Need component customPane in variable customPane
docAppSelector selector usualy an html ID for ng-app example #docReport
46,37 → 55,38
<div class="clearfix" ng-repeat="subComp in comp.components" ng-init="parent=comp;comp=subComp" ng-include="class2id(subComp)">
 
</div>
<div>
</div>
<div>
</div>
</script>
 
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_ImageComponent">
<div class="imageComponent component">
<div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="buttonTools clearfix">
<button class="btn btn-danger pull-right" type="button" ng-click="removeComponent($index,parent.components)">
<span class="glyphicon glyphicon-remove"></span>
</button>
<label>Componente de Imagem (Use esta funcinalidade para adicionar gráficos ou tabelas que ache necessárias)</label>
<button class="btn btn-danger pull-right" type="button" ng-click="removeComponent($index,parent.components)">
<span class="glyphicon glyphicon-remove"></span>
</button>
<label>Componente de Imagem (Use esta funcinalidade para adicionar gráficos ou tabelas que ache necessárias)</label>
</div>
 
<div class="componentBody" ng-if="comp['@class']=='pt.estgp.estgweb.utils.documentBuilder.ImageComponent'">
<div class="form-group clearfix" ng-if="comp.image.identifier">
<label class="col-md-2 control-label">Legenda</label>
<div class="col-md-10">
<input type="text" class="form-control" rows="10" ng-model="comp.title">
</div>
<div class="componentBody">
<div class="form-group clearfix" ng-if="comp.image.identifier">
<label class="col-md-2 control-label">Legenda</label>
<div class="col-md-10">
<input type="text" class="form-control" rows="10" ng-model="comp.title">
</div>
<div class="form-group clearfix">
<div class="col-md-2 control-label">
<a class="btn btn-default" href="#" ng-model="comp"
data-title="Escolha Imagem"
data-showmetafields="false"
data-confirmonupload="true"
data-toggle="modal"
data-target="#filesUploadModal"
data-multiple="false"
data-allowed-extensions="jpg,png,gif"
data-callback-target-function="angular.element($('{{docAppSelector}}')).scope().callbackUploadedFiles">
</div>
<div class="form-group clearfix">
<div class="col-md-2 control-label">
<a class="btn btn-default" href="#"
ng-model="comp"
data-title="Escolha Imagem"
data-showmetafields="false"
data-confirmonupload="true"
data-toggle="modal"
data-target="#filesUploadModal"
data-multiple="false"
data-allowed-extensions="jpg,png,gif"
data-callback-target-function="angular.element($('{{docAppSelector}}')).scope().callbackUploadedFiles">
<span ng-if="comp.image.identifier">
Substituir Imagem
</span>
84,26 → 94,26
Carregar Imagem
</span>
 
<span class="glyphicon glyphicon-upload"/>
<span class="glyphicon glyphicon-upload"/>
 
</a>
</a>
</div>
 
<div class="col-md-10">
<div ng-if="!(comp.image.identifier)">
Clique em carregar imagens e escolha uma imagem para adicionar nesta secção.
</div>
 
<div class="col-md-10">
<div ng-if="!(comp.image.identifier)">
Clique em carregar imagens e escolha uma imagem para adicionar nesta secção.
</div>
 
<label ng-if="comp.image.identifier"> Limites do PDF </label>
<div ng-if="comp.image.identifier" style="text-align: center; width: 595px; border: 1px solid black; padding: 45px">
<center>
<div style="width: 200px;height: 200px; max-width: 500px; max-height: 750px" resizable on-resize="resize($evt, $ui, comp)">
<img style="width: 100%;height: 100%" ng-src="{{comp.imageUrl}}">
</div>
(Se desejar altere o tamanho da imagem arrastando no canto inferior direito)
</center>
</div>
<label ng-if="comp.image.identifier"> Limites do PDF </label>
<div ng-if="comp.image.identifier" style="text-align: center; width: 595px; border: 1px solid black; padding: 45px">
<center>
<div style="width: 200px;height: 200px; max-width: 500px; max-height: 750px" resizable on-resize="resize($evt, $ui, comp)">
<img style="width: 100%;height: 100%" ng-src="{{comp.imageUrl}}">
</div>
(Se desejar altere o tamanho da imagem arrastando no canto inferior direito)
</center>
</div>
</div>
</div>
</div>
</div>
135,4 → 145,33
</div>
</div>
</div>
</script>
</script>
 
<!--
@section objeto com seccoes e componentes
@optional @chapter capitulo do documento para esta seccao para contcatenar às subsections
-->
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_DocumentSection">
<div class="sections">
<ul class="nav nav-tabs">
<li ng-model="section" class="separatorSectionNav"
ng-class="{ active : subSection.active}"
ng-repeat="subSection in section.sections">
<a ng-click="showSep(section,subSection)"> {{$chapter}}{{$index+1}} - {{subSection.title}}</a>
</li>
</ul>
<div ng-model="subSection"
ng-class="{ hidden: !subSection.active }"
ng-repeat="subSection in section.sections"
class="separatorSection clearfix">
<div ng-repeat="comp in subSection.components"
ng-include="class2id(comp)">
 
</div>
<div ng-if="subSection.sections"
ng-init="section=subSection;$chapter=$chapter+($index+1)+'.'"
ng-include="class2id(subSection)">
</div>
</div>
</div>
</script>
/branches/grupo6/impl/build.xml
66,6 → 66,7
<target name="initDirs">
<mkdir dir="${log.dir}"/>
<mkdir dir="${data.dir}"/>
<mkdir dir="${tmp.dir}"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir.classes}"/>
<mkdir dir="${build.dir.war}"/>
194,6 → 195,7
<!--
Build distribution files
-->
 
<target name="dist" depends="build">
<jar jarfile="${dist.dir}/estgweb.jar">
<fileset dir="${build.dir.classes}" includes="**/*.class"/>
241,7 → 243,8
</replace>
</target>
 
<target name="build.war" depends="dist" description="Make war distribution">
<target name="build.war" depends="build"
description="Make war distribution">
<mkdir dir="${build.dir.war}"/>
<mkdir dir="${build.dir.war}/WEB-INF"/>
<mkdir dir="${build.dir.war}/WEB-INF/lib"/>
320,14 → 323,14
 
 
</copy>
<copy file="${dist.dir}/estgweb.jar" todir="${build.dir.war}/WEB-INF/lib"/>
<copy todir="${build.dir.war}/WEB-INF" overwrite="true">
 
<copy todir="${build.dir.war}/WEB-INF">
<fileset dir="${conf.dir}/WEB-INF">
<include name="**/*.*"/>
</fileset>
</copy>
<mkdir dir="${build.dir.war}/WEB-INF/classes"/>
<copy todir="${build.dir.war}/WEB-INF/classes" overwrite="true">
<copy todir="${build.dir.war}/WEB-INF/classes">
<fileset dir="${build.dir.classes}">
<include name="**/*.types"/>
<include name="**/*.properties"/>
339,9 → 342,10
<include name="**/*.xsl"/>
<include name="**/*.xsd"/>
<include name="**/*.json"/>
<include name="**/*.class"/>
</fileset>
</copy>
<copy todir="${build.dir.war}" overwrite="true">
<copy todir="${build.dir.war}" >
<fileset dir="src/web">
<include name="**/*"/>
</fileset>
884,7 → 888,7
 
<target name="generateJsonSoaServicesFile" >
<!--
<java fork="true" classname="${soa.services.json.class}" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<java fork="true" classname="${soasoa.services.json.class}" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<arg value="${build.dir.classes}"/>
<arg value="${basedir}/${src.dir}/"/>
</java>
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Pagina.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitDeliverable.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoCursoAfeto.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPergunta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SurveyStatsGraphic.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/GenericUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/EventGeneric.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupDocentesAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusiveDecisionHolderInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgram.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationSeparator.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupCursosAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Announcement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndMessageInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPoolThreadInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Survey.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RecordThesis.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionPossibleAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentInterface.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/PageSection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionCandidateAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPoolInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SruSourceCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/EventClass.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RecordJob.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGradesStatusEpoca.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Teacher.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/PageRepositoryFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgenservices.repositorydocuments.RepositoryFileProxy;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitSummary.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Record.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnRoleSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnTaskFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportDocenteFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
14,6 → 14,7
private Date updateDate;
private Date saveDate;
private String importYear;
private String courseReport;
private boolean separatedTurmas;
private Course course;
 
49,6 → 50,13
public void setImportYear(String importYear) {
this.importYear = importYear;
}
public String getCourseReport() {
return this.courseReport;
}
public void setCourseReport(String courseReport) {
this.courseReport = courseReport;
}
public boolean isSeparatedTurmas() {
return this.separatedTurmas;
}
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableDomainObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Blog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActor.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.Todos;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Assessment.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RepositoryFileVersion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/UserRoleConfig.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SessionObjectId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTask.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.Todos;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoUnidadeCurricularAfeta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusiveDecisionHolder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableBoolean.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonth.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Page.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseStudiesPlan.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoAlunoRequisitado.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Process.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/AppUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPool.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/PageText.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Questionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPerguntaEsforco.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioUnidade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndMessages.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.TargetActorType;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableString.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGateway.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYearId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableJson.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Group.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnit.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGradesEpocaAvaliacao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoTipologiaRequisitada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SigesUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAnnouncement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/ManagedIdentifierCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryCategory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RecordOther.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonthId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/DigitalDelivery.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/UserSession.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitEvaluation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportCursoFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroup.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorSelectorCondicionado.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgramPart2.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioCurso.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioResposta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioTipologia.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitBlog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Reminder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RecordEventOrganization.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RecordPaper.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusiveInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Configuration.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/PageContent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SessionObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.io.Serializable;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitBlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/JobParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableInteger.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcessInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/EventFormacoes.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/ComunicationFolder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Student.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableFloat.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDay.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnUserSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioTipologia.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariable.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.VariableType;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RecordProject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/PageExternalObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEvent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitTurma.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SurveyResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RepositoryFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/ProcessEventFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/ProcessEvent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioUnidade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusive.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableLong.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowConnectorInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SruSource.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcess.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableJsonArray.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/ManagedIdentifier.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Course.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/PageExternalUrl.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitGrade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/AssessmentResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDayId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTask.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocument.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/User.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/EventUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Image.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapHistoryDimension.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Teste.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioAnswerEsforco.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryTarget.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorSelectorWithDomainObjectLoader.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUserAssociation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationDirectory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioHistoryDrive.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAssignement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowConnector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioRespostaRequisitada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEnd.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowObjectInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioCurso.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseSchool.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Job.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.io.Serializable;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnAbstractActorSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskScheduler.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/EventGenericRecord.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskSchedulerParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/CourseDepartment.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/MetaProcess.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/SurveyStructuralNode.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableDouble.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGrades.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/Seccao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6/impl/gen/java/pt/estgp/estgweb/domain/UrlStat.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated Dec 7, 2017 11:01:13 AM by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo6
Property changes:
Added: svn:ignore
+ .idea
BacoProj.iml
backUp.rar
/branches/grupo1/impl/conf/berserk/sd.xml
997,17 → 997,17
</service>
 
<!--<service>
<name>DeleteCourseUnit</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.UpdateCourseUnitService</implementationClass>
<description>Update course unit objectives and program file</description>
<isTransactional>true</isTransactional>
<defaultMethod>delete</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
<chain name="Supers"/>
</filterChains>
</service>-->
<name>DeleteCourseUnit</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.UpdateCourseUnitService</implementationClass>
<description>Update course unit objectives and program file</description>
<isTransactional>true</isTransactional>
<defaultMethod>delete</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
<chain name="Supers"/>
</filterChains>
</service>-->
<service>
<name>LoadCourseUnit</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitService</implementationClass>
1079,9 → 1079,9
<service>
<name>SaveCourseUnitProgram</name>
<!--Args
ourseUnitProgramView programView,
long unitId used in filters
-->
ourseUnitProgramView programView,
long unitId used in filters
-->
<implementationClass>pt.estgp.estgweb.services.courseunits.SaveCourseUnitProgram</implementationClass>
<description>Save course unit program</description>
<isTransactional>true</isTransactional>
1123,9 → 1123,9
<service>
<name>SaveCourseUnitEvaluation</name>
<!--Args
CourseUnitEvaluationView evaluationView,
long unitId used in filters
-->
CourseUnitEvaluationView evaluationView,
long unitId used in filters
-->
<implementationClass>pt.estgp.estgweb.services.courseunits.SaveCourseUnitEvaluation</implementationClass>
<description>Save course unit evaluation</description>
<isTransactional>true</isTransactional>
1157,8 → 1157,8
<service>
<name>InitCourseUnitEvaluationClearances</name>
<!--Parameters
CourseUnitView cuv, Long courseUnitId
-->
CourseUnitView cuv, Long courseUnitId
-->
<implementationClass>pt.estgp.estgweb.services.courseunits.SaveCourseUnitEvaluation</implementationClass>
<description>Open course unit evaluation for edition</description>
<isTransactional>true</isTransactional>
2920,18 → 2920,18
</service>
 
<!--
<service>
<name>AddUpdateDirtyRolesTranslation</name>
<implementationClass>pt.estgp.estgweb.services.users.UserRoleConfigService</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>addUpdateDirtRolesTranslation</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
<chain name="RoleAddRemoveManager"/>
</filterChains>
</service>-->
<service>
<name>AddUpdateDirtyRolesTranslation</name>
<implementationClass>pt.estgp.estgweb.services.users.UserRoleConfigService</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>addUpdateDirtRolesTranslation</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
<chain name="RoleAddRemoveManager"/>
</filterChains>
</service>-->
 
<service>
<name>AddUpdateRoleTranslation</name>
3901,8 → 3901,8
 
 
<!--/****************************************************************************/
/* COURSE REPORTS
/****************************************************************************/-->
/* COURSE REPORTS
/****************************************************************************/-->
 
 
 
3944,16 → 3944,16
</service>
 
<!--
PRECISO DE UM IMPORTAR NOVAMENTE TABELA DE RESULTADOS DE APRENDIZAGEM
Ha de ser um subservico do de cima que tem usar
o servico LoadCourseEvaluationSections novamente
PRECISO DE UM IMPORTAR NOVAMENTE TABELA DE RESULTADOS DE APRENDIZAGEM
Ha de ser um subservico do de cima que tem usar
o servico LoadCourseEvaluationSections novamente
 
PRECISO DE UM SERVICO PARA GERAR OS GRAFICOS DE APRENDIZAGEM
-->
PRECISO DE UM SERVICO PARA GERAR OS GRAFICOS DE APRENDIZAGEM
-->
 
<!--/****************************************************************************/
/* SERVICOS WS-API TODO Seguranca em falta
/****************************************************************************/-->
/* SERVICOS WS-API TODO Seguranca em falta
/****************************************************************************/-->
 
<service>
<name>LoadCourseEvaluationSections</name>
4062,4 → 4062,35
</filterChains>
</service>
 
<service>
<name>SaveCourseReportDocument</name>
<implementationClass>pt.estgp.estgweb.services.courses.CourseReportServices</implementationClass>
<description>
@reportCourseDocument documento course report em json
Guarda o relatorio na base de dados
</description>
<isTransactional>true</isTransactional>
<defaultMethod>saveCourseReportDocument</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
<service>
<name>LoadCourseReportDocument</name>
<implementationClass>pt.estgp.estgweb.services.courses.CourseReportServices</implementationClass>
<description>
@courseCode codigo do curso
@year ano do relatorio
Carrega o relatorio da base de dados
</description>
<isTransactional>true</isTransactional>
<defaultMethod>loadCourseReportDocument</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
</serviceDefinitions>
/branches/grupo1/impl/src/java/pt/estgp/estgweb/services/courses/CourseReportServices.java
453,7 → 453,7
CourseReportDocument reportDocument = CourseReportDocument.fromJson(reportDocumentJson);
LearningResultsSection learningResultsSection = (LearningResultsSection) reportDocument.findDocumentSection(LearningResultsSection.class);
LearningGlobalAnalysisSection learningGlobalAnalysisSection = (LearningGlobalAnalysisSection) learningResultsSection.findSection(LearningGlobalAnalysisSection.class);
GlobalLearningResultsChartImg chartImg = (GlobalLearningResultsChartImg) learningGlobalAnalysisSection.findDocComponent(GlobalLearningResultsChartImg.class);
GlobalLearningResultsChartYearImg chartImg = (GlobalLearningResultsChartYearImg) learningGlobalAnalysisSection.findDocComponent(GlobalLearningResultsChartYearImg.class);
 
UnitsLearningResultsTable table = (UnitsLearningResultsTable) learningResultsSection.findDocComponent(UnitsLearningResultsTable.class);
 
481,8 → 481,48
return view.toJson();
}
 
public String saveCourseReportDocument(String reportDocumentJson,UserSession session) {
CourseReportDocument reportDocument = CourseReportDocument.fromJson(reportDocumentJson);
 
Course c = DaoFactory.getCourseDaoImpl().findCourseByCode(reportDocument.getCourseCode());
CourseYear cy = DaoFactory.getCourseYearDaoImpl().findCourseYearU(reportDocument.getCourseCode(), reportDocument.getYear());
 
if (cy == null) {
cy = DomainObjectFactory.createCourseYearImpl();
cy.setCourse(c);
c.getCourseYears().add(cy);
cy.setImportYear(reportDocument.getYear());
DaoFactory.getCourseYearDaoImpl().save(cy);
}
cy.setCourseReportDocument(reportDocumentJson);
 
return reportDocument.toJson();
}
 
public String loadCourseReportDocument(String courseCode,String year,UserSession session) {
CourseYear cy = DaoFactory.getCourseYearDaoImpl().findCourseYearU(courseCode, year);
 
String courseReportJson = null;
if (cy != null) {
courseReportJson = cy.getCourseReportDocument();
}
 
if (courseReportJson == null) {
CourseReportDocument courseReport = null;
 
try {
courseReport = new CourseReportServices().createNewCourseReportDocument(courseCode, year);
courseReportJson = courseReport.toJson();
} catch (Throwable e) {
System.out.println(e);
e.printStackTrace();
}
}
 
return courseReportJson;
}
 
 
/****************************************************************************/
/*
 
/branches/grupo1/impl/src/java/pt/estgp/estgweb/services/courses/coursereport/documentmodel/learningresults/components/GlobalLearningResultsChartYearImg.java
1,10 → 1,192
package pt.estgp.estgweb.services.courses.coursereport.documentmodel.learningresults.components;
 
import pt.estgp.estgweb.utils.documentBuilder.AutoImageWraperComponent;
import jomm.dao.impl.AbstractDao;
import jomm.utils.BytesUtils;
import jomm.utils.MimeTypeGuesser;
import jomm.utils.StreamsUtils;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.block.BlockBorder;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.RingPlot;
import org.jfree.chart.renderer.category.StackedBarRenderer;
import org.jfree.chart.renderer.category.StandardBarPainter;
import org.jfree.chart.title.LegendTitle;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.ui.RectangleInsets;
import org.jfree.ui.TextAnchor;
import org.json.JSONException;
import org.json.JSONObject;
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument;
import pt.estgp.estgweb.services.questionarios.QuestionariosReportsService;
import pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.utils.DataTable;
import pt.estgp.estgweb.utils.Globals;
import pt.estgp.estgweb.utils.documentBuilder.ImageComponent;
import pt.estgp.estgweb.web.controllers.utils.FileUploaded;
 
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.List;
 
/**
* Created by jorgemachado on 31/10/17.
* Created by joaocarvalho on 30/11/17.
*/
public class GlobalLearningResultsChartYearImg extends AutoImageWraperComponent
public class GlobalLearningResultsChartYearImg extends ImageComponent
{
}
public FileUploaded generateChart2tmp(UnitsLearningResultsTable results, CourseReportDocument courseReportDocument) throws IOException {
List<UnitsLearningResultYear> years = results.getYears();
 
String tempName = BytesUtils.generateHexKey() + ".png";
 
DefaultCategoryDataset data = new DefaultCategoryDataset();
for (UnitsLearningResultYear year : years) {
data.addValue(new Double(year.getAprovados1013Percent()), "Aprovados 10-13", year.getAno() + "º Ano");
data.addValue(new Double(year.getAprovados1416Percent()), "Aprovados 14-16", year.getAno() + "º Ano");
data.addValue(new Double(year.getAprovados1720Percent()), "Aprovados 17-20", year.getAno() + "º Ano");
}
data.addValue(new Double(results.getAprovados1013Percent()), "Aprovados 10-13", "Total");
data.addValue(new Double(results.getAprovados1416Percent()), "Aprovados 14-16", "Total");
data.addValue(new Double(results.getAprovados1720Percent()), "Aprovados 17-20", "Total");
 
JFreeChart chart = ChartFactory.createStackedBarChart(
null,
null,
null,
data,
PlotOrientation.VERTICAL,
true,
false,
false);
 
chart.setBackgroundPaint(Color.WHITE);
CategoryPlot plot = (CategoryPlot) chart.getPlot();
plot.setBackgroundPaint(Color.WHITE);
plot.setRangeGridlinePaint(Color.GRAY);
plot.setRangeGridlinesVisible(true);
//plot.setRangeGridlineStroke(new BasicStroke(1.0f));
 
RectangleInsets chartRectangle = new RectangleInsets(0,0,30F,0);
chart.setPadding(chartRectangle);
 
plot.getDomainAxis().setTickLabelFont(new Font("Helvetica", Font.PLAIN, 25));
plot.getRangeAxis().setTickLabelFont(new Font("Helvetica", Font.PLAIN, 25));
 
StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer();
// Remover gradiente das barras
renderer.setBarPainter(new StandardBarPainter());
renderer.setSeriesPaint(0, new Color(237,127,32));
renderer.setSeriesPaint(1, new Color(255,198,0));
renderer.setSeriesPaint(2, new Color(122,173,38));
renderer.setMaximumBarWidth(0.2);
 
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", new DecimalFormat("#.##'%'")));
renderer.setBaseItemLabelsVisible(true);
renderer.setBaseItemLabelFont(new Font("Helvetica",Font.PLAIN,25));
 
LegendTitle legend = chart.getLegend();
legend.setItemFont(new Font("Helvetica", Font.PLAIN,25));
legend.setFrame(BlockBorder.NONE);
 
 
BufferedImage image = chart.createBufferedImage( 300*4, 200*4);
String pathGraficoTiposAlunos = Globals.TMP_DIR + java.io.File.separator + tempName;
java.io.File output = new java.io.File(pathGraficoTiposAlunos);
ImageIO.write(image, "png", new FileOutputStream(output));
 
FileUploaded fileUploaded = new FileUploaded();
fileUploaded.setTmpName(tempName);
fileUploaded.setTitle("Taxa global de aproveitamento");
fileUploaded.setDescription("Curso: " + courseReportDocument.getCourseName() + " (" + courseReportDocument.getCourseCode()+ ") ano " + courseReportDocument.getYear());
fileUploaded.setContentType(MimeTypeGuesser.getInstance().guessMimeType(output));
fileUploaded.setFileSize(output.length());
fileUploaded.setExtension("png");
 
return fileUploaded;
}
 
public static void main(String[] args) throws IOException {
String tempName = "test.png";
 
DefaultCategoryDataset data = new DefaultCategoryDataset();
data.addValue(new Double(29.5), "Aprovados 10-13", "1º Ano");
data.addValue(new Double(50.5), "Aprovados 14-16", "1º Ano");
data.addValue(new Double(20), "Aprovados 17-20", "1º Ano");
 
data.addValue(new Double(10), "Aprovados 10-13", "2º Ano");
data.addValue(new Double(40), "Aprovados 14-16", "2º Ano");
data.addValue(new Double(50), "Aprovados 17-20", "2º Ano");
 
data.addValue(new Double(50), "Aprovados 10-13", "3º Ano");
data.addValue(new Double(10), "Aprovados 14-16", "3º Ano");
data.addValue(new Double(40), "Aprovados 17-20", "3º Ano");
 
data.addValue(new Double(33.33), "Aprovados 10-13", "Total");
data.addValue(new Double(33.33), "Aprovados 14-16", "Total");
data.addValue(new Double(33.33), "Aprovados 17-20", "Total");
 
 
 
JFreeChart chart = ChartFactory.createStackedBarChart(
null,
null,
null,
data,
PlotOrientation.VERTICAL,
true,
false,
false);
 
chart.setBackgroundPaint(Color.WHITE);
CategoryPlot plot = (CategoryPlot) chart.getPlot();
plot.setBackgroundPaint(Color.WHITE);
plot.setRangeGridlinePaint(Color.GRAY);
plot.setRangeGridlinesVisible(true);
//plot.setRangeGridlineStroke(new BasicStroke(1.0f));
 
RectangleInsets chartRectangle = new RectangleInsets(0,0,30F,0);
chart.setPadding(chartRectangle);
 
plot.getDomainAxis().setTickLabelFont(new Font("Helvetica", Font.PLAIN, 25));
plot.getRangeAxis().setTickLabelFont(new Font("Helvetica", Font.PLAIN, 25));
 
StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer();
// Remover gradiente das barras
renderer.setBarPainter(new StandardBarPainter());
renderer.setSeriesPaint(0, new Color(237,127,32));
renderer.setSeriesPaint(1, new Color(255,198,0));
renderer.setSeriesPaint(2, new Color(122,173,38));
renderer.setMaximumBarWidth(0.2);
 
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", new DecimalFormat("#.##'%'")));
renderer.setBaseItemLabelsVisible(true);
renderer.setBaseItemLabelFont(new Font("Helvetica",Font.PLAIN,25));
 
LegendTitle legend = chart.getLegend();
legend.setItemFont(new Font("Helvetica", Font.PLAIN,25));
legend.setFrame(BlockBorder.NONE);
 
 
 
BufferedImage image = chart.createBufferedImage( 300*4, 200*4);
String pathGraficoTiposAlunos = Globals.TMP_DIR + java.io.File.separator + tempName;
java.io.File output = new java.io.File(pathGraficoTiposAlunos);
ImageIO.write(image, "png", new FileOutputStream(output));
}
}
/branches/grupo1/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseYearDaoImpl.java
26,4 → 26,16
.add(eq("c.code",code)).list();
return cYs;
}
public CourseYear findCourseYearU(String code, String importYear)
{
List<CourseYear> cYs = createCriteria()
.createAlias("course","c")
.add(eq("importYear", importYear))
.add(eq("c.code",code)).list();
 
if (cYs.isEmpty())
return null;
 
return cYs.get(0);
}
}
/branches/grupo1/impl/src/java/pt/estgp/estgweb/web/controllers/courses/CoursesServicesController.java
52,4 → 52,14
new Object[]{courseReportDocument});
return new JSONObject(json);
}
 
public JSONObject saveCourseReportDocument(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Throwable {
String courseReportDocument = request.getParameter("courseReportDocument");
 
IServiceManager sm = ServiceManager.getInstance();
String json = (String) sm.execute(RequestUtils.getRequester(request, response),
"SaveCourseReportDocument",
new Object[]{courseReportDocument});
return new JSONObject(json);
}
}
/branches/grupo1/impl/src/java/pt/estgp/estgweb/web/controllers/configuration/ConfigurationsController.java
170,6 → 170,7
 
configuration.setOpenInfoIntranet(f.getConfiguration().getOpenInfoIntranet());
configuration.setInterfaceImportYear(f.getConfiguration().getInterfaceImportYear());
configuration.setCourseReportImportYear(f.getConfiguration().getCourseReportImportYear());
configuration.setCursosFicticios(f.getConfiguration().getCursosFicticios());
 
configuration.setCourseUnitEvaluationActiveYear(f.getConfiguration().getCourseUnitEvaluationActiveYear());
/branches/grupo1/impl/src/hbm/pt/estgp/estgweb/domain/Course.hbm.xml
79,6 → 79,9
<property name="separatedTurmas" type="boolean">
<column name="separatedTurmas" default="false"/>
</property>
<property name="courseReportDocument" type="text">
<column name="courseReportDocument" sql-type="LONGTEXT"/>
</property>
<many-to-one name="course" class="pt.estgp.estgweb.domain.Course" outer-join="true" lazy="false" column="course_id"/>
<subclass name="pt.estgp.estgweb.domain.CourseYearImpl" discriminator-value="CourseYearImpl"/>
</class>
/branches/grupo1/impl/src/hbm/pt/estgp/estgweb/domain/Configuration.hbm.xml
15,6 → 15,9
<property name="saveDate" type="timestamp"/>
<property name="interfaceImportYear" type="string"/>
 
<property name="courseReportImportYear" type="string">
<column name="courseReportImportYear" default="201718"/>
</property>
<!-- IMPORTS CONFIGS -->
<property name="importsDefaultImportYear" type="string"/>
<property name="sigesWebServicesWsdl" type="string">
/branches/grupo1/impl/src/web/admin/configuration/configs.jsp
69,7 → 69,24
</div>
</div>
 
<div class="form-group">
<label class="control-label col-sm-2">Relatórios de Curso em Produção</label>
<div class="col-sm-10">
 
<html:select styleClass="form-control" property="configuration.courseReportImportYear">
<%
for(String year:years)
{
request.setAttribute("year",year);
%>
<html:option value="${year}">${year}</html:option>
<%
}
%>
</html:select>
</div>
</div>
 
<div class="panel panel-default">
<div class="panel-heading">Relatórios de Avaliação das Unidades Curriculares</div>
<div class="panel-body">
/branches/grupo1/impl/src/web/user/courses/courseReportEdit.jsp
2,19 → 2,19
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.domain.CourseImpl" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.utils.documentBuilder.TextComponent" %>
<%@ page import="pt.estgp.estgweb.utils.documentBuilder.ImageComponent" %>
<%@ page import="pt.estgp.estgweb.services.courses.CourseReportServices" %>
<%@ page import="pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument" %>
<%@ page import="org.json.JSONException" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %>
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@taglib prefix="t" tagdir="/WEB-INF/tags" %>
<%@ taglib prefix="t" tagdir="/WEB-INF/tags" %>
 
<%-- http://localhost:8080/baco/user/editCourseReport.do?courseCode=44&year=201617 --%>
 
<link rel="stylesheet" href="<%=request.getContextPath()%>/js/jquery-ui-1.12.1/jquery-ui.css">
<script src="<%=request.getContextPath()%>/js/jquery-ui-1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="<%=request.getContextPath()%>/css/flora-commons/flora.resizable.css">
66,7 → 66,7
 
var body = '';
body += '--' + boundary + '\r\n' +
'Content-Disposition: form-data; name="filesInputId-UPLOAD[]"; filename="20170530_210340.pdf"' + '\r\n';
'Content-Disposition: form-data; name="filesInputId-UPLOAD[]"; filename="20170530_210340.pdf"' + '\r\n';
body += 'Content-Type: application/pdf';
body += '\r\n\r\n';
body += pdfDocument;
93,255 → 93,276
</script>
 
<%
 
String courseCode = request.getParameter("courseCode");
String year = request.getParameter("year");
AbstractDao.getCurrentSession().beginTransaction();
CourseImpl courseImpl = DaoFactory.getCourseDaoImpl().findCourseByCode(courseCode);
request.setAttribute("course",courseImpl);
CourseReportDocument courseReport = null;
 
String courseReportJson = null;
try {
courseReport = new CourseReportServices().createNewCourseReportDocument(courseCode, year);
} catch (Throwable e) {
System.out.println(e);
e.printStackTrace();
IServiceManager sm = ServiceManager.getInstance();
courseReportJson = (String) sm.execute(RequestUtils.getRequester(request, response),
"LoadCourseReportDocument",
new Object[]{courseCode, year});
} catch (Throwable throwable) {
throwable.printStackTrace();
}
String courseReportJson = courseReport.toJson();
request.setAttribute("courseDocumentJson",courseReportJson);
request.setAttribute("courseDocument",courseReport);
 
 
AbstractDao.getCurrentSession().beginTransaction();
CourseImpl courseImpl = DaoFactory.getCourseDaoImpl().findCourseByCode(courseCode);
request.setAttribute("course",courseImpl);
 
//request.setAttribute("courseDocument",courseReport);
%>
<%--<a href="javascript:demoFromHTML()" class="button">Run Code</a>--%>
 
<div class="container-fluid">
 
<style>
.separatorSection
{
border: 1px solid #ddd;
}
</style>
<style>
.separatorSection
{
border: 1px solid #ddd;
}
</style>
 
 
<!-- Apresentacao da Unidade -->
<!-- Apresentacao da Unidade -->
 
<div class="panel panel-default">
<div class="panel-heading">
Relatório Anual do curso: ${course.name}
</div>
<div class="panel-body">
<div class="panel panel-default">
<div class="panel-heading">
Relatório Anual do curso: ${course.name}
</div>
<div class="panel-body">
 
<p><b class="label-info">Tipo de Curso:</b> <bean:message key="course.${course.degree}"/></p>
<p><b class="label-info">Ano Lectivo:</b> ${course.importYear}</p>
<p><b class="label-info">Departamento:</b> ${course.department.name}</p>
<p><b class="label-info">Escola:</b> ${course.department.courseSchool.name}</p>
<p><b class="label-info">Tipo de Curso:</b> <bean:message key="course.${course.degree}"/></p>
<p><b class="label-info">Ano Lectivo:</b> ${course.importYear}</p>
<p><b class="label-info">Departamento:</b> ${course.department.name}</p>
<p><b class="label-info">Escola:</b> ${course.department.courseSchool.name}</p>
 
 
 
 
<script>
<script>
 
//Especifico da aplicacao
var courseReportApp = angular.module('courseReportApp', ['ui.tree']);
GLOBAL_BacoAngularAppDependencies.push('courseReportApp');
//Especifico da aplicacao
var courseReportApp = angular.module('courseReportApp', ['ui.tree']);
GLOBAL_BacoAngularAppDependencies.push('courseReportApp');
 
 
courseReportApp.directive('resizable', function () {
return {
restrict: 'A',
scope: {
callback: '&onResize'
},
link: function postLink(scope, elem, attrs) {
elem.resizable();
elem.on('resize', function (evt, ui, comp) {
scope.$apply(function() {
if (scope.callback) {
scope.callback({$evt: evt, $ui: ui, $comp: comp });
courseReportApp.directive('resizable', function () {
return {
restrict: 'A',
scope: {
callback: '&onResize'
},
link: function postLink(scope, elem, attrs) {
elem.resizable();
elem.on('resize', function (evt, ui, comp) {
scope.$apply(function() {
if (scope.callback) {
scope.callback({$evt: evt, $ui: ui, $comp: comp });
}
})
});
}
})
};
});
}
};
});
 
 
courseReportApp.controller('courseReportAppController', function($scope)
{
courseReportApp.controller('courseReportAppController', function($scope)
{
 
$scope.docAppSelector = "#courseReportApp";
$scope.report = <%=courseReportJson%>
$scope.docAppSelector = "#courseReportApp";
$scope.report = <%=courseReportJson%>
 
$scope.resize = function(evt,ui,comp) {
//console.log (evt,ui);
comp.width = ui.size.width;
comp.height = ui.size.height;
}
$scope.resize = function(evt,ui,comp) {
//console.log (evt,ui);
comp.width = ui.size.width;
comp.height = ui.size.height;
}
 
/**
* @classe class to match
* @superClasses array of strings
* */
$scope.contains = function(obj,classe)
{
if(obj['@class'] && obj['@class'] == classe)
return true;
if(obj.allSuperClasses)
{
for(var i in obj.allSuperClasses)
{
if(classe == obj.allSuperClasses[i])
return true;
}
}
return false;
}
/**
* @classe class to match
* @superClasses array of strings
* */
$scope.contains = function(obj,classe)
{
if(obj['@class'] && obj['@class'] == classe)
return true;
if(obj.allSuperClasses)
{
for(var i in obj.allSuperClasses)
{
if(classe == obj.allSuperClasses[i])
return true;
}
}
return false;
}
 
$scope.showSep = function(section,subSection)
{
var s;
for(s in section.sections)
{
section.sections[s].active = false;
}
/*$(".separatorSectionNav").each(function()
{
angular.element($(this)).scope().section.active = false;
});*/
subSection.active = true;
}
$scope.showSep = function(section,subSection)
{
var s;
for(s in section.sections)
{
section.sections[s].active = false;
}
/*$(".separatorSectionNav").each(function()
{
angular.element($(this)).scope().section.active = false;
});*/
subSection.active = true;
}
 
/**
* Este metodo devolve o template mais profundo na hierarquia de classes
* permitindo emular o override, quanto mais especifica for a classe
* e caso exista template é esse o template devolvido
* procura um script com o id da classe e se nao existir
* vai subindo nas super classes
* @param obj
* @returns {*}
*/
$scope.class2id = function(obj)
{
var objClassId = obj["@class"].replaceAll(".","_");
if($("script#" + objClassId).length > 0)
{
return objClassId;
}
if(obj.allSuperClasses)
{
var s;
for(s in obj.allSuperClasses)
{
var superClass = obj.allSuperClasses[s];
var superClassId = superClass.replaceAll(".","_");
if($("script#" + superClassId).length > 0)
/**
* Este metodo devolve o template mais profundo na hierarquia de classes
* permitindo emular o override, quanto mais especifica for a classe
* e caso exista template é esse o template devolvido
* procura um script com o id da classe e se nao existir
* vai subindo nas super classes
* @param obj
* @returns {*}
*/
$scope.class2id = function(obj)
{
return superClassId;
var objClassId = obj["@class"].replaceAll(".","_");
if($("script#" + objClassId).length > 0)
{
return objClassId;
}
if(obj.allSuperClasses)
{
var s;
for(s in obj.allSuperClasses)
{
var superClass = obj.allSuperClasses[s];
var superClassId = superClass.replaceAll(".","_");
if($("script#" + superClassId).length > 0)
{
return superClassId;
}
}
}
return obj["@class"].replaceAll(".","_");
}
}
}
return obj["@class"].replaceAll(".","_");
}
 
$scope.addText = function(parentCustomPane)
{
$scope.addSimpleDocComponent(parentCustomPane,"pt.estgp.estgweb.utils.documentBuilder.TextComponent")
}
$scope.addText = function(parentCustomPane)
{
$scope.addSimpleDocComponent(parentCustomPane,"pt.estgp.estgweb.utils.documentBuilder.TextComponent")
}
 
$scope.addImage = function(parentCustomPane)
{
$scope.addSimpleDocComponent(parentCustomPane,"pt.estgp.estgweb.utils.documentBuilder.ImageComponent")
}
$scope.addImage = function(parentCustomPane)
{
$scope.addSimpleDocComponent(parentCustomPane,"pt.estgp.estgweb.utils.documentBuilder.ImageComponent")
}
 
$scope.addSimpleDocComponent = function(parentCustomPane,classComponent)
{
if(!parentCustomPane.components)
{
parentCustomPane.components = [];
}
parentCustomPane.components.push(
$scope.addSimpleDocComponent = function(parentCustomPane,classComponent)
{
"@class" : classComponent
if(!parentCustomPane.components)
{
parentCustomPane.components = [];
}
parentCustomPane.components.push(
{
"@class" : classComponent
}
);
}
);
}
$scope.removeComponent = function(index,array)
{
array.splice(index,1);
}
$scope.removeComponent = function(index,array)
{
array.splice(index,1);
}
 
$scope.callbackUploadedFiles = function(filesUploadResult,token,targetElement)
{
var modelObject = BacoAngularUtils.getAngularElementModel(targetElement);
$scope.callbackUploadedFiles = function(filesUploadResult,token,targetElement)
{
var modelObject = BacoAngularUtils.getAngularElementModel(targetElement);
 
if(modelObject.image && modelObject.image.identifier)
{
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/json/repository.do",
"replaceRepositoryFileFromTempPrivateDomain",
if(modelObject.image && modelObject.image.identifier)
{
"identifier" : modelObject.image.identifier,
"fileUploaded" : BacoJS.stringifyOrdered(filesUploadResult.uploadedFiles[0])
},
"#courseReportApp",
function(repositoryFile4JsonView)
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/json/repository.do",
"replaceRepositoryFileFromTempPrivateDomain",
{
"identifier" : modelObject.image.identifier,
"fileUploaded" : BacoJS.stringifyOrdered(filesUploadResult.uploadedFiles[0])
},
"#courseReportApp",
function(repositoryFile4JsonView)
{
modelObject.image = repositoryFile4JsonView;
//image URL is generated on reimport just to avoid caching
modelObject.imageUrl = "<%=request.getContextPath()%>/repositoryStream/" + modelObject.image.identifier + "?" + new Date().getTime();
angular.element($("#courseReportApp")).scope().$apply();
},
function(){}
);
}
else
{
modelObject.image = repositoryFile4JsonView;
//image URL is generated on reimport just to avoid caching
modelObject.imageUrl = "<%=request.getContextPath()%>/repositoryStream/" + modelObject.image.identifier + "?" + new Date().getTime();
angular.element($("#courseReportApp")).scope().$apply();
},
function(){}
);
}
else
{
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/json/repository.do",
"saveRepositoryFileFromTempPrivateDomain",
{
"fileUploaded" : BacoJS.stringifyOrdered(filesUploadResult.uploadedFiles[0])
},
"#courseReportApp",
function(repositoryFile4JsonView)
{
modelObject.image = repositoryFile4JsonView;
modelObject.imageUrl = "<%=request.getContextPath()%>/repositoryStream/" + modelObject.image.identifier + "?" + new Date().getTime();
angular.element($("#courseReportApp")).scope().$apply();
},
function(){}
);
}
}
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/json/repository.do",
"saveRepositoryFileFromTempPrivateDomain",
{
"fileUploaded" : BacoJS.stringifyOrdered(filesUploadResult.uploadedFiles[0])
},
"#courseReportApp",
function(repositoryFile4JsonView)
{
modelObject.image = repositoryFile4JsonView;
modelObject.imageUrl = "<%=request.getContextPath()%>/repositoryStream/" + modelObject.image.identifier + "?" + new Date().getTime();
angular.element($("#courseReportApp")).scope().$apply();
},
function(){}
);
}
}
 
$scope.saveCourseReportDocument = function () {
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/courseReport.do",
"saveCourseReportDocument",
{
"courseReportDocument" : BacoJS.stringifyOrdered($scope.report)
},
"#courseReportApp",
function(data)
{
alert(BacoJS.stringifyOrdered(data));
},
function(){}
);
}
 
 
 
});
</script>
});
</script>
 
<!--TEMPLATES FOR DOCUMENT BUILDER-->
<jsp:include page="../utils/documentsBuilder.jsp"/>
<jsp:include page="coursereport/templates.jsp"/>
<!--TEMPLATES FOR DOCUMENT BUILDER-->
<jsp:include page="../utils/documentsBuilder.jsp"/>
<jsp:include page="coursereport/templates.jsp"/>
 
<div class="form-vertical">
<div id="courseReportApp" ng-app="courseReportApp" ng-controller="courseReportAppController">
<div class="form-vertical">
<div id="courseReportApp" ng-app="courseReportApp" ng-controller="courseReportAppController">
<div class="web-messages"></div>
 
<div ng-init="section=report;" ng-include="'pt_estgp_estgweb_utils_documentBuilder_DocumentSection'">
<button class="btn btn-success" ng-click="saveCourseReportDocument()">Gravar</button>
 
</div>
<div ng-init="section=report;" ng-include="'pt_estgp_estgweb_utils_documentBuilder_DocumentSection'">
 
<!-- <pre class="code">{{ report | json }}</pre>-->
</div>
 
<!--<pre class="code">{{ report | json }}</pre>-->
 
 
</div><!--App-->
</div> <!--form-->
 
</div><!--Panel Body-->
</div><!--App-->
</div> <!--form-->
 
</div><!--Panel-->
</div><!--Panel Body-->
 
</div><!--Panel-->
 
</div><!--container-fluid-->
 
<%
/branches/grupo1/impl/src/web/user/home/teacher.jsp
166,6 → 166,13
<div class="panel-body">
 
<div class="list-group">
 
<logic:iterate id="cordCourse" name="tLoggedIn" property="coordinatorCourses" type="pt.estgp.estgweb.domain.Course">
<div class="list-group-item">
<html:link action="/user/editCourseReport.do?courseCode=${cordCourse.code}&year=${UserSession.nowConfiguration.courseReportImportYear}">Editar o relatório de Curso do ano (${UserSession.nowConfiguration.courseReportImportYear})</html:link>
</div>
</logic:iterate>
 
<div class="list-group-item">
<html:link action="/user/startSubmitMessageCourseComission">
Enviar email aos alunos
/branches/grupo1/impl/src/web/user/utils/documentsBuilder.jsp
56,6 → 56,8
 
</div>
</div></div>
</div>
</div>
</script>
 
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_ImageComponent">
/branches/grupo1/impl/build.xml
66,6 → 66,7
<target name="initDirs">
<mkdir dir="${log.dir}"/>
<mkdir dir="${data.dir}"/>
<mkdir dir="${tmp.dir}"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir.classes}"/>
<mkdir dir="${build.dir.war}"/>
/branches/grupo1/impl/gen/java/pt/estgp/estgweb/domain/CourseYear.java
16,6 → 16,7
private String importYear;
private boolean separatedTurmas;
private Course course;
private String courseReportDocument;
 
public CourseYear() {
}
56,6 → 57,10
public void setSeparatedTurmas(boolean separatedTurmas) {
this.separatedTurmas = separatedTurmas;
}
public String getCourseReportDocument() { return this.courseReportDocument; }
 
public void setCourseReportDocument(String courseReportDocument) { this.courseReportDocument = courseReportDocument; }
 
public Course getCourse() {
return this.course;
}
/branches/grupo1/impl/gen/java/pt/estgp/estgweb/domain/Configuration.java
10,20 → 10,21
public abstract class Configuration extends pt.estgp.estgweb.domain.DomainSerializableObject implements java.io.Serializable {
 
 
private long id;
private Date updateDate;
private Date saveDate;
private String interfaceImportYear;
private String importsDefaultImportYear;
private String sigesWebServicesWsdl;
private Integer sigesInstitutionCode;
private Integer nationalInstitutionCode;
private String courseUnitEvaluationActiveYear;
private String courseUnitEvaluationActiveDegrees;
private String courseUnitEvaluationActiveCourseIds;
private String cursosFicticios;
private String openInfoIntranet;
private ConfigurationGrades configurationGrades;
private long id;
private Date updateDate;
private Date saveDate;
private String interfaceImportYear;
private String courseReportImportYear;
private String importsDefaultImportYear;
private String sigesWebServicesWsdl;
private Integer sigesInstitutionCode;
private Integer nationalInstitutionCode;
private String courseUnitEvaluationActiveYear;
private String courseUnitEvaluationActiveDegrees;
private String courseUnitEvaluationActiveCourseIds;
private String cursosFicticios;
private String openInfoIntranet;
private ConfigurationGrades configurationGrades;
 
public Configuration() {
}
57,6 → 58,13
public void setInterfaceImportYear(String interfaceImportYear) {
this.interfaceImportYear = interfaceImportYear;
}
public String getCourseReportImportYear() {
return this.courseReportImportYear;
}
 
public void setCourseReportImportYear(String courseReportImportYear) {
this.courseReportImportYear = courseReportImportYear;
}
public String getImportsDefaultImportYear() {
return this.importsDefaultImportYear;
}
/branches/grupo2/impl/conf/berserk/sd.xml
4045,21 → 4045,52
</service>
 
<service>
<name>CourseReportGenerateGlobalLearningResultsChartYearImg</name>
<implementationClass>pt.estgp.estgweb.services.courses.CourseReportServices</implementationClass>
<description>
@reportCourseDocument documento course report em json
Serviço de suporte para gerar um grafico
Coloca o grafico no report documento
e salva o documento no curso
Devolve uma classe RepositoryFile4JsonView serializada em JSON
</description>
<isTransactional>true</isTransactional>
<defaultMethod>generateGenerateGlobalLearningResultsChartYearImg</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
<name>CourseReportGenerateGlobalLearningResultsChartYearImg</name>
<implementationClass>pt.estgp.estgweb.services.courses.CourseReportServices</implementationClass>
<description>
@reportCourseDocument documento course report em json
Serviço de suporte para gerar um grafico
Coloca o grafico no report documento
e salva o documento no curso
Devolve uma classe RepositoryFile4JsonView serializada em JSON
</description>
<isTransactional>true</isTransactional>
<defaultMethod>generateGenerateGlobalLearningResultsChartYearImg</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
<service>
<name>SaveCourseReportDocument</name>
<implementationClass>pt.estgp.estgweb.services.courses.CourseReportServices</implementationClass>
<description>
@reportCourseDocument documento course report em json
Guarda o relatorio na base de dados
</description>
<isTransactional>true</isTransactional>
<defaultMethod>saveCourseReportDocument</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
<service>
<name>LoadCourseReportDocument</name>
<implementationClass>pt.estgp.estgweb.services.courses.CourseReportServices</implementationClass>
<description>
@courseCode codigo do curso
@year ano do relatorio
Carrega o relatorio da base de dados
</description>
<isTransactional>true</isTransactional>
<defaultMethod>loadCourseReportDocument</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
</serviceDefinitions>
/branches/grupo2/impl/src/java/pt/estgp/estgweb/services/courses/CourseReportServices.java
453,7 → 453,7
CourseReportDocument reportDocument = CourseReportDocument.fromJson(reportDocumentJson);
LearningResultsSection learningResultsSection = (LearningResultsSection) reportDocument.findDocumentSection(LearningResultsSection.class);
LearningGlobalAnalysisSection learningGlobalAnalysisSection = (LearningGlobalAnalysisSection) learningResultsSection.findSection(LearningGlobalAnalysisSection.class);
GlobalLearningResultsChartImg chartImg = (GlobalLearningResultsChartImg) learningGlobalAnalysisSection.findDocComponent(GlobalLearningResultsChartImg.class);
GlobalLearningResultsChartYearImg chartImg = (GlobalLearningResultsChartYearImg) learningGlobalAnalysisSection.findDocComponent(GlobalLearningResultsChartYearImg.class);
 
UnitsLearningResultsTable table = (UnitsLearningResultsTable) learningResultsSection.findDocComponent(UnitsLearningResultsTable.class);
 
481,8 → 481,48
return view.toJson();
}
 
public String saveCourseReportDocument(String reportDocumentJson,UserSession session) {
CourseReportDocument reportDocument = CourseReportDocument.fromJson(reportDocumentJson);
 
Course c = DaoFactory.getCourseDaoImpl().findCourseByCode(reportDocument.getCourseCode());
CourseYear cy = DaoFactory.getCourseYearDaoImpl().findCourseYearU(reportDocument.getCourseCode(), reportDocument.getYear());
 
if (cy == null) {
cy = DomainObjectFactory.createCourseYearImpl();
cy.setCourse(c);
c.getCourseYears().add(cy);
cy.setImportYear(reportDocument.getYear());
DaoFactory.getCourseYearDaoImpl().save(cy);
}
cy.setCourseReportDocument(reportDocumentJson);
 
return reportDocument.toJson();
}
 
public String loadCourseReportDocument(String courseCode,String year,UserSession session) {
CourseYear cy = DaoFactory.getCourseYearDaoImpl().findCourseYearU(courseCode, year);
 
String courseReportJson = null;
if (cy != null) {
courseReportJson = cy.getCourseReportDocument();
}
 
if (courseReportJson == null) {
CourseReportDocument courseReport = null;
 
try {
courseReport = new CourseReportServices().createNewCourseReportDocument(courseCode, year);
courseReportJson = courseReport.toJson();
} catch (Throwable e) {
System.out.println(e);
e.printStackTrace();
}
}
 
return courseReportJson;
}
 
 
/****************************************************************************/
/*
 
/branches/grupo2/impl/src/java/pt/estgp/estgweb/services/courses/coursereport/documentmodel/learningresults/components/GlobalLearningResultsChartYearImg.java
1,10 → 1,192
package pt.estgp.estgweb.services.courses.coursereport.documentmodel.learningresults.components;
 
import pt.estgp.estgweb.utils.documentBuilder.AutoImageWraperComponent;
import jomm.dao.impl.AbstractDao;
import jomm.utils.BytesUtils;
import jomm.utils.MimeTypeGuesser;
import jomm.utils.StreamsUtils;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.block.BlockBorder;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.RingPlot;
import org.jfree.chart.renderer.category.StackedBarRenderer;
import org.jfree.chart.renderer.category.StandardBarPainter;
import org.jfree.chart.title.LegendTitle;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.ui.RectangleInsets;
import org.jfree.ui.TextAnchor;
import org.json.JSONException;
import org.json.JSONObject;
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument;
import pt.estgp.estgweb.services.questionarios.QuestionariosReportsService;
import pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.utils.DataTable;
import pt.estgp.estgweb.utils.Globals;
import pt.estgp.estgweb.utils.documentBuilder.ImageComponent;
import pt.estgp.estgweb.web.controllers.utils.FileUploaded;
 
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.List;
 
/**
* Created by jorgemachado on 31/10/17.
* Created by danielmarmelo on 30/11/17.
*/
public class GlobalLearningResultsChartYearImg extends AutoImageWraperComponent
public class GlobalLearningResultsChartYearImg extends ImageComponent
{
public FileUploaded generateChart2tmp(UnitsLearningResultsTable results, CourseReportDocument courseReportDocument) throws IOException {
List<UnitsLearningResultYear> years = results.getYears();
 
String tempName = BytesUtils.generateHexKey() + ".png";
 
DefaultCategoryDataset data = new DefaultCategoryDataset();
for (UnitsLearningResultYear year : years) {
data.addValue(new Double(year.getAprovados1013Percent()), "Aprovados 10-13", year.getAno() + "º Ano");
data.addValue(new Double(year.getAprovados1416Percent()), "Aprovados 14-16", year.getAno() + "º Ano");
data.addValue(new Double(year.getAprovados1720Percent()), "Aprovados 17-20", year.getAno() + "º Ano");
}
data.addValue(new Double(results.getAprovados1013Percent()), "Aprovados 10-13", "Total");
data.addValue(new Double(results.getAprovados1416Percent()), "Aprovados 14-16", "Total");
data.addValue(new Double(results.getAprovados1720Percent()), "Aprovados 17-20", "Total");
 
JFreeChart chart = ChartFactory.createStackedBarChart(
null,
null,
null,
data,
PlotOrientation.VERTICAL,
true,
false,
false);
 
chart.setBackgroundPaint(Color.WHITE);
CategoryPlot plot = (CategoryPlot) chart.getPlot();
plot.setBackgroundPaint(Color.WHITE);
plot.setRangeGridlinePaint(Color.GRAY);
plot.setRangeGridlinesVisible(true);
//plot.setRangeGridlineStroke(new BasicStroke(1.0f));
 
RectangleInsets chartRectangle = new RectangleInsets(0,0,30F,0);
chart.setPadding(chartRectangle);
 
plot.getDomainAxis().setTickLabelFont(new Font("Helvetica", Font.PLAIN, 25));
plot.getRangeAxis().setTickLabelFont(new Font("Helvetica", Font.PLAIN, 25));
 
StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer();
// Remover gradiente das barras
renderer.setBarPainter(new StandardBarPainter());
renderer.setSeriesPaint(0, new Color(237,127,32));
renderer.setSeriesPaint(1, new Color(255,198,0));
renderer.setSeriesPaint(2, new Color(122,173,38));
renderer.setMaximumBarWidth(0.2);
 
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", new DecimalFormat("#.##'%'")));
renderer.setBaseItemLabelsVisible(true);
renderer.setBaseItemLabelFont(new Font("Helvetica",Font.PLAIN,25));
 
LegendTitle legend = chart.getLegend();
legend.setItemFont(new Font("Helvetica", Font.PLAIN,25));
legend.setFrame(BlockBorder.NONE);
 
 
BufferedImage image = chart.createBufferedImage( 300*4, 200*4);
String pathGraficoTiposAlunos = Globals.TMP_DIR + java.io.File.separator + tempName;
java.io.File output = new java.io.File(pathGraficoTiposAlunos);
ImageIO.write(image, "png", new FileOutputStream(output));
 
FileUploaded fileUploaded = new FileUploaded();
fileUploaded.setTmpName(tempName);
fileUploaded.setTitle("Taxa global de aproveitamento");
fileUploaded.setDescription("Curso: " + courseReportDocument.getCourseName() + " (" + courseReportDocument.getCourseCode()+ ") ano " + courseReportDocument.getYear());
fileUploaded.setContentType(MimeTypeGuesser.getInstance().guessMimeType(output));
fileUploaded.setFileSize(output.length());
fileUploaded.setExtension("png");
 
return fileUploaded;
}
 
public static void main(String[] args) throws IOException {
String tempName = "test.png";
 
DefaultCategoryDataset data = new DefaultCategoryDataset();
data.addValue(new Double(29.5), "Aprovados 10-13", "1º Ano");
data.addValue(new Double(50.5), "Aprovados 14-16", "1º Ano");
data.addValue(new Double(20), "Aprovados 17-20", "1º Ano");
 
data.addValue(new Double(10), "Aprovados 10-13", "2º Ano");
data.addValue(new Double(40), "Aprovados 14-16", "2º Ano");
data.addValue(new Double(50), "Aprovados 17-20", "2º Ano");
 
data.addValue(new Double(50), "Aprovados 10-13", "3º Ano");
data.addValue(new Double(10), "Aprovados 14-16", "3º Ano");
data.addValue(new Double(40), "Aprovados 17-20", "3º Ano");
 
data.addValue(new Double(33.33), "Aprovados 10-13", "Total");
data.addValue(new Double(33.33), "Aprovados 14-16", "Total");
data.addValue(new Double(33.33), "Aprovados 17-20", "Total");
 
 
 
JFreeChart chart = ChartFactory.createStackedBarChart(
null,
null,
null,
data,
PlotOrientation.VERTICAL,
true,
false,
false);
 
chart.setBackgroundPaint(Color.WHITE);
CategoryPlot plot = (CategoryPlot) chart.getPlot();
plot.setBackgroundPaint(Color.WHITE);
plot.setRangeGridlinePaint(Color.GRAY);
plot.setRangeGridlinesVisible(true);
//plot.setRangeGridlineStroke(new BasicStroke(1.0f));
 
RectangleInsets chartRectangle = new RectangleInsets(0,0,30F,0);
chart.setPadding(chartRectangle);
 
plot.getDomainAxis().setTickLabelFont(new Font("Helvetica", Font.PLAIN, 25));
plot.getRangeAxis().setTickLabelFont(new Font("Helvetica", Font.PLAIN, 25));
 
StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer();
// Remover gradiente das barras
renderer.setBarPainter(new StandardBarPainter());
renderer.setSeriesPaint(0, new Color(237,127,32));
renderer.setSeriesPaint(1, new Color(255,198,0));
renderer.setSeriesPaint(2, new Color(122,173,38));
renderer.setMaximumBarWidth(0.2);
 
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", new DecimalFormat("#.##'%'")));
renderer.setBaseItemLabelsVisible(true);
renderer.setBaseItemLabelFont(new Font("Helvetica",Font.PLAIN,25));
 
LegendTitle legend = chart.getLegend();
legend.setItemFont(new Font("Helvetica", Font.PLAIN,25));
legend.setFrame(BlockBorder.NONE);
 
 
 
BufferedImage image = chart.createBufferedImage( 300*4, 200*4);
String pathGraficoTiposAlunos = Globals.TMP_DIR + java.io.File.separator + tempName;
java.io.File output = new java.io.File(pathGraficoTiposAlunos);
ImageIO.write(image, "png", new FileOutputStream(output));
}
}
/branches/grupo2/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseYearDaoImpl.java
26,4 → 26,17
.add(eq("c.code",code)).list();
return cYs;
}
 
public CourseYear findCourseYearU(String code, String importYear)
{
List<CourseYear> cYs = createCriteria()
.createAlias("course","c")
.add(eq("importYear", importYear))
.add(eq("c.code",code)).list();
 
if (cYs.isEmpty())
return null;
 
return cYs.get(0);
}
}
/branches/grupo2/impl/src/java/pt/estgp/estgweb/web/controllers/courses/CoursesServicesController.java
52,4 → 52,14
new Object[]{courseReportDocument});
return new JSONObject(json);
}
 
public JSONObject saveCourseReportDocument(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Throwable {
String courseReportDocument = request.getParameter("courseReportDocument");
 
IServiceManager sm = ServiceManager.getInstance();
String json = (String) sm.execute(RequestUtils.getRequester(request, response),
"SaveCourseReportDocument",
new Object[]{courseReportDocument});
return new JSONObject(json);
}
}
/branches/grupo2/impl/src/java/pt/estgp/estgweb/web/controllers/configuration/ConfigurationsController.java
170,6 → 170,7
 
configuration.setOpenInfoIntranet(f.getConfiguration().getOpenInfoIntranet());
configuration.setInterfaceImportYear(f.getConfiguration().getInterfaceImportYear());
configuration.setCourseReportImportYear(f.getConfiguration().getCourseReportImportYear());
configuration.setCursosFicticios(f.getConfiguration().getCursosFicticios());
 
configuration.setCourseUnitEvaluationActiveYear(f.getConfiguration().getCourseUnitEvaluationActiveYear());
/branches/grupo2/impl/src/hbm/pt/estgp/estgweb/domain/Course.hbm.xml
79,6 → 79,9
<property name="separatedTurmas" type="boolean">
<column name="separatedTurmas" default="false"/>
</property>
<property name="courseReportDocument" type="text">
<column name="courseReportDocument" sql-type="LONGTEXT"/>
</property>
<many-to-one name="course" class="pt.estgp.estgweb.domain.Course" outer-join="true" lazy="false" column="course_id"/>
<subclass name="pt.estgp.estgweb.domain.CourseYearImpl" discriminator-value="CourseYearImpl"/>
</class>
/branches/grupo2/impl/src/hbm/pt/estgp/estgweb/domain/Configuration.hbm.xml
14,6 → 14,9
<timestamp source="db" name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="interfaceImportYear" type="string"/>
<property name="courseReportImportYear" type="string">
<column name="courseReportImportYear" default="201718" />
</property>
 
<!-- IMPORTS CONFIGS -->
<property name="importsDefaultImportYear" type="string"/>
/branches/grupo2/impl/src/web/admin/configuration/configs.jsp
70,6 → 70,25
</div>
 
 
<div class="form-group">
<label class="control-label col-sm-2">Relatórios de Curso em Produção</label>
<div class="col-sm-10">
 
<html:select styleClass="form-control" property="configuration.courseReportImportYear">
<%
for(String year:years)
{
request.setAttribute("year",year);
%>
<html:option value="${year}">${year}</html:option>
<%
}
%>
</html:select>
</div>
</div>
 
 
<div class="panel panel-default">
<div class="panel-heading">Relatórios de Avaliação das Unidades Curriculares</div>
<div class="panel-body">
/branches/grupo2/impl/src/web/user/courses/courseReportEdit.jsp
2,19 → 2,19
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.domain.CourseImpl" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.utils.documentBuilder.TextComponent" %>
<%@ page import="pt.estgp.estgweb.utils.documentBuilder.ImageComponent" %>
<%@ page import="pt.estgp.estgweb.services.courses.CourseReportServices" %>
<%@ page import="pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument" %>
<%@ page import="org.json.JSONException" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %>
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@taglib prefix="t" tagdir="/WEB-INF/tags" %>
<%@ taglib prefix="t" tagdir="/WEB-INF/tags" %>
 
<%-- http://localhost:8080/baco/user/editCourseReport.do?courseCode=44&year=201617 --%>
 
<link rel="stylesheet" href="<%=request.getContextPath()%>/js/jquery-ui-1.12.1/jquery-ui.css">
<script src="<%=request.getContextPath()%>/js/jquery-ui-1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="<%=request.getContextPath()%>/css/flora-commons/flora.resizable.css">
93,23 → 93,26
</script>
 
<%
 
String courseCode = request.getParameter("courseCode");
String year = request.getParameter("year");
AbstractDao.getCurrentSession().beginTransaction();
CourseImpl courseImpl = DaoFactory.getCourseDaoImpl().findCourseByCode(courseCode);
request.setAttribute("course",courseImpl);
CourseReportDocument courseReport = null;
 
String courseReportJson = null;
try {
courseReport = new CourseReportServices().createNewCourseReportDocument(courseCode, year);
} catch (Throwable e) {
System.out.println(e);
e.printStackTrace();
IServiceManager sm = ServiceManager.getInstance();
courseReportJson = (String) sm.execute(RequestUtils.getRequester(request, response),
"LoadCourseReportDocument",
new Object[]{courseCode, year});
} catch (Throwable throwable) {
throwable.printStackTrace();
}
String courseReportJson = courseReport.toJson();
request.setAttribute("courseDocumentJson",courseReportJson);
request.setAttribute("courseDocument",courseReport);
 
 
AbstractDao.getCurrentSession().beginTransaction();
CourseImpl courseImpl = DaoFactory.getCourseDaoImpl().findCourseByCode(courseCode);
request.setAttribute("course",courseImpl);
 
//request.setAttribute("courseDocument",courseReport);
%>
<%--<a href="javascript:demoFromHTML()" class="button">Run Code</a>--%>
 
314,6 → 317,21
}
}
 
$scope.saveCourseReportDocument = function () {
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/courseReport.do",
"saveCourseReportDocument",
{
"courseReportDocument" : BacoJS.stringifyOrdered($scope.report)
},
"#courseReportApp",
function(data)
{
alert(BacoJS.stringifyOrdered(data));
},
function(){}
);
}
 
 
 
328,11 → 346,13
<div id="courseReportApp" ng-app="courseReportApp" ng-controller="courseReportAppController">
<div class="web-messages"></div>
 
<button class="btn btn-success" ng-click="saveCourseReportDocument()">Gravar</button>
 
<div ng-init="section=report;" ng-include="'pt_estgp_estgweb_utils_documentBuilder_DocumentSection'">
 
</div>
 
<pre class="code">{{ report | json }}</pre>
<!--<pre class="code">{{ report | json }}</pre>-->
 
 
 
/branches/grupo2/impl/src/web/user/home/teacher.jsp
157,6 → 157,7
AbstractDao.getCurrentSession().beginTransaction();
TeacherImpl tLoggedIn = (TeacherImpl) DaoFactory.getTeacherDaoImpl().get(UserSession.getUser().getId());
boolean hasCommisionsOrCoordinations = tLoggedIn.hasCoordinationsOrBelongToCourseCommissions();
request.setAttribute("tLoggedIn",tLoggedIn);
AbstractDao.getCurrentSession().getTransaction().commit();
if( hasCommisionsOrCoordinations )
{
166,6 → 167,14
<div class="panel-body">
 
<div class="list-group">
 
 
<logic:iterate id="cordCourse" name="tLoggedIn" property="coordinatorCourses" type="pt.estgp.estgweb.domain.Course">
<div class="list-group-item">
<html:link action="/user/editCourseReport.do?courseCode=${cordCourse.code}&year=${UserSession.nowConfiguration.courseReportImportYear}">Editar o relatório de Curso do ano (${UserSession.nowConfiguration.courseReportImportYear})</html:link>
</div>
</logic:iterate>
 
<div class="list-group-item">
<html:link action="/user/startSubmitMessageCourseComission">
Enviar email aos alunos
/branches/grupo2/impl/build.xml
66,6 → 66,7
<target name="initDirs">
<mkdir dir="${log.dir}"/>
<mkdir dir="${data.dir}"/>
<mkdir dir="${tmp.dir}"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir.classes}"/>
<mkdir dir="${build.dir.war}"/>
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Pagina.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitDeliverable.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoCursoAfeto.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPergunta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SurveyStatsGraphic.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/GenericUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/EventGeneric.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupDocentesAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusiveDecisionHolderInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgram.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationSeparator.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupCursosAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Announcement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndMessageInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPoolThreadInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Survey.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RecordThesis.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionPossibleAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentInterface.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/PageSection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionCandidateAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPoolInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SruSourceCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/EventClass.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RecordJob.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGradesStatusEpoca.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Teacher.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/PageRepositoryFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgenservices.repositorydocuments.RepositoryFileProxy;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitSummary.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Record.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnRoleSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnTaskFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportDocenteFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
15,6 → 15,7
private Date saveDate;
private String importYear;
private boolean separatedTurmas;
private String courseReportDocument;
private Course course;
 
public CourseYear() {
56,6 → 57,13
public void setSeparatedTurmas(boolean separatedTurmas) {
this.separatedTurmas = separatedTurmas;
}
public String getCourseReportDocument() {
return this.courseReportDocument;
}
public void setCourseReportDocument(String courseReportDocument) {
this.courseReportDocument = courseReportDocument;
}
public Course getCourse() {
return this.course;
}
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableDomainObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Blog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActor.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.Todos;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Assessment.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RepositoryFileVersion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/UserRoleConfig.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SessionObjectId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTask.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.Todos;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoUnidadeCurricularAfeta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusiveDecisionHolder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableBoolean.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonth.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Page.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseStudiesPlan.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoAlunoRequisitado.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Process.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/AppUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPool.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/PageText.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Questionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPerguntaEsforco.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioUnidade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndMessages.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.TargetActorType;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableString.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGateway.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYearId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableJson.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Group.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnit.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGradesEpocaAvaliacao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoTipologiaRequisitada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SigesUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAnnouncement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/ManagedIdentifierCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryCategory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RecordOther.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonthId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/DigitalDelivery.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/UserSession.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitEvaluation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportCursoFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroup.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorSelectorCondicionado.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgramPart2.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioCurso.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioResposta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioTipologia.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitBlog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Reminder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RecordEventOrganization.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RecordPaper.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusiveInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Configuration.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
14,6 → 14,7
private Date updateDate;
private Date saveDate;
private String interfaceImportYear;
private String courseReportImportYear;
private String importsDefaultImportYear;
private String sigesWebServicesWsdl;
private Integer sigesInstitutionCode;
57,6 → 58,13
public void setInterfaceImportYear(String interfaceImportYear) {
this.interfaceImportYear = interfaceImportYear;
}
public String getCourseReportImportYear() {
return this.courseReportImportYear;
}
public void setCourseReportImportYear(String courseReportImportYear) {
this.courseReportImportYear = courseReportImportYear;
}
public String getImportsDefaultImportYear() {
return this.importsDefaultImportYear;
}
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/PageContent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SessionObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.io.Serializable;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitBlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/JobParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableInteger.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcessInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/EventFormacoes.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/ComunicationFolder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Student.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableFloat.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDay.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnUserSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioTipologia.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariable.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.domain.typesgen.VariableType;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RecordProject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/PageExternalObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEvent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitTurma.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SurveyResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RepositoryFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/ProcessEventFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/ProcessEvent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioUnidade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGatewayExclusive.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableLong.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowConnectorInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SruSource.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcess.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableJsonArray.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/ManagedIdentifier.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Course.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/PageExternalUrl.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitGrade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/AssessmentResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDayId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTask.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocument.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/User.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/EventUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Image.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapHistoryDimension.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Teste.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioAnswerEsforco.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryTarget.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorSelectorWithDomainObjectLoader.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUserAssociation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationDirectory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioHistoryDrive.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAssignement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowConnector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioRespostaRequisitada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEnd.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowObjectInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioCurso.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseSchool.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Job.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.io.Serializable;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnAbstractActorSelector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskScheduler.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/EventGenericRecord.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskSchedulerParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/CourseDepartment.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/MetaProcess.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/SurveyStructuralNode.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/BpmnVariableDouble.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGrades.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/Seccao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/grupo2/impl/gen/java/pt/estgp/estgweb/domain/UrlStat.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/nov/2017 19:35:42 by Hibernate Tools 3.2.0.b9
// Generated 7/dez/2017 12:42:34 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;