Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1702 → Rev 1703

/branches/v3/impl/conf/language/MessageResources.properties
2165,6 → 2165,7
 
 
 
repositorytools=Ferramenta de Importação de Documentos do Repositório
repositorydoc=Repositório de Documentos Digitais
repository.document.save.success=Documento salvo com sucesso
repositorycol=Colecções do Repositório de Documentos Digitais
/branches/v3/impl/conf/WEB-INF/struts/struts-repositorydocs.xml
24,9 → 24,9
<action path="/user/repositoryEditInterface" forward="page.repository.edit.interface"/>
<action path="/user/repositoryListInterfaces" forward="page.repository.list.interfaces"/>
<action path="/user/repositoryBrowseCollections" forward="page.repository.browse.col"/>
<action path="/user/repositoryImportTools" forward="page.repository.import.tool"/>
 
 
 
<action path="/user/repositoryDoc"
type="pt.estgp.estgweb.web.controllers.repositorydocs.RepositoryDocController"
name="WidgetModelForm"
/branches/v3/impl/conf/WEB-INF/struts/tiles-repositorydocs.xml
38,6 → 38,13
</definition>
 
 
 
<definition name="page.repository.import.tool" extends="page.pae.separators.home">
<put name="title" value="Ferramenta de Importação do Repositório de Documentos Digitais"/>
<put name="topnav" value="/user/repositoryDocuments/topnavRepoImportTools.jsp"/>
<put name="body" value="/user/repositoryDocuments/tools.jsp"/>
</definition>
 
<!--Publicas-->
<definition name="page.repository.public.show.docs" extends="base.definition.pae.public">
<put name="title" value="Repositório Digital"/>
/branches/v3/impl/conf/WEB-INF/tags/repositoryFile.tag
13,10 → 13,12
<%@attribute name="downloadIcon" type="java.lang.Boolean" required="false" %>
<%@attribute name="showHistory" type="java.lang.Boolean" required="false" %>
<%@attribute name="btnXs" type="java.lang.Boolean" required="false" %>
<%@attribute name="iconLeft" type="java.lang.Boolean" required="false" %>
 
<%
 
boolean history = showHistory == null ? true: showHistory;
boolean iconLeftPos = iconLeft == null ? false: true;
String btnXsClass = btnXs != null && btnXs == true ? " btn-xs " : "";
request.setAttribute("btnXsClass",btnXsClass);
if(staticTag != null && staticTag)
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courses/CoursesService.java
210,7 → 210,7
String extension = FilesUtils.getExtension(name);
if(c.getStudiesPlan() == null)
{
String identifier = repositoryService.storeRepositoryFile(stream, contentType, extension, size, name, "course.studies.plan " + c.getName(), ResourceAccessControlEnum.publicDomain,userSession);
String identifier = repositoryService.storeRepositoryFile(stream, contentType, extension, size, name, "course.studies.plan " + c.getName(), ResourceAccessControlEnum.publicDomain, null, userSession);
c.setStudiesPlan(identifier);
}
else
1192,7 → 1192,7
else
{
String oldValidationRole = c.getValidationRole();
result = new UserRoleConfigService().updateOldRoleWithView(oldValidationRole,newUserRoleConfig,userSession);
result = new UserRoleConfigService().updateOldRoleWithView(oldValidationRole, newUserRoleConfig, userSession);
}
 
 
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courseunits/SaveCourseUnitProgram.java
155,7 → 155,7
}
if(cu.getProgramStreamId() == null)
{
String identifier = repositoryService.storeRepositoryFile(new FileInputStream(path), "application/pdf", "pdf",((int) new File(path).length()), cu.getCode() + ".pdf", "courseunit.program.description" + cu.getName(), ResourceAccessControlEnum.publicDomain,owner);
String identifier = repositoryService.storeRepositoryFile(new FileInputStream(path), "application/pdf", "pdf",((int) new File(path).length()), cu.getCode() + ".pdf", "courseunit.program.description" + cu.getName(), ResourceAccessControlEnum.publicDomain, null, owner);
cu.setProgramStreamId(identifier);
}
else
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courseunits/SaveCourseUnitEvaluation.java
210,7 → 210,7
 
if(cu.getEvaluationStreamId() == null)
{
String identifier = repositoryService.storeRepositoryFile(new FileInputStream(path), "application/pdf", "pdf",((int) new File(path).length()), cu.getCode() + "-evaluation.pdf", "courseunit.evaluation.description" + cu.getName(), ResourceAccessControlEnum.courseunitEvaluationDomain,owner);
String identifier = repositoryService.storeRepositoryFile(new FileInputStream(path), "application/pdf", "pdf",((int) new File(path).length()), cu.getCode() + "-evaluation.pdf", "courseunit.evaluation.description" + cu.getName(), ResourceAccessControlEnum.courseunitEvaluationDomain, null, owner);
cu.setEvaluationStreamId(identifier);
}
else
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courseunits/UpdateCourseUnitService.java
55,7 → 55,7
String extension = FilesUtils.getExtension(name);
if(c.getProgramStreamId() == null)
{
String identifier = repositoryService.storeRepositoryFile(stream, contentType, extension, size, name, "courseunit.program.description" + c.getName(), ResourceAccessControlEnum.publicDomain,userSession);
String identifier = repositoryService.storeRepositoryFile(stream, contentType, extension, size, name, "courseunit.program.description" + c.getName(), ResourceAccessControlEnum.publicDomain, null, userSession);
c.setProgramStreamId(identifier);
}
else
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courseunits/CourseUnitWorkService.java
4,21 → 4,17
import pt.estgp.estgweb.domain.views.CourseUnitView;
import pt.estgp.estgweb.domain.views.CourseUnitAssignementView;
import pt.estgp.estgweb.domain.views.CourseUnitDeliverableView;
import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.enums.LangEnum;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.services.data.RepositoryService;
import pt.estgp.estgweb.services.data.IRepositoryFile;
import pt.estgp.estgweb.services.blogs.CreateBlogService;
import pt.estgp.estgweb.services.email.SendEmailService;
import pt.estgp.estgweb.services.email.EMAILJob;
import pt.estgp.estgweb.services.jobs.JobScheduleService;
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum;
import pt.estgp.estgweb.filters.exceptions.AccessDeniedException;
import pt.estgp.estgweb.utils.Email;
import pt.estgp.estgweb.Globals;
import org.apache.log4j.Logger;
 
import java.util.List;
27,7 → 23,6
import java.io.InputStream;
 
import jomm.utils.FilesUtils;
import jomm.utils.MessageResources;
 
/*
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt
76,7 → 71,7
String extension = FilesUtils.getExtension(name);
if(assignement.getRepositoryStream() == null || assignement.getRepositoryStream().trim().length() == 0)
{
String identifier = repositoryService.storeRepositoryFile(file, contentType, extension, size, name, "courseunit.assignement.file " + courseUnit.getName() + " of " + userSession.getUser().getUsername(), ResourceAccessControlEnum.courseunitDomain,userSession);
String identifier = repositoryService.storeRepositoryFile(file, contentType, extension, size, name, "courseunit.assignement.file " + courseUnit.getName() + " of " + userSession.getUser().getUsername(), ResourceAccessControlEnum.courseunitDomain, null, userSession);
assignement.setRepositoryStream(identifier);
}
else
184,7 → 179,7
if(deliverable == null)
{
deliverable = DomainObjectFactory.createCourseUnitDeliverableImpl();
String identifier = repositoryService.storeRepositoryFile(file, contentType, extension, size, name, "courseunit.assignement " + assignement.getCourseUnit().getName() + " of " + userSession.getUser().getUsername(), ResourceAccessControlEnum.courseunitDeliverableDomain,userSession);
String identifier = repositoryService.storeRepositoryFile(file, contentType, extension, size, name, "courseunit.assignement " + assignement.getCourseUnit().getName() + " of " + userSession.getUser().getUsername(), ResourceAccessControlEnum.courseunitDeliverableDomain, null, userSession);
deliverable.setDeliverableRepositoryStream(identifier);
deliverable.setCourseUnitAssignement(assignement);
setStudentWorkDetails(deliverable,userSession);
/branches/v3/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportCourseService.java
469,7 → 469,7
else
c.setCdTurma("");
c.setName(d.getNome());
c.setInstitutionCode("" + d.getCodigoInstituicao());//MUDADO AQUI
//c.setInstitutionCode("" + d.getCodigoInstituicao());//MUDADO AQUI
c.setCode("" + d.getCodigo().intValue());
c.setCourseCode("" + d.getCodigoCurso());
c.setCourseName("" + d.getNomeCurso());
/branches/v3/impl/src/java/pt/estgp/estgweb/services/events/EventsService.java
182,7 → 182,7
flyer.getFileName(),
"Flyer de formacao " + eventPersistent.getTitle(),
ResourceAccessControlEnum.publicDomain,
userSession
null, userSession
);
eventPersistent.setFlyerRepositoryStream(repositoryIdentifier);
} catch (IOException e) {
/branches/v3/impl/src/java/pt/estgp/estgweb/services/questionarios/pedagogico/reportprocessors/ReportAlunosGenerator.java
432,7 → 432,7
zipFile.getName(),
desc,
access,
DaoFactory.getUserDaoImpl().load(new Long(1)));
null, DaoFactory.getUserDaoImpl().load(new Long(1)));
q.setRepositoryStreamZipFile(repositoryStreamCode);
}
else
461,6 → 461,7
tmpFile.getName(),
descricao,
access,//Este relatório de curso é publico
null,
DaoFactory.getUserDaoImpl().load(new Long(1)));
reportFile.setRepositoryStream(repositoryStreamCode);
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/pageContent/dto/VfsPageSectionDto.java
54,7 → 54,7
name,
"RepositoryFileInVfs title:" + title,
ResourceAccessControlEnum.vfsdomain,
DaoFactory.getUserDaoImpl().loadByID("1"));
null, DaoFactory.getUserDaoImpl().loadByID("1"));
repositoryFile = new PageRepositoryFileImpl();
repositoryFile.setTitle(title);
repositoryFile.setDescription(description);
/branches/v3/impl/src/java/pt/estgp/estgweb/services/data/RepositoryService.java
7,6 → 7,7
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum;
import pt.estgp.estgweb.services.data.impl.DefaultRepositoryFile;
import pt.estgp.estgweb.services.data.types.AbstractRepositorySourceModuleInterfacePlugin;
import pt.estgp.estgweb.web.utils.DatesUtils;
import pt.utl.ist.berserk.logic.serviceManager.IService;
 
24,28 → 25,30
public class RepositoryService implements IService
{
 
public String storeRepositoryFile(InputStream stream, String contentType, String extension, int size, String name, String description, ResourceAccessControlEnum accessControl, UserSession userSession)
public String storeRepositoryFile(InputStream stream, String contentType, String extension, int size, String name, String description, ResourceAccessControlEnum accessControl, AbstractRepositorySourceModuleInterfacePlugin sourceModuleInterfacePlugin, UserSession userSession)
{
return storeRepositoryFile(stream,contentType,extension,size,name,description,accessControl,userSession.getUser());
return storeRepositoryFile(stream,contentType,extension,size,name,description,accessControl, sourceModuleInterfacePlugin, userSession.getUser());
}
/**
*
* @param stream .
* @param contentType .
* @param extension .
* @param size .
* @param name .
* @param description .
* @param extension .
* @param accessControl .
* @param user .
* @return the identifier to retrieve the document
* @param sourceModuleInterfacePlugin
*@param user . @return the identifier to retrieve the document
*/
public String storeRepositoryFile(InputStream stream, String contentType, String extension, int size, String name, String description, ResourceAccessControlEnum accessControl, User user)
public String storeRepositoryFile(InputStream stream, String contentType, String extension, int size, String name, String description, ResourceAccessControlEnum accessControl, AbstractRepositorySourceModuleInterfacePlugin sourceModuleInterfacePlugin, User user)
{
RepositoryFileImpl repositoryFile = DomainObjectFactory.createRepositoryFileImpl();
repositoryFile.setSaveDate(new Date());
repositoryFile.setDeleted(false);
repositoryFile.setAccessControl(accessControl.getKey());
repositoryFile.setOwner(user);
repositoryFile.setSourceModule(sourceModuleInterfacePlugin);
DaoFactory.getRepositoryFileDaoImpl().save(repositoryFile);
 
//todo getMD5Checksum()
199,30 → 202,35
return repositoryFileVersion;
}
 
public static Document createXMLdescription(RepositoryFileVersionImpl repositoryFile)
public static Document createXMLdescription(RepositoryFileVersionImpl repositoryFileVersion)
{
org.dom4j.Document dom = DocumentFactory.getInstance().createDocument();
Element rootElement = DocumentFactory.getInstance().createElement("repositoryFileVersion");
dom.setRootElement(rootElement);
rootElement.addAttribute("id", "" + repositoryFile.getId());
 
 
 
rootElement.addAttribute("id", "" + repositoryFileVersion.getId());
 
Element saveDate = DocumentFactory.getInstance().createElement("saveDate");
saveDate.setText(""+DatesUtils.getStringFromDateForFilename(repositoryFile.getSaveDate()));
saveDate.setText(""+DatesUtils.getStringFromDateForFilename(repositoryFileVersion.getSaveDate()));
 
Element name = DocumentFactory.getInstance().createElement("name");
name.setText("" + repositoryFile.getName());
name.setText("" + repositoryFileVersion.getName());
 
 
 
Element contentType = DocumentFactory.getInstance().createElement("contentType");
contentType.setText(""+repositoryFile.getContentType());
contentType.setText(""+repositoryFileVersion.getContentType());
 
Element extension = DocumentFactory.getInstance().createElement("extension");
extension.setText("" + repositoryFile.getExtension());
extension.setText("" + repositoryFileVersion.getExtension());
 
Element size = DocumentFactory.getInstance().createElement("sizeKb");
size.setText("" + repositoryFile.getSizeKb());
size.setText("" + repositoryFileVersion.getSizeKb());
 
Element description = DocumentFactory.getInstance().createElement("description");
description.setText(repositoryFile.getDescription());
description.setText(repositoryFileVersion.getDescription());
 
rootElement.add(saveDate);
rootElement.add(name);
235,19 → 243,26
Element repositoryFileElem = DocumentFactory.getInstance().createElement("repositoryFile");
rootElement.add(repositoryFileElem);
 
repositoryFileElem.addAttribute("id", "" + repositoryFile.getRepositoryFile().getId());
repositoryFileElem.addAttribute("id", "" + repositoryFileVersion.getRepositoryFile().getId());
Element rSaveDate = DocumentFactory.getInstance().createElement("saveDate");
rSaveDate.setText(""+DatesUtils.getStringFromDateForFilename(repositoryFile.getRepositoryFile().getSaveDate()));
rSaveDate.setText(""+DatesUtils.getStringFromDateForFilename(repositoryFileVersion.getRepositoryFile().getSaveDate()));
 
Element rUpdateDate = DocumentFactory.getInstance().createElement("updateDate");
rUpdateDate.setText(""+DatesUtils.getStringFromDateForFilename(repositoryFile.getRepositoryFile().getUpdateDate()));
rUpdateDate.setText(""+DatesUtils.getStringFromDateForFilename(repositoryFileVersion.getRepositoryFile().getUpdateDate()));
 
 
Element accessControl = DocumentFactory.getInstance().createElement("accessControl");
accessControl.setText(repositoryFile.getRepositoryFile().getAccessControl());
accessControl.setText(repositoryFileVersion.getRepositoryFile().getAccessControl());
 
Element sourceModule = DocumentFactory.getInstance().createElement("sourceModule");
if(repositoryFileVersion.getRepositoryFile().getSourceModule() != null)
sourceModule.setText(repositoryFileVersion.getRepositoryFile().getSourceModule().getModuleName());
else
sourceModule.setText("null");
 
 
Element deleted = DocumentFactory.getInstance().createElement("deleted");
deleted.setText("" + repositoryFile.getRepositoryFile().isDeleted());
deleted.setText("" + repositoryFileVersion.getRepositoryFile().isDeleted());
 
repositoryFileElem.add(rSaveDate);
repositoryFileElem.add(rUpdateDate);
256,68 → 271,68
 
Element owner = DocumentFactory.getInstance().createElement("owner");
repositoryFileElem.add(owner);
owner.addAttribute("id", "" + repositoryFile.getRepositoryFile().getOwner().getId());
owner.addAttribute("id", "" + repositoryFileVersion.getRepositoryFile().getOwner().getId());
 
if (repositoryFile.getRepositoryFile().getOwner().getName() != null)
if (repositoryFileVersion.getRepositoryFile().getOwner().getName() != null)
{
Element oName = DocumentFactory.getInstance().createElement("name");
oName.setText(repositoryFile.getRepositoryFile().getOwner().getName());
oName.setText(repositoryFileVersion.getRepositoryFile().getOwner().getName());
owner.add(oName);
}
 
if (DocumentFactory.getInstance().createElement("roles") != null)
{
Element oRoles = DocumentFactory.getInstance().createElement("roles");
oRoles.setText(repositoryFile.getRepositoryFile().getOwner().getRoles());
oRoles.setText(repositoryFileVersion.getRepositoryFile().getOwner().getRoles());
owner.add(oRoles);
}
 
Element oClass = DocumentFactory.getInstance().createElement("class");
oClass.setText(repositoryFile.getRepositoryFile().getOwner().getClass().getSimpleName());
oClass.setText(repositoryFileVersion.getRepositoryFile().getOwner().getClass().getSimpleName());
 
 
owner.add(oClass);
if (repositoryFile.getRepositoryFile().getOwner() instanceof User)
if (repositoryFileVersion.getRepositoryFile().getOwner() instanceof User)
{
Element oUsername = DocumentFactory.getInstance().createElement("username");
if(((User) repositoryFile.getRepositoryFile().getOwner()).getUsername() == null)
if(((User) repositoryFileVersion.getRepositoryFile().getOwner()).getUsername() == null)
oUsername.setText("UNKNOWN");
else
oUsername.setText(((User) repositoryFile.getRepositoryFile().getOwner()).getUsername());
oUsername.setText(((User) repositoryFileVersion.getRepositoryFile().getOwner()).getUsername());
owner.add(oUsername);
 
if (((User) repositoryFile.getRepositoryFile().getOwner()).getEmail() != null)
if (((User) repositoryFileVersion.getRepositoryFile().getOwner()).getEmail() != null)
{
Element oEmail = DocumentFactory.getInstance().createElement("email");
oEmail.setText(((User) repositoryFile.getRepositoryFile().getOwner()).getEmail());
oEmail.setText(((User) repositoryFileVersion.getRepositoryFile().getOwner()).getEmail());
owner.add(oEmail);
}
 
if (((User) repositoryFile.getRepositoryFile().getOwner()).getOutEmail() != null)
if (((User) repositoryFileVersion.getRepositoryFile().getOwner()).getOutEmail() != null)
{
Element outEmail = DocumentFactory.getInstance().createElement("outEmail");
outEmail.setText(((User) repositoryFile.getRepositoryFile().getOwner()).getOutEmail());
outEmail.setText(((User) repositoryFileVersion.getRepositoryFile().getOwner()).getOutEmail());
owner.add(outEmail);
}
 
if (((User) repositoryFile.getRepositoryFile().getOwner()).getBi() != null)
if (((User) repositoryFileVersion.getRepositoryFile().getOwner()).getBi() != null)
{
Element biEmail = DocumentFactory.getInstance().createElement("bi");
biEmail.setText(((User) repositoryFile.getRepositoryFile().getOwner()).getBi());
biEmail.setText(((User) repositoryFileVersion.getRepositoryFile().getOwner()).getBi());
owner.add(biEmail);
}
 
 
if (repositoryFile.getRepositoryFile().getOwner() instanceof Teacher)
if (repositoryFileVersion.getRepositoryFile().getOwner() instanceof Teacher)
{
Element code = DocumentFactory.getInstance().createElement("teacherCode");
code.setText("" + ((Teacher) repositoryFile.getRepositoryFile().getOwner()).getSigesCode());
code.setText("" + ((Teacher) repositoryFileVersion.getRepositoryFile().getOwner()).getSigesCode());
owner.add(code);
}
if (repositoryFile.getRepositoryFile().getOwner() instanceof Student)
if (repositoryFileVersion.getRepositoryFile().getOwner() instanceof Student)
{
Element code = DocumentFactory.getInstance().createElement("studentCode");
code.setText("" + ((Student) repositoryFile.getRepositoryFile().getOwner()).getSigesCode());
code.setText("" + ((Student) repositoryFileVersion.getRepositoryFile().getOwner()).getSigesCode());
owner.add(code);
}
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/data/repositorydocuments/RepositoryDocumentService.java
224,7 → 224,7
uploadedF.getFileName(),
"Institutional Repository Document File",
controloAcesso,
userSession.getUser());
null, userSession.getUser());
Set<RepositoryDocumentFileImpl> files = persistent.getRepositoryDocumentFiles();
if(files == null)
{
/branches/v3/impl/src/java/pt/estgp/estgweb/services/data/types/test/TestEnhancedType.java
New file
0,0 → 1,83
package pt.estgp.estgweb.services.data.types.test;
 
import jomm.dao.impl.AbstractDao;
import junit.framework.TestCase;
import pt.estgp.estgweb.domain.RepositoryFile;
import pt.estgp.estgweb.domain.RepositoryFileImpl;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.data.types.AbstractRepositorySourceModuleInterfacePlugin;
import pt.estgp.estgweb.services.data.types.RepositorySourceModuleMetadata;
 
import java.util.ArrayList;
import java.util.Date;
 
/**
* Created by jorgemachado on 09/02/17.
*/
public class TestEnhancedType extends TestCase
{
static final String REPO_STREAM_FIELD = "repository.stream";
 
public static class TestSourceModule extends AbstractRepositorySourceModuleInterfacePlugin
{
@Override
public RepositorySourceModuleMetadata getMetadata(String repositoryStream)
{
RepositorySourceModuleMetadata r = new RepositorySourceModuleMetadata();
r.setFields(new ArrayList<RepositorySourceModuleMetadata.MetadataField>());
RepositorySourceModuleMetadata.MetadataField f = new RepositorySourceModuleMetadata.MetadataField();
f.setFieldName(REPO_STREAM_FIELD);
f.setFieldValue(repositoryStream);
r.getFields().add(f);
return r;
}
 
@Override
public String getModuleName()
{
return "TestSourceModule";
}
 
@Override
public Date getSourceUpdateDate(String repositoryStream) {
return null;
}
}
public void testActorTypeSerialization()
{
AbstractDao.getCurrentSession().beginTransaction();
 
TestSourceModule t = new TestSourceModule();
 
RepositoryFile rFile = new RepositoryFileImpl();
RepositoryFile rFileNullModule = new RepositoryFileImpl();
rFile.setSourceModule(t);
 
AbstractDao.getCurrentSession().save(rFile);
AbstractDao.getCurrentSession().save(rFileNullModule);
 
 
long id = rFile.getId();
 
long idNull = rFileNullModule.getId();
 
AbstractDao.getCurrentSession().getTransaction().commit();
 
AbstractDao.getCurrentSession().beginTransaction();
 
RepositoryFile rLoaded = DaoFactory.getRepositoryFileDaoImpl().get(id);
RepositoryFile rLoadedNull = DaoFactory.getRepositoryFileDaoImpl().get(idNull);
 
assertNotNull(rLoaded.getSourceModule());
assertTrue(rLoaded.getSourceModule().getModuleName().equals("TestSourceModule"));
assertEquals(rLoaded.getSourceModule().getMetadata("4444").getFields().get(0).getFieldValue(),"4444");
 
assertNull(rLoadedNull.getSourceModule());
 
AbstractDao.getCurrentSession().delete(rLoaded);
AbstractDao.getCurrentSession().delete(rLoadedNull);
AbstractDao.getCurrentSession().getTransaction().commit();
 
}
 
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/data/types/AbstractRepositorySourceModuleEnhancedType.java
New file
0,0 → 1,15
package pt.estgp.estgweb.services.data.types;
 
import pt.estgp.estgweb.services.bpmnprocess.types.EnhancedBacoDataInterfacePlugin;
 
/**
* Created by jorgemachado on 06/04/17.
*/
public class AbstractRepositorySourceModuleEnhancedType extends EnhancedBacoDataInterfacePlugin
{
@Override
public Class returnedClass()
{
return AbstractRepositorySourceModuleInterfacePlugin.class;
}
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/data/types/RepositorySourceModuleMetadata.java
New file
0,0 → 1,42
package pt.estgp.estgweb.services.data.types;
 
import java.util.List;
 
/**
* Created by jorgemachado on 06/04/17.
*/
public class RepositorySourceModuleMetadata
{
private List<MetadataField> fields;
 
public List<MetadataField> getFields() {
return fields;
}
 
public void setFields(List<MetadataField> fields) {
this.fields = fields;
}
 
public static class MetadataField
{
String fieldName;
String fieldValue;
 
public String getFieldName() {
return fieldName;
}
 
public void setFieldName(String fieldName) {
this.fieldName = fieldName;
}
 
public String getFieldValue() {
return fieldValue;
}
 
public void setFieldValue(String fieldValue) {
this.fieldValue = fieldValue;
}
}
 
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/data/types/AbstractRepositorySourceModuleInterfacePlugin.java
New file
0,0 → 1,20
package pt.estgp.estgweb.services.data.types;
 
import pt.estgp.estgweb.services.bpmnprocess.types.BacoDataInterfaceClassPlugin;
 
import java.util.Date;
 
/**
* Created by jorgemachado on 06/04/17.
* As classes que herdam desta classe não precisam de implementar quaisquer metodos
* para poderem ser usadas como enhanced classes no Hibernate, uma vez que apenas
* se necessita de usar o nome da classe para a criar com Reflection
*
* @classesAssociadas
*/
public abstract class AbstractRepositorySourceModuleInterfacePlugin extends BacoDataInterfaceClassPlugin
{
public abstract RepositorySourceModuleMetadata getMetadata(String repositoryStream);
public abstract String getModuleName();
public abstract Date getSourceUpdateDate(String repositoryStream);
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/data/types/README
New file
0,0 → 1,24
Criar Repository Source Modules
 
A classe do Modelo de Source Modules a adicionar deverá:
 
1 - ClasseModulo herdar a class AbstractRepositorySourceModuleInterfacePlugin e implementar os métodos da classe
2 - No momento da criação de um RepositoryFile as instâncias da ClasseModulo deverão ser fornecidas como sourceModule
 
3 - Durante o carregamento da base de dados a string que fica guardada no campo de texto da
Abstract Baco String Enhanced é o nome completo da classe
4 - O carregamento é a instanciação da classe novamente pelo nome
5 - Desta forma é um plugin puro sem necessidade de ser instanciada pelo BACO,
6 - O Hibernate instância a classe por nós.
 
 
##################################
Usar o plugin das interfaces do baco com o Hibernate noutros casos
 
1 - Criar uma classe abstrata A1 com os metodos desejados e herdar de BacoDataInterfaceClassPlugin
2 - Deve criar um Enhanced class E1 a herdar de EnhancedBacoDataInterfacePlugin e implementar o método getReturnClass
 
De seguida deverá proceder como no caso do Repositorio
Criar um campo no modelo do tipo da sua classe enhanced E1
e no momento da criação passar a instancia A1 para o atributo respetivo
 
/branches/v3/impl/src/java/pt/estgp/estgweb/services/surveys/GenerateSurveyStatsCsvService.java
13,7 → 13,6
import pt.utl.ist.berserk.logic.serviceManager.IService;
 
import java.io.*;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
87,7 → 86,7
String identifier = survey.getIdentifier();
 
if(identifier == null)
identifier = repositoryService.storeRepositoryFile(inputStream,"text/comma-separated-values",extension,(int)file.length(),file.getName(),"CSV file of survey: "+survey.getId(), ResourceAccessControlEnum.surveyStatsDomain,userSession);
identifier = repositoryService.storeRepositoryFile(inputStream,"text/comma-separated-values",extension,(int)file.length(),file.getName(),"CSV file of survey: "+survey.getId(), ResourceAccessControlEnum.surveyStatsDomain, null, userSession);
else
repositoryService.updateRepositoryFile(identifier,inputStream,"text/comma-separated-values",extension,(int)file.length(),file.getName(),"CSV file of survey: "+survey.getId(),ResourceAccessControlEnum.surveyStatsDomain);
 
/branches/v3/impl/src/java/pt/estgp/estgweb/services/surveys/GenerateSurveyStatsService.java
7,7 → 7,6
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.LegendItemCollection;
import org.jfree.chart.axis.*;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
15,11 → 14,9
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.text.TextBlockAnchor;
import org.jfree.ui.RectangleAnchor;
import org.jfree.ui.TextAnchor;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.views.SurveyView;
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum;
import pt.estgp.estgweb.services.data.RepositoryService;
import pt.utl.ist.berserk.logic.serviceManager.IService;
128,7 → 125,7
FileInputStream inputStream = new FileInputStream(file);
 
if(identifier == null)
identifier = repositoryService.storeRepositoryFile(inputStream,"image/png",extension,(int)file.length(),file.getName(),description,ResourceAccessControlEnum.surveyStatsDomain,userSession);
identifier = repositoryService.storeRepositoryFile(inputStream,"image/png",extension,(int)file.length(),file.getName(),description,ResourceAccessControlEnum.surveyStatsDomain, null, userSession);
else
repositoryService.updateRepositoryFile(identifier,inputStream,"image/png",extension,(int)file.length(),file.getName(),description,ResourceAccessControlEnum.surveyStatsDomain);
 
/branches/v3/impl/src/java/pt/estgp/estgweb/services/paginasseccoes/SalvarFicheiro.java
23,7 → 23,7
frm.getFicheiro().getFileName(),
"",
ResourceAccessControlEnum.authenticatedDomain,
usession);
null, usession);
 
return id;
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/bpmnprocess/types/BacoDataInterfaceClassPlugin.java
New file
0,0 → 1,40
package pt.estgp.estgweb.services.bpmnprocess.types;
 
/**
* Created by jorgemachado on 06/04/17.
*/
 
 
/**
*
* This class should be used only in terms of Interface only
*
* Is made with the purpose of create Plugin Interfaces as Enhanced Classes
*
*/
public abstract class BacoDataInterfaceClassPlugin extends BacoDataAbstractType
{
 
@Override
public boolean equals(Object o)
{
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
 
BacoDataInterfaceClassPlugin that = (BacoDataInterfaceClassPlugin) o;
 
return getClass().getName().equals(that.getClass().getName());
}
 
@Override
public int hashCode()
{
return getClass().getName().hashCode();
}
 
@Override
public String toString()
{
return getClass().getName();
}
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/bpmnprocess/types/EnhancedBacoDataInterfacePlugin.java
New file
0,0 → 1,43
package pt.estgp.estgweb.services.bpmnprocess.types;
 
/**
* Created by jorgemachado on 03/02/17.
*/
public abstract class EnhancedBacoDataInterfacePlugin extends AbstractStringEnhancedType
{
@Override
public Object fromXMLString(String xmlValue) {
if(xmlValue == null)
return null;
try {
return Class.forName(xmlValue).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
 
@Override
public abstract Class returnedClass();
 
@Override
public BacoDataInterfaceClassPlugin fromString(String className) {
if(className == null)
return null;
try {
return (BacoDataInterfaceClassPlugin) Class.forName(className).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
 
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/profile/CurriculumService.java
85,7 → 85,7
String extension = FilesUtils.getExtension(name);
if(recordView.getRepositoryStream() == null)
{
String identifier = repositoryService.storeRepositoryFile(file, contentType, extension, size, name, "profile.curriculum.record " + r.getTitle() + " of " + userSession.getUser().getUsername(), ResourceAccessControlEnum.parse(recordView.getFileAccess()),userSession);
String identifier = repositoryService.storeRepositoryFile(file, contentType, extension, size, name, "profile.curriculum.record " + r.getTitle() + " of " + userSession.getUser().getUsername(), ResourceAccessControlEnum.parse(recordView.getFileAccess()), null, userSession);
r.setRepositoryStream(identifier);
}
else
/branches/v3/impl/src/java/pt/estgp/estgweb/services/processes/ProcessesService.java
3,24 → 3,14
import jomm.utils.FilesUtils;
import org.apache.log4j.Logger;
import org.apache.struts.upload.FormFile;
import org.dom4j.Document;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.views.CourseView;
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum;
import pt.estgp.estgweb.services.data.IRepositoryFile;
import pt.estgp.estgweb.services.data.RepositoryService;
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.utils.DatesUtils;
import pt.estgp.estgweb.utils.Dom4jUtil;
import pt.utl.ist.berserk.logic.serviceManager.IService;
 
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.*;
 
/*
78,7 → 68,7
String repositoryId;
try {
repositoryId = repositoryService.storeRepositoryFile(file.getInputStream(),file.getContentType(), FilesUtils.getExtension(file.getFileName()),
file.getFileSize(),file.getFileName(),"Process file " + metaProcess.getName(), ResourceAccessControlEnum.processDomain,sess);
file.getFileSize(),file.getFileName(),"Process file " + metaProcess.getName(), ResourceAccessControlEnum.processDomain, null, sess);
} catch (IOException e) {
logger.error(e,e);
throw e;
/branches/v3/impl/src/java/pt/estgp/estgweb/services/assessments/GeneratePdfService.java
226,7 → 226,7
String identifier = assessment.getIdentifier();
 
if(identifier==null)
identifier = repositoryService.storeRepositoryFile(inputStream,"application/pdf",extension,(int)file.length(),file.getName(),description, ResourceAccessControlEnum.publicDomain,userSession);
identifier = repositoryService.storeRepositoryFile(inputStream,"application/pdf",extension,(int)file.length(),file.getName(),description, ResourceAccessControlEnum.publicDomain, null, userSession);
else
repositoryService.updateRepositoryFile(identifier,inputStream, "application/pdf",extension,(int)file.length(),file.getName(),description, ResourceAccessControlEnum.publicDomain);
 
610,7 → 610,7
String identifierResponse = assessmentResponse.getIdentifier();
 
if(identifierResponse==null)
identifierResponse = repositoryService.storeRepositoryFile(inputStream,"application/pdf",extension,(int)file.length(),file.getName(),description, ResourceAccessControlEnum.publicDomain,userSession);
identifierResponse = repositoryService.storeRepositoryFile(inputStream,"application/pdf",extension,(int)file.length(),file.getName(),description, ResourceAccessControlEnum.publicDomain, null, userSession);
else
repositoryService.updateRepositoryFile(identifierResponse,inputStream, "application/pdf",extension,(int)file.length(),file.getName(),description, ResourceAccessControlEnum.publicDomain);
 
789,7 → 789,7
String identifierEvaluations = assessment.getEvaluationsIdentifier();
 
if(identifierEvaluations==null)
identifierEvaluations = repositoryService.storeRepositoryFile(inputStream,"application/pdf",extension,(int)file.length(),file.getName(),description, ResourceAccessControlEnum.publicDomain,userSession);
identifierEvaluations = repositoryService.storeRepositoryFile(inputStream,"application/pdf",extension,(int)file.length(),file.getName(),description, ResourceAccessControlEnum.publicDomain, null, userSession);
else
repositoryService.updateRepositoryFile(identifierEvaluations,inputStream, "application/pdf",extension,(int)file.length(),file.getName(),description, ResourceAccessControlEnum.publicDomain);
 
/branches/v3/impl/src/java/pt/estgp/estgweb/services/assessments/InsertAssessmentAnswersService.java
62,7 → 62,7
String identifier = null;
try {
 
identifier = repositoryService.storeRepositoryFile(file.getInputStream(),file.getContentType(),extension,file.getFileSize(),file.getFileName(),description, ResourceAccessControlEnum.publicDomain,userSession);
identifier = repositoryService.storeRepositoryFile(file.getInputStream(),file.getContentType(),extension,file.getFileSize(),file.getFileName(),description, ResourceAccessControlEnum.publicDomain, null, userSession);
a.setIdentifier(identifier);
 
} catch (IOException e) {
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/CourseUnitProgramImpl.java
627,7 → 627,7
cu.setCode(line.codigoSIGESUnidade);
cu.setCourseCode(line.codigoCurso);
cu.setName(line.nomeUnidadeCurricular);
cu.setInstitutionCode("" + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode());
//cu.setInstitutionCode("" + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode());
 
setCourse(cu, line);
DaoFactory.getCourseUnitDaoImpl().save(cu);
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java
7,7 → 7,6
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.sql.JoinFragment;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.dao.DaoUtils;
753,40 → 752,14
public List<CourseUnit> courseUnits;
}
 
/**
* Load all programs from active courses that are for validation
* @param userSession
* @return
*/
public List<CourseMissingValidationProgram> loadMissingProgramValidate(UserSession userSession)
{
List<CourseMissingValidationProgram> result = new ArrayList<CourseMissingValidationProgram>();
//List<Course> courses = DaoFactory.getCourseDaoImpl().findActiveCourses(DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear());
List<Course> courses = DaoFactory.getCourseDaoImpl().findActiveCoursesCoordinationsOrCommissions(DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear(),userSession.getUser());
for(Course course: courses)
{
//CourseImpl cImpl = (CourseImpl) DaoFactory.getCourseDaoImpl().narrow(course);
//if(cImpl.isFromCourseCommission(userSession) || userSession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE))
//{
List<CourseUnit> courseUnits = loadMissingProgramValidateGivenCourse(course.getId());
if(courseUnits != null && courseUnits.size() > 0)
{
CourseMissingValidationProgram c = new CourseMissingValidationProgram();
c.course = course;
c.courseUnits = courseUnits;
result.add(c);
}
//}
}
return result;
}
//TODO
 
 
 
public List<CourseMissingValidationProgram> loadMissingProgramValidateOptimized(UserSession userSession)
{
List<CourseMissingValidationProgram> result = new ArrayList<CourseMissingValidationProgram>();
 
//todo Em vez de FindAll faco a listagem total de cadeiras e é la dentro que restringe ou a todas
//Em vez de FindAll faco a listagem total de cadeiras e é la dentro que restringe ou a todas
//os cursos caso seja da secretaria ou aos cursos de que faz parte da comissao
//Obtenho todas as cadeiras de todos os cursos
//Organizo-as por curso
813,39 → 786,13
}
return result;
}
/**
* Load all programs missing from active courses
* @param userSession
* @return
*/
public List<CourseMissingValidationProgram> loadMissingPrograms(UserSession userSession)
{
List<CourseMissingValidationProgram> result = new ArrayList<CourseMissingValidationProgram>();
//List<Course> courses = DaoFactory.getCourseDaoImpl().findActiveCourses(DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear());
List<Course> courses = DaoFactory.getCourseDaoImpl().findActiveCoursesCoordinationsOrCommissions(DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear(),userSession.getUser());
for(Course course: courses)
{
//CourseImpl cImpl = (CourseImpl) DaoFactory.getCourseDaoImpl().narrow(course);
//if(cImpl.isFromCourseCommission(userSession) || userSession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE))
//{
List<CourseUnit> courseUnits = loadMissingProgramGivenCourse(course.getId());
if(courseUnits != null && courseUnits.size() > 0)
{
CourseMissingValidationProgram c = new CourseMissingValidationProgram();
c.course = course;
c.courseUnits = courseUnits;
result.add(c);
}
//}
}
return result;
}
 
 
public List<CourseMissingValidationProgram> loadMissingProgramsOptimized(UserSession userSession)
{
List<CourseMissingValidationProgram> result = new ArrayList<CourseMissingValidationProgram>();
 
//todo Em vez de FindAll faco a listagem total de cadeiras e é la dentro que restringe ou a todas
//Em vez de FindAll faco a listagem total de cadeiras e é la dentro que restringe ou a todas
//os cursos caso seja da secretaria ou aos cursos de que faz parte da comissao
//Obtenho todas as cadeiras de todos os cursos
//Organizo-as por curso
879,29 → 826,35
public List<CourseUnit> courseUnits;
}
 
/**
* METODO ANTIGO QUE ESTAVA NA COURSE COMISSION
* @param userSession
* @return
*/
public List<CourseMissingValidationEvaluation> loadMissingEvaluationValidate(UserSession userSession)
 
public List<CourseMissingValidationEvaluation> loadMissingEvaluationOptimized(UserSession userSession)
{
List<CourseMissingValidationEvaluation> result = new ArrayList<CourseMissingValidationEvaluation>();
List<Course> courses = DaoFactory.getCourseDaoImpl().findAll();
for(Course course: courses)
 
//Em vez de FindAll faco a listagem total de cadeiras e é la dentro que restringe ou a todas
//os cursos caso seja da secretaria ou aos cursos de que faz parte da comissao
//Obtenho todas as cadeiras de todos os cursos
//Organizo-as por curso
//devolvo a lista final
HashMap<Course,CourseMissingValidationEvaluation> mapaUnidadesCurso = new HashMap<Course, CourseMissingValidationEvaluation>();
 
List<CourseUnit> courseUnits = loadMissingEvaluationOptimizedComissionsAndSecreariat(userSession.getUser());
for(CourseUnit cu : courseUnits)
{
CourseImpl cImpl = (CourseImpl) DaoFactory.getCourseDaoImpl().narrow(course);
if(cImpl.isFromCourseCommission(userSession) || userSession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE))
if(mapaUnidadesCurso.get(cu.getCourse()) == null)
{
List<CourseUnit> courseUnits = loadMissingEvaluationValidateGivenCourse(course.getId());
if(courseUnits != null && courseUnits.size() > 0)
{
CourseMissingValidationEvaluation c = new CourseMissingValidationEvaluation();
c.course = course;
c.courseUnits = courseUnits;
result.add(c);
}
CourseMissingValidationEvaluation c = new CourseMissingValidationEvaluation();
c.course = DaoFactory.getCourseDaoImpl().narrow(cu.getCourse());
c.courseUnits = new ArrayList<CourseUnit>();
c.courseUnits.add(cu);
result.add(c);
mapaUnidadesCurso.put(c.course,c);
}
else
{
CourseMissingValidationEvaluation c = mapaUnidadesCurso.get(cu.getCourse());
c.courseUnits.add(cu);
}
}
return result;
}
910,7 → 863,7
{
List<CourseMissingValidationEvaluation> result = new ArrayList<CourseMissingValidationEvaluation>();
 
//todo Em vez de FindAll faco a listagem total de cadeiras e é la dentro que restringe ou a todas
//Em vez de FindAll faco a listagem total de cadeiras e é la dentro que restringe ou a todas
//os cursos caso seja da secretaria ou aos cursos de que faz parte da comissao
//Obtenho todas as cadeiras de todos os cursos
//Organizo-as por curso
939,8 → 892,8
}
 
 
//TODO PARA USAR MAIS TARDE
 
 
/**
* @param u utilizador com vista para cursos
* Se for secretaria considera todos os cursos
1098,60 → 1051,8
return teacherCompleteFalse;
}
 
public List<CourseMissingValidationEvaluation> loadMissingEvaluationOptimized(UserSession userSession)
{
List<CourseMissingValidationEvaluation> result = new ArrayList<CourseMissingValidationEvaluation>();
 
//todo Em vez de FindAll faco a listagem total de cadeiras e é la dentro que restringe ou a todas
//os cursos caso seja da secretaria ou aos cursos de que faz parte da comissao
//Obtenho todas as cadeiras de todos os cursos
//Organizo-as por curso
//devolvo a lista final
HashMap<Course,CourseMissingValidationEvaluation> mapaUnidadesCurso = new HashMap<Course, CourseMissingValidationEvaluation>();
 
List<CourseUnit> courseUnits = loadMissingEvaluationOptimizedComissionsAndSecreariat(userSession.getUser());
for(CourseUnit cu : courseUnits)
{
if(mapaUnidadesCurso.get(cu.getCourse()) == null)
{
CourseMissingValidationEvaluation c = new CourseMissingValidationEvaluation();
c.course = DaoFactory.getCourseDaoImpl().narrow(cu.getCourse());
c.courseUnits = new ArrayList<CourseUnit>();
c.courseUnits.add(cu);
result.add(c);
mapaUnidadesCurso.put(c.course,c);
}
else
{
CourseMissingValidationEvaluation c = mapaUnidadesCurso.get(cu.getCourse());
c.courseUnits.add(cu);
}
}
return result;
}
 
public List<CourseMissingValidationEvaluation> loadMissingEvaluation(UserSession userSession)
{
List<CourseMissingValidationEvaluation> result = new ArrayList<CourseMissingValidationEvaluation>();
List<Course> courses = DaoFactory.getCourseDaoImpl().findAll();
for(Course course: courses)
{
CourseImpl cImpl = (CourseImpl) DaoFactory.getCourseDaoImpl().narrow(course);
if(cImpl.isFromCourseCommission(userSession) || userSession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE))
{
List<CourseUnit> courseUnits = loadMissingEvaluation(course.getId());
if(courseUnits != null && courseUnits.size() > 0)
{
CourseMissingValidationEvaluation c = new CourseMissingValidationEvaluation();
c.course = course;
c.courseUnits = courseUnits;
result.add(c);
}
}
}
return result;
}
 
public List<CourseUnit> loadMissingEvaluationOptimizedComissionsAndSecreariat(User u)
{
 
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/repositorydocs/RepositoryDocController.java
3,6 → 3,10
import org.apache.struts.action.ActionForm;
import org.json.JSONArray;
import org.json.JSONObject;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import pt.estgp.estgweb.web.controllers.utils.AbstractWidgetAjaxController;
import pt.estgp.estgweb.web.controllers.utils.FilesUploadResult;
import pt.estgp.estgweb.web.utils.RequestUtils;
11,6 → 15,8
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.net.URL;
import java.util.GregorianCalendar;
 
/**
* Created by jorgemachado on 23/02/17.
144,5 → 150,153
addMessageAsString(request,"Interface guardada com sucesso");
return true;
}
 
public JSONObject selectObjectsFromURL(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Throwable
{
String paragraphSelector = request.getParameter("paragraphSelector");
String url = request.getParameter("urlSource");
URL u = new URL(url);
String domainRoot = u.getProtocol() + "://" + u.getHost();
//if(domainRoot.endsWith("/"))
// domainRoot = domainRoot.substring(0,domainRoot.length()-1);
JSONArray sections = new JSONArray();
JSONArray nowSectionDocuments = new JSONArray();
JSONObject section = new JSONObject();
section.put("section","PRIMEIRA_IGNORAR");
section.put("documents",nowSectionDocuments);
sections.put(section);
 
int count = 0;
Document doc = Jsoup.connect(url).get();
Elements newsHeadlines = doc.select(paragraphSelector);
String dateYearSection = null;
for(Element e: newsHeadlines)
{
String allText = e.text().replaceAll("\\n", " ").replaceAll("[ \\t\\xA0\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000]"," ").trim();
 
 
if(allText.length() > 0)
{
System.out.println("-----------------------------------");
count++;
String[] nodes = e.html().replaceAll("(?i)<br[^>]*>", "br2n").split("br2n");
 
String docTitle = "";
String dateYear = "";
if(dateYearSection != null)
{
dateYear = dateYearSection;
}
else
{
for(int i = new GregorianCalendar().get(GregorianCalendar.YEAR); i > 2000;i--)
{
if(allText.indexOf("" + i)>=0)
{
dateYear = i + "";
break;
}
}
}
 
JSONArray files = new JSONArray();
 
for(String node : nodes)
{
Document lineText = Jsoup.parse(node);
Elements as = lineText.select("a");
if(as.size()==0)
{
docTitle+= " " + lineText.text().replaceAll("\\n", " ").replaceAll("[ \\t\\xA0\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000]"," ").trim();
}
else if(as.size() == 1)
{
JSONObject file = new JSONObject();
//lineText includes URL text + Line without URL Text
String fileText = lineText.text().replaceAll("[ \\t\\xA0\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000]"," ").trim();
String href = as.get(0).attr("href");
if(href.startsWith("/"))
{
href = domainRoot + href;
}
file.put("href", href);
file.put("text",fileText);
files.put(file);
System.out.println("FILE: " + fileText + " :: URL :: " + as.get(0).attr("href"));
}
else if(as.size() >= 1)
{
//when we have several URL's n same line we put in each URL only the text inside <a>
for(Element a : as)
{
JSONObject file = new JSONObject();
String fileText = a.text().replaceAll("[ \\t\\xA0\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000]"," ").trim();
 
String href = as.get(0).attr("href");
if(href.startsWith("/"))
{
href = domainRoot + href;
}
file.put("href",href);
file.put("text",fileText);
files.put(file);
System.out.println("?????????FILE: " + fileText + " :: URL :: " + as.get(0).attr("href"));
}
}
}
if(files.length() == 0)
{
System.out.println("SECTION CANDIDATE: " + docTitle);
nowSectionDocuments = new JSONArray();
section = new JSONObject();
section.put("section",docTitle);
section.put("documents",nowSectionDocuments);
sections.put(section);
dateYearSection = null;
for(int i = new GregorianCalendar().get(GregorianCalendar.YEAR); i > 2000;i--)
{
if(docTitle.indexOf("" + i)>=0)
{
dateYearSection = i + "";
break;
}
}
}
else
{
 
JSONObject j = new JSONObject();
 
 
docTitle = docTitle.trim();
if(docTitle.startsWith("-"))
{
docTitle = docTitle.substring(1);
}
if(docTitle.endsWith("-"))
{
docTitle = docTitle.substring(0, docTitle.length()-1);
}
docTitle = docTitle.trim();
j.put("text",docTitle);
if(files.length() > 0)
j.put("files",files);
if(dateYear.length()>0)
j.put("year", dateYear);
 
 
System.out.println(docTitle);
 
nowSectionDocuments.put(j);
}
}
}
System.out.println(sections.toString());
System.out.println(count);
JSONObject sectionsObj = new JSONObject();
sectionsObj.put("sections",sections);
return sectionsObj;
}
 
}
 
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/processes/MetaProcessesController.java
7,7 → 7,6
import org.apache.struts.upload.FormFile;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.MetaProcess;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum;
import pt.estgp.estgweb.services.data.RepositoryService;
15,10 → 14,6
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.form.processes.NewMetaProcessForm;
import pt.estgp.estgweb.web.form.processes.NewProcessForm;
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.ServletException;
import javax.servlet.http.HttpServletRequest;
64,7 → 59,7
if(f.getMetaProcess().getRepositoryStream() == null || f.getMetaProcess().getRepositoryStream().length() == 0)
{
System.out.println("AQUI");
String repositoryId = repositoryService.storeRepositoryFile(file.getInputStream(),file.getContentType(), FilesUtils.getExtension(file.getFileName()),file.getFileSize(),file.getFileName(),"MetaProcess Template file", ResourceAccessControlEnum.authenticatedDomain, UserSessionProxy.loadUserSessionFromRequest(request));
String repositoryId = repositoryService.storeRepositoryFile(file.getInputStream(),file.getContentType(), FilesUtils.getExtension(file.getFileName()),file.getFileSize(),file.getFileName(),"MetaProcess Template file", ResourceAccessControlEnum.authenticatedDomain, null, UserSessionProxy.loadUserSessionFromRequest(request));
System.out.println(repositoryId);
f.getMetaProcess().setRepositoryStream(repositoryId);
f.setFileName(file.getFileName());
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/processes/ProcessEventController.java
1,6 → 1,5
package pt.estgp.estgweb.web.controllers.processes;
 
import com.sun.tools.javac.code.Type;
import jomm.dao.utils.HibernateUtils;
import jomm.utils.FilesUtils;
import jomm.utils.MessageResources;
9,7 → 8,6
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.Process;
import pt.estgp.estgweb.domain.dao.DaoFactory;
17,16 → 15,11
import pt.estgp.estgweb.services.data.RepositoryService;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.form.processes.NewProcessForm;
import pt.estgp.estgweb.web.form.processes.ProcessEventForm;
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.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.HashSet;
151,7 → 144,7
String repositoryId;
try {
repositoryId = repositoryService.storeRepositoryFile(file.getInputStream(),file.getContentType(), FilesUtils.getExtension(file.getFileName()),
file.getFileSize(),file.getFileName(),"Process Event file " + p.getProcess().getMetaProcess().getName(), ResourceAccessControlEnum.processDomain,sess);
file.getFileSize(),file.getFileName(),"Process Event file " + p.getProcess().getMetaProcess().getName(), ResourceAccessControlEnum.processDomain, null, sess);
 
ProcessEventFileImpl ef = DomainObjectFactory.createProcessEventFileImpl();
Set<ProcessEventFile> proceSet = null;
/branches/v3/impl/src/hbm/pt/estgp/estgweb/domain/RepositoryFile.hbm.xml
16,6 → 16,7
<many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" outer-join="true" lazy="proxy"/>
<many-to-one name="lastVersion" class="pt.estgp.estgweb.domain.RepositoryFileVersion" outer-join="true" lazy="false"/>
<property name="accessControl" type="string"/>
<property name="sourceModule" type="pt.estgp.estgweb.services.data.types.AbstractRepositorySourceModuleEnhancedType"/>
<property name="deleted" type="boolean" index="deletedIndex"/>
<set name="repositoryFileVersions" lazy="true" order-by="saveDate desc">
<key column="repositoryFile"/>
/branches/v3/impl/src/web/css/style.css
119,3 → 119,5
background-color: green !important;
color: #00ff00 !important;
}
 
 
/branches/v3/impl/src/web/css/styleRepositoryDocs.css
New file
0,0 → 1,163
.repository-interface .repository-intro
{
margin-bottom: 10px;
}
.repository-interface .repository-interface-intro .repository-title
{
background-color: rgba(212, 168, 0, 0.23);
padding:4px;
}
.repository-interface .repository-title
{
font-size: 1.3em;
vertical-align: top;
border-bottom: 3px solid black;
text-transform: uppercase;
}
.repository-interface .repository-description
{
font-size: 1.1em;
border: 0;
 
}
 
.repository-column .repository-intro
{
margin-bottom: 10px;
}
.repository-column .repository-title
{
font-size: 1.2em;
border-bottom: 1px solid black;
background-color: rgba(212, 168, 0, 0.04);
padding-top: 2px;
padding-left: 2px;
text-transform: uppercase;
}
.repository-column .repository-description
{
font-size: 0.9em;
margin-bottom: 10px;
border: 0
}
.repository-column .repository-block .repository-intro
{
margin-bottom: 10px;
}
.repository-column .repository-block .repository-title
{
font-size: 1.1em;
border-bottom: 1px solid black;
text-transform: uppercase;
}
.repository-column .repository-block .repository-description
{
font-size: 0.9em;
margin-bottom: 10px;
text-transform: none;
border: 0
}
.repository-column .repository-block .repository-document
{
color: #606060;
padding-left: 10px;
text-transform: none;
border-left: 1px dashed rgba(178, 164, 24, 0.55);
border-top-left-radius: 15px;
border-bottom-left-radius: 15px;
padding-top: 5px;
padding-bottom: 5px;
}
 
.repository-column .repository-block .repository-document .repository-document-files
{
padding-left: 10px;
}
.repository-column .repository-block
{
margin-bottom: 20px;
}
.repository-column .repository-block .repository-document .repository-title
{
border-bottom: 0;
text-transform: none;
/*padding-right: 10px;
padding-left: 10px;
padding-top: 2px;*/
}
.repository-column .repository-block .repository-document .repository-title .title
{
font-size: 0.9em;
font-weight: bold;
text-transform: none;
 
}
 
.repository-column .repository-block .repository-document-file
{
margin-bottom: 5px;
}
 
.repository-column .repository-block .repository-document-file .btn
{
background-color: rgba(212, 168, 0, 0.23);
color:#8a6d3b;
}
.repository-column .repository-block .repository-document-file .btn:hover
{
color: white;
background-color:#C79E00;
}
 
.repository-column .repository-block .repository-document-file .repository-title label{
font-weight: normal;
}
.repository-column .repository-block .repository-document-file .repository-title
{
font-weight: normal;
background-color: rgba(207, 207, 207, 0.24);
border-top-left-radius: 15px;
border-top-right-radius: 15px;
margin:0;
padding-top:5px;
padding-left:10px;
padding-right:5px;
border:0;
}
.repository-column .repository-block .repository-document-file .repository-title .repository-file-icon
{
margin-right: 10px;
}
.repository-column .repository-block .repository-document-file .repository-description
{
font-size: 0.8em;
border: 1px dashed gray;
margin:0;
padding-top:5px;
padding-left:10px;
padding-right:5px;
padding-bottom:5px;
border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px;
}
 
.repository-document-collection-childs
{
margin-top: 10px;
}
.repository-document-collection
{
margin-top: 10px;
padding-left: 10px;
}
 
.border-radius-bottom
{
border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px;
}
.border-radius-top
{
border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px;
}
/branches/v3/impl/src/web/auth/index.jsp
5,76 → 5,6
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
 
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>
<div class="container">
<logic:notEmpty name="UserSession" property="nowConfiguration.openInfoIntranet">
<div class="row">
<div class="col-sm-8">
<div class="alert alert-info" role="alert">${UserSession.nowConfiguration.openInfoIntranet}</div>
</div>
</div>
</logic:notEmpty>
<div class="row">
<div class="col-md-6">
<html:errors/>
<jomm:messages/>
<jsp:include page="/layout/setTheme.jsp"/>
<jsp:include page="/layout/themes/${pt_estgp_estgweb_theme}/auth.jsp"/>
 
<!--
<label class="alert alert-info">
Caros alunos devem colocar o vosso número de aluno na primeira caixa de texto
e o numero de BI na segunda caixa de texto, AMBOS OS CAMPOS SÃO OBRIGATÓRIOS.
</label>
<ol>
<li>Caso não consigam aceder por favor cliquem no botão "Perdi a Password e desejo receber um email para redefinir" e introduzam
um dos dados requisitados: ou o email, ou o número de BI o nome de utilizador do NETPA.</li>
<li>O sistema irá enviar um email para entrarem e redefinirem a password. Após este passo devem passar a usar a vossa nova password.</li>
<li>Caso mesmo assim não consigam entrar por favor contactem a administração de sistemas do IPP: <label class="label-info">administracao.sistemas@ipportalegre.pt</label></li>
</ol>
-->
 
 
<form role="form" action="<%=request.getContextPath()%><%=Globals.SYSTEM_REDIRECTIONS_POLICY_AUTHENTICATION_ACTION%>" method="post">
<input type="hidden" name="dispatch" value="login">
<div class="form-group clearfix" >
<label class="col-md-12" for="login" style="margin-bottom: 10px"><jomm:messageConfigKey config="authentication.policy.username.msg.key"/></label>
<div class="col-md-6">
<input type="text" class="form-control" id="login" name="username"/>
</div>
<!--
<div class="col-md-6">
<label class="lead">* Obrigatório</label>
</div>-->
</div>
<div class="form-group clearfix">
<label class="col-md-12" for="pwd" style="margin-bottom: 10px"><jomm:messageConfigKey config="authentication.policy.password.msg.key"/></label>
<div class="col-md-6">
<input type="password" class="form-control" id="pwd" name="password"/>
</div>
<!--
<div class="col-md-6">
<label class="lead">* Obrigatório</label>
</div>
-->
</div>
<div class="col-sm-2 clearfix">
<button type="submit" class="btn btn-success"><bean:message key="submit"/></button>
 
</div>
<!--
<div class="col-md-10">
É necessário preencher ambos os campos de texto para entrar, (Número de Aluno ou de Docente) e (Número de BI ou password), a sua password no PAE ainda NÃO EXISTE se nunca a definiu, neste sentido deve ser definida, uma vez feito o login com número de aluno (no caso dos alunos, ou de docente no caso dos docentes) e BI, a página interna tem um botão que lhe permite alterar a password.
</div>-->
</form>
</div>
<!--
<div class="col-md-6">
<h2>Esqueci a password</h2>
<div class="col-sm-12">
<p><a class="btn btn-default" href="<%=request.getContextPath()%>/requestChangePassword.do">Perdi a minha password e desejo receber um email para a redefinir</a></p>
 
</div>
</div>-->
 
</div>
 
</div>
/branches/v3/impl/src/web/layout/themes/estg/auth.jsp
New file
0,0 → 1,85
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
 
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>
<div class="container">
<logic:notEmpty name="UserSession" property="nowConfiguration.openInfoIntranet">
<div class="row">
<div class="col-sm-8">
<div class="alert alert-info" role="alert">${UserSession.nowConfiguration.openInfoIntranet}</div>
</div>
</div>
</logic:notEmpty>
<div class="row">
<div class="col-md-6">
<html:errors/>
<jomm:messages/>
 
<!--
<label class="alert alert-info">
Caros alunos devem colocar o vosso número de aluno na primeira caixa de texto
e o numero de BI na segunda caixa de texto, AMBOS OS CAMPOS SÃO OBRIGATÓRIOS.
</label>
<ol>
<li>Caso não consigam aceder por favor cliquem no botão "Perdi a Password e desejo receber um email para redefinir" e introduzam
um dos dados requisitados: ou o email, ou o número de BI o nome de utilizador do NETPA.</li>
<li>O sistema irá enviar um email para entrarem e redefinirem a password. Após este passo devem passar a usar a vossa nova password.</li>
<li>Caso mesmo assim não consigam entrar por favor contactem a administração de sistemas do IPP: <label class="label-info">administracao.sistemas@ipportalegre.pt</label></li>
</ol>
-->
 
 
<form role="form" action="<%=request.getContextPath()%><%=Globals.SYSTEM_REDIRECTIONS_POLICY_AUTHENTICATION_ACTION%>" method="post">
<input type="hidden" name="dispatch" value="login">
<div class="form-group clearfix" >
<label class="col-md-12" for="login" style="margin-bottom: 10px"><jomm:messageConfigKey config="authentication.policy.username.msg.key"/></label>
<div class="col-md-6">
<input type="text" class="form-control" id="login" name="username"/>
</div>
<!--
<div class="col-md-6">
<label class="lead">* Obrigatório</label>
</div>-->
</div>
<div class="form-group clearfix">
<label class="col-md-12" for="pwd" style="margin-bottom: 10px"><jomm:messageConfigKey config="authentication.policy.password.msg.key"/></label>
<div class="col-md-6">
<input type="password" class="form-control" id="pwd" name="password"/>
</div>
<!--
<div class="col-md-6">
<label class="lead">* Obrigatório</label>
</div>
-->
</div>
<div class="col-sm-2 clearfix">
<button type="submit" class="btn btn-success"><bean:message key="submit"/></button>
 
</div>
<!--
<div class="col-md-10">
É necessário preencher ambos os campos de texto para entrar, (Número de Aluno ou de Docente) e (Número de BI ou password), a sua password no PAE ainda NÃO EXISTE se nunca a definiu, neste sentido deve ser definida, uma vez feito o login com número de aluno (no caso dos alunos, ou de docente no caso dos docentes) e BI, a página interna tem um botão que lhe permite alterar a password.
</div>-->
</form>
</div>
 
<jsp:include page="/layout/setTheme.jsp"/>
<logic:equal value="ipp" name="pt_estgp_estgweb_theme">
<div class="col-md-6">
<h2>Esqueci a password</h2>
<div class="col-sm-12">
<p><a class="btn btn-default" href="<%=request.getContextPath()%>/requestChangePassword.do">Perdi a minha password e desejo receber um email para a redefinir</a></p>
 
</div>
</div>
</logic:equal>
 
 
 
</div>
 
</div>
/branches/v3/impl/src/web/layout/themes/scripts-default.jsp
692,6 → 692,7
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/style.css"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/<%=bacoTheme%>/style.css"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/<%=bacoTheme%>/stylePublicPortal.css"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/styleRepositoryDocs.css"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta charset="UTF-8">
 
/branches/v3/impl/src/web/layout/themes/ipp/auth.jsp
New file
0,0 → 1,85
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
 
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>
<div class="container">
<logic:notEmpty name="UserSession" property="nowConfiguration.openInfoIntranet">
<div class="row">
<div class="col-sm-8">
<div class="alert alert-info" role="alert">${UserSession.nowConfiguration.openInfoIntranet}</div>
</div>
</div>
</logic:notEmpty>
<div class="row">
<div class="col-md-6">
<html:errors/>
<jomm:messages/>
 
<!--
<label class="alert alert-info">
Caros alunos devem colocar o vosso número de aluno na primeira caixa de texto
e o numero de BI na segunda caixa de texto, AMBOS OS CAMPOS SÃO OBRIGATÓRIOS.
</label>
<ol>
<li>Caso não consigam aceder por favor cliquem no botão "Perdi a Password e desejo receber um email para redefinir" e introduzam
um dos dados requisitados: ou o email, ou o número de BI o nome de utilizador do NETPA.</li>
<li>O sistema irá enviar um email para entrarem e redefinirem a password. Após este passo devem passar a usar a vossa nova password.</li>
<li>Caso mesmo assim não consigam entrar por favor contactem a administração de sistemas do IPP: <label class="label-info">administracao.sistemas@ipportalegre.pt</label></li>
</ol>
-->
 
 
<form role="form" action="<%=request.getContextPath()%><%=Globals.SYSTEM_REDIRECTIONS_POLICY_AUTHENTICATION_ACTION%>" method="post">
<input type="hidden" name="dispatch" value="login">
<div class="form-group clearfix" >
<label class="col-md-12" for="login" style="margin-bottom: 10px"><jomm:messageConfigKey config="authentication.policy.username.msg.key"/></label>
<div class="col-md-6">
<input type="text" class="form-control" id="login" name="username"/>
</div>
<!--
<div class="col-md-6">
<label class="lead">* Obrigatório</label>
</div>-->
</div>
<div class="form-group clearfix">
<label class="col-md-12" for="pwd" style="margin-bottom: 10px"><jomm:messageConfigKey config="authentication.policy.password.msg.key"/></label>
<div class="col-md-6">
<input type="password" class="form-control" id="pwd" name="password"/>
</div>
<!--
<div class="col-md-6">
<label class="lead">* Obrigatório</label>
</div>
-->
</div>
<div class="col-sm-2 clearfix">
<button type="submit" class="btn btn-success"><bean:message key="submit"/></button>
 
</div>
<!--
<div class="col-md-10">
É necessário preencher ambos os campos de texto para entrar, (Número de Aluno ou de Docente) e (Número de BI ou password), a sua password no PAE ainda NÃO EXISTE se nunca a definiu, neste sentido deve ser definida, uma vez feito o login com número de aluno (no caso dos alunos, ou de docente no caso dos docentes) e BI, a página interna tem um botão que lhe permite alterar a password.
</div>-->
</form>
</div>
 
<jsp:include page="/layout/setTheme.jsp"/>
<logic:equal value="ipp" name="pt_estgp_estgweb_theme">
<div class="col-md-6">
<h2>Esqueci a password</h2>
<div class="col-sm-12">
<p><a class="btn btn-default" href="<%=request.getContextPath()%>/requestChangePassword.do">Perdi a minha password e desejo receber um email para a redefinir</a></p>
 
</div>
</div>
</logic:equal>
 
 
 
</div>
 
</div>
/branches/v3/impl/src/web/user/home/panels/institutionTools.jsp
20,6 → 20,7
<div class="list-group-item"><html:link action="/user/repositoryEditCollections"><bean:message key="repositorycol"/></html:link></div>
<div class="list-group-item"><html:link action="/user/repositoryBrowseCollections"><bean:message key="repositorycolbrowser"/></html:link></div>
<div class="list-group-item"><html:link action="/user/repositoryListInterfaces"><bean:message key="repositoryinterfaces"/></html:link></div>
<div class="list-group-item"><html:link action="/user/repositoryImportTools"><bean:message key="repositorytools"/></html:link></div>
</baco:hasRole>
</div>
</div>
/branches/v3/impl/src/web/user/home/courseComission.jsp
13,18 → 13,16
String activeYear = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear();
List<String> activeDegrees = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveDegrees();
long time = System.currentTimeMillis();
//List<CourseUnitDaoImpl.CourseMissingValidationProgram> result0 = DaoFactory.getCourseUnitDaoImpl().loadMissingPrograms(UserSession);
List<CourseUnitDaoImpl.CourseMissingValidationProgram> result0 = DaoFactory.getCourseUnitDaoImpl().loadMissingProgramsOptimized(UserSession);
System.out.println("TIME1: " + (System.currentTimeMillis()-time));
 
time = System.currentTimeMillis();
//List<CourseUnitDaoImpl.CourseMissingValidationProgram> result1 = DaoFactory.getCourseUnitDaoImpl().loadMissingProgramValidate(UserSession);
 
List<CourseUnitDaoImpl.CourseMissingValidationProgram> result1 = DaoFactory.getCourseUnitDaoImpl().loadMissingProgramValidateOptimized(UserSession);
System.out.println("TIME2: " + (System.currentTimeMillis()-time));
 
time = System.currentTimeMillis();
// media de 4000 milis para administradores de programas
//List<CourseUnitDaoImpl.CourseMissingValidationEvaluation> result2 = DaoFactory.getCourseUnitDaoImpl().loadMissingEvaluationValidate(UserSession);
 
//novo demora 90 em media
List<CourseUnitDaoImpl.CourseMissingValidationEvaluation> result2 = DaoFactory.getCourseUnitDaoImpl().loadMissingEvaluationValidateOptimized(UserSession);
System.out.println("TIME3: " + (System.currentTimeMillis()-time));
/branches/v3/impl/src/web/user/repositoryDocuments/collectionsInterfaceCol.jsp
New file
0,0 → 1,61
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="org.hibernate.Criteria" %>
<%@ page import="org.hibernate.criterion.Criterion" %>
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocument" %>
 
<%@ page import="java.util.List" %>
<%@ page import="static org.hibernate.criterion.Restrictions.eq" %>
<%@ page import="static org.hibernate.criterion.Restrictions.or" %>
<%@ page import="org.hibernate.criterion.Order" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentInterfaceImpl" %>
<%@ page import="jomm.dao.DaoException" %>
<%@ page import="pt.estgp.estgweb.services.data.repositorydocuments.interfaces.RepositoryInterface" %>
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentCollection" %>
<%@ page import="org.hibernate.mapping.Collection" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="bacoTags" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="collection" scope="request" type="pt.estgp.estgweb.domain.RepositoryDocumentCollection"/>
<div class="repository-document-collection">
<div class="repository-title">
 
<span class="btn-xs glyphicon glyphicon-folder-open" style="margin-right: 5px"></span>
 
${collection.name}
</div>
<div class="repository-document-collection-childs">
<%
if(collection.getChilds() != null && collection.getChilds().size()>0)
{
for(RepositoryDocumentCollection child: collection.getChilds())
{
request.setAttribute("collection",child);
%>
<jsp:include page="collectionsInterfaceCol.jsp"/>
<%
}
}
Criteria c = AbstractDao.getCurrentSession().createCriteria(RepositoryDocument.class);
 
 
c.add(eq("collection.id",collection.getId()));
c.add(eq("visible",true));
c.addOrder(Order.desc("publishDate"));
List<RepositoryDocument> documents = c.list();
if(documents!=null && documents.size() > 0)
{
request.setAttribute("documents",documents);
%>
<jsp:include page="collectionsInterfaceDocs.jsp"/>
<%
}
 
%>
 
</div>
</div>
/branches/v3/impl/src/web/user/repositoryDocuments/collectionsInterface.jsp
11,6 → 11,8
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentInterfaceImpl" %>
<%@ page import="jomm.dao.DaoException" %>
<%@ page import="pt.estgp.estgweb.services.data.repositorydocuments.interfaces.RepositoryInterface" %>
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentCollection" %>
<%@ page import="org.hibernate.mapping.Collection" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
39,161 → 41,151
%>
<%--<jsp:useBean id="loadedConfig" type="pt.estgp.estgweb.services.data.repositorydocuments.interfaces.RepositoryInterface" scope="request"/>
--%>
<script>
$(document).ready(function(){
//var container = $(".container")
//container.removeClass("container");
//container.addClass("container-fluid");
});
</script>
<style>
body
{
background-color: white !important;
 
}
#repositoryInterface .section .title
{
padding:20px;
background-color: #fffef9;
font-family: 'Roboto', sans-serif;
font-size: 2.2em;
}
#repositoryInterface .section .section .title
{
padding:10px;
background-color: #fffef9;
font-family: 'Roboto', sans-serif;
font-size: 1.4em;
}
#repositoryInterface .section .description
{
padding:20px;
background-color: #e1e1df;
}
#repositoryInterface .section .content
{
margin-top: 10px;
}
 
#repositoryInterface .section .item
{
border: 1px dashed gray;
}
#repositoryInterface .section .item .title
{
padding:5px;
font-size: 0.9em;
}
#repositoryInterface .section .item .description
{
padding:5px;
font-size: 0.9em;
border: 1px dashed #cfcfcf;
}
 
#repositoryInterface .section .item .description
{
font-size: 0.8em;
background-color: #ededeb;
padding: 5px;
}
#repositoryInterface a
{
color: #C79E00 !important;
}
</style>
 
<div id="repositoryInterface">
 
<div class="repository-interface">
 
<logic:equal value="true" name="loadedConfig" property="showTitle">
<div class="repository-title">
${loadedConfig.title}
</div>
</logic:equal>
<logic:equal value="true" name="loadedConfig" property="showDescription">
<div class="repository-description">
${loadedConfig.description}
</div>
</logic:equal>
<div class="repository-intro repository-interface-intro">
<logic:equal value="true" name="loadedConfig" property="showTitle">
<div class="repository-title">
${loadedConfig.title}
</div>
</logic:equal>
<logic:equal value="true" name="loadedConfig" property="showDescription">
<div class="repository-description">
${loadedConfig.description}
</div>
</logic:equal>
</div>
 
<nested:iterate id="interfaceRow" name="loadedConfig" property="rows" type="pt.estgp.estgweb.services.data.repositorydocuments.interfaces.InterfaceRow">
<div class="row">
<logic:equal value="true" name="interfaceRow" property="showTitle">
<div class="repository-title">
${interfaceRow.title}
</div>
</logic:equal>
<logic:equal value="true" name="interfaceRow" property="showDescription">
<div class="repository-description">
${interfaceRow.description}
</div>
</logic:equal>
<div class="repository-intro">
<logic:equal value="true" name="interfaceRow" property="showTitle">
<div class="repository-title">
${interfaceRow.title}
</div>
</logic:equal>
<logic:equal value="true" name="interfaceRow" property="showDescription">
<div class="repository-description">
${interfaceRow.description}
</div>
</logic:equal>
</div>
<nested:iterate id="interfaceColumn" name="interfaceRow" property="columns" type="pt.estgp.estgweb.services.data.repositorydocuments.interfaces.InterfaceColumn">
<div class="col-md-${interfaceColumn.cols}">
<logic:equal value="true" name="interfaceColumn" property="showTitle">
<div class="repository-title">
<div class="col-md-${interfaceColumn.cols} repository-column">
<div class="repository-intro">
<logic:equal value="true" name="interfaceColumn" property="showTitle">
<div class="repository-title">
<span class="btn-xs glyphicon glyphicon-bookmark"></span>
${interfaceColumn.title}
</div>
</logic:equal>
<logic:equal value="true" name="interfaceColumn" property="showDescription">
<div class="repository-description">
${interfaceColumn.description}
</div>
</logic:equal>
</div>
</logic:equal>
<logic:equal value="true" name="interfaceColumn" property="showDescription">
<div class="repository-description">
${interfaceColumn.description}
</div>
</logic:equal>
</div>
 
<nested:iterate id="interfaceBlock" name="interfaceColumn" property="blocks" type="pt.estgp.estgweb.services.data.repositorydocuments.interfaces.InterfaceBlock">
<div class="repository-interface-block">
<logic:equal value="true" name="interfaceBlock" property="showTitle">
<div class="repository-title">
<div class="repository-block">
<div class="repository-intro">
<logic:equal value="true" name="interfaceBlock" property="showTitle">
<div class="repository-title">
<span class="btn-xs glyphicon glyphicon-bookmark"></span>
${interfaceBlock.title}
</div>
</logic:equal>
<logic:equal value="true" name="interfaceBlock" property="showDescription">
<div class="repository-description">
${interfaceBlock.description}
</div>
</logic:equal>
</div>
</logic:equal>
<logic:equal value="true" name="interfaceBlock" property="showDescription">
<div class="repository-description">
${interfaceBlock.description}
</div>
</logic:equal>
</div>
<%!
 
public Criterion getAllCollectionsClauses(Long collectionId)
{
Criterion c;
RepositoryDocumentCollection col = DaoFactory.getRepositoryDocumentCollectionDaoImpl().load(collectionId);
c = eq("collection.id",col.getId());
if( col.getChilds() != null && col.getChilds().size() > 0)
{
for(RepositoryDocumentCollection child: col.getChilds())
{
Criterion cChilds = getAllCollectionsClauses(child.getId());
if(cChilds != null)
c = or(c,cChilds);
}
}
return c;
}
 
%>
<%
 
List<Long> collections = interfaceBlock.getCollectionIds();
 
 
Criteria c = AbstractDao.getCurrentSession().createCriteria(RepositoryDocument.class);
RepositoryDocument d;
 
Criterion clauses = null;
for(Long collection : collections)
 
if(!interfaceBlock.isTree())
{
if(clauses == null)
clauses = eq("collection.id",collection);
else
Criteria c = AbstractDao.getCurrentSession().createCriteria(RepositoryDocument.class);
Criterion clauses = null;
for(Long collection : collections)
{
clauses = or(clauses,eq("collection.id",collection));
Criterion clausesCol = getAllCollectionsClauses(collection);
if(clauses == null)
clauses = clausesCol;
else
{
clauses = or(clauses,clausesCol);
}
}
}
c.add(clauses);
c.add(eq("visible",true));
c.addOrder(Order.desc("publishDate"));
List<RepositoryDocument> documents = c.list();
request.setAttribute("documents",documents);
%>
<logic:iterate id="doc" name="documents" type="pt.estgp.estgweb.domain.RepositoryDocument">
<hr/>
<div class="item">
<div class="title">
${doc.title}
<span class="badge pull-right">
${doc.publishDate}
</span>
</div>
<div class="description">${doc.description}</div>
<div class="list-group" style="width: 100%">
<logic:iterate id="docFile" name="doc" property="repositoryDocumentFiles" type="pt.estgp.estgweb.domain.RepositoryDocumentFile">
<logic:equal value="true" name="docFile" property="visible">
<div class="list-group-item" style="width: 100%">
<bacoTags:repositoryFile transactional="true" showHistory="false" iconClasses="pull-right" repositoryStream="${docFile.repositoryFileProxy.repositoryStream}" label="${docFile.repositoryFileProxy.repositoryFile.lastVersion.name}"/>
</div>
</logic:equal>
</logic:iterate>
</div>
</div>
</logic:iterate>
c.add(clauses);
c.add(eq("visible",true));
c.addOrder(Order.desc("publishDate"));
List<RepositoryDocument> documents = c.list();
request.setAttribute("documents",documents);
request.setAttribute("interfaceBlock",interfaceBlock);
 
%>
 
<jsp:include page="collectionsInterfaceDocs.jsp"/>
<%
 
}
else
{
for(Long collection : collections)
{
RepositoryDocumentCollection col = DaoFactory.getRepositoryDocumentCollectionDaoImpl().get(collection);
for(RepositoryDocumentCollection child: col.getChilds())
{
request.setAttribute("collection",child);
request.setAttribute("interfaceBlock",interfaceBlock);
%>
<jsp:include page="collectionsInterfaceCol.jsp"/>
<%
}
}
}
%>
</div>
</nested:iterate>
 
/branches/v3/impl/src/web/user/repositoryDocuments/tools.jsp
New file
0,0 → 1,204
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="org.json.JSONArray" %>
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentInterfaceImpl" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService" %>
<%@ page import="pt.estgp.estgweb.services.data.repositorydocuments.interfaces.RepositoryInterface" %>
<%@ 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" %>
<%@ taglib prefix="html" uri="/WEB-INF/tlds/struts-html.tld" %>
<%@ taglib prefix="bean" uri="/WEB-INF/tlds/struts-bean.tld" %>
<%
AbstractDao.getCurrentSession().beginTransaction();
 
JSONArray collectionsArrayOrderedTree = new RepositoryDocumentService().loadCollectionsOrderedAsTree();
 
 
 
AbstractDao.getCurrentSession().getTransaction().commit();
%>
<div id="appToolsRepositoryApp" ng-app="appToolsRepositoryApp" ng-controller="appToolsRepositoryController">
 
<script>
var appToolsRepositoryApp = angular.module('appToolsRepositoryApp', ['ui.tree']);
GLOBAL_BacoAngularAppDependencies.push('appToolsRepositoryApp');
 
<!-- estes codigos todos do remove e do toggle e etc's não mechi em nada limitei-me a copiar dos gajos-->
appToolsRepositoryApp.controller('appToolsRepositoryController', function ($scope)
{
$scope.sections = [];
$scope.paragraphSelector = "#plugsection p";
$scope.urlSource = "http://www.ipportalegre.pt/pt/ipp/regulamentos-e-despachos/";
$scope.collections = <%=collectionsArrayOrderedTree.toString()%>;
$scope.pushUrlSource = function()
{
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/user/repositoryDoc.do",
"selectObjectsFromURL",
{
"paragraphSelector" : $scope.paragraphSelector,
"urlSource" : $scope.urlSource
},
"#appToolsRepositoryApp",
function(json)
{
$scope.sections = [];
$scope.sections=json.sections;
$scope.$apply();
}
);
}
$scope.setInfoFinanceira = function()
{
$scope.paragraphSelector = "#plugsection p, #plugsection h2";
$scope.urlSource = "http://www.ipportalegre.pt/pt/ipp/servicos/administrativos-e-financeiros/situacao-financeira/";
}
$scope.setRecursosHumanos = function()
{
$scope.paragraphSelector = ".doc, h1, h2, h3, h4";
$scope.urlSource = "http://www.ipportalegre.pt/pt/ipp/servicos/administrativos-e-financeiros/recursos-humanos/";
}
$scope.setContratacaoPublica = function()
{
$scope.paragraphSelector = ".doc, h1, h2, h3, h4";
$scope.urlSource = "http://www.ipportalegre.pt/pt/ipp/servicos/administrativos-e-financeiros/servicos-financeiros/";
}
$scope.setRegulamentacaointerna = function()
{
$scope.paragraphSelector = ".multicolumn4 p, h3, h4, h2";
$scope.urlSource = "http://www.ipportalegre.pt/pt/ipp/regulamentacao/";
}
$scope.setDespachosPresidente = function()
{
$scope.paragraphSelector = "#plugsection p";
$scope.urlSource = "http://www.ipportalegre.pt/pt/ipp/regulamentos-e-despachos/";
}
$scope.setCollection = function(section,collection)
{
for(var i = 0; i < section.documents.length;i++)
{
section.documents[i].collection = collection.id;
}
}
});
</script>
 
 
<div class="panel panel-default">
<div class="panel-heading">
Ferramenta de Importação de Documentos a Partir de Sites WEB
</div>
<div class="panel-body">
 
<div class="web-messages"></div>
 
<button class="btn btn-default" type="button" ng-click="setRegulamentacaointerna()">Regulamentação Interna</button>
<button class="btn btn-default" type="button" ng-click="setDespachosPresidente()">Despachos do Presidente</button>
<button class="btn btn-default" type="button" ng-click="setContratacaoPublica()">Contratação Pública</button>
<button class="btn btn-default" type="button" ng-click="setRecursosHumanos()">Recursos Humanos</button>
<button class="btn btn-default" type="button" ng-click="setInfoFinanceira()">Informação Finânceira</button>
 
<div>
<p>Regras de Parsing:</p>
<ul>
<li>Considera qualquer elemento selecionado um possivel candidato a documento ou secção</li>
<li>Separa o elemento em linhas partindo nos &lt;br&gt; , se não existir link esse é o titulo do documento</li>
<li>Se existir link o texto será o titulo do ficheiro e o link é guardado</li>
<li>Limpa traços nos inicios das linhas</li>
</ul>
</div>
 
<div class="form-group">
<label class="control-label">Selector de Paragrafos HTML</label>
<div>
<input type="text" class="form-control" ng-model="paragraphSelector"/>
</div>
</div>
<div class="form-group">
<label class="control-label">URL Fonte de Documentos (Arranje o seu HTML para poder ser dividido em elementos todos iguais: exemplo um paragrafo por documento)</label>
<div>
<input type="text" class="form-control" ng-model="urlSource" placeholder="URL"/>
</div>
</div>
 
<div class="form-group">
<div>
<button type="button" class="btn btn-info" ng-click="pushUrlSource()">Obter</button>
</div>
</div>
 
<div class="repository-interface">
<div class="repository-intro repository-interface-intro">
<div class="repository-title">
Documentos Importados
</div>
<div class="repository-description">
Documentos importados em tempo real para confirmação pelo Administrador antes de importar para o sistema de repositorio digital.
</div>
</div>
 
<div class="repository-column">
<div class="repository-block" ng-repeat="section in sections">
<div class="repository-intro">
<div class="repository-title">
<span class="btn-xs glyphicon glyphicon-bookmark"></span>
{{section.section}}
 
<select ng-change="setCollection(section,section.choosedCol)" place-holder="Escolha Colecção" ng-model="section.choosedCol" class="form-control chosenOff" ng-options="collection as collection.pathName for collection in collections track by collection.id" ng-model="selected">
 
</select>
</div>
</div>
<div class="repository-document clearfix" ng-repeat="doc in section.documents">
 
 
<div class="repository-title clearfix" style="padding:5px">
<select place-holder="Escolha Colecção" ng-model="doc.collection" class="form-control chosenOff" ng-options="collection as collection.pathName for collection in collections track by collection.id" ng-model="selected">
 
</select>
<span class="title col-md-10"><input type="text" class="form-control" ng-model="doc.text"></span>
<div class="col-md-2">
<input type="text" class="form-control" ng-model="doc.year">
</div>
</div>
<div class="repository-description"></div>
 
<div class="repository-document-files" style="width: 100%" ng-repeat="file in doc.files">
 
<div class="repository-document-file clearfix" style="width: 100%;" >
 
<div class="repository-title border-radius-bottom clearfix" style="padding: 5px">
<input type="text" class="form-control" ng-model="file.text">
<br/>
<div class="col-md-1">
<a data-toggle="tooltip" title="Descarregar" class="btn btn-default pull-left repository-file-icon" target="_blank" ng-href="{{file.href}}"><span class="icon icon-file-pdf icon-large"></span></a>
</div>
<div class="col-md-11">
<input type="text" class="form-control" ng-model="file.href">
</div>
 
</div>
</div>
</div>
</div>
 
</div>
</div>
 
</div>
 
 
 
 
 
 
<pre>
{{urlSource}}
</pre>
<pre>
{{sections | json}}
</pre>
</div>
</div>
</div>
/branches/v3/impl/src/web/user/repositoryDocuments/collectionsInterfaceDocs.jsp
New file
0,0 → 1,78
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="org.hibernate.Criteria" %>
<%@ page import="org.hibernate.criterion.Criterion" %>
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocument" %>
 
<%@ page import="java.util.List" %>
<%@ page import="static org.hibernate.criterion.Restrictions.eq" %>
<%@ page import="static org.hibernate.criterion.Restrictions.or" %>
<%@ page import="org.hibernate.criterion.Order" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentInterfaceImpl" %>
<%@ page import="jomm.dao.DaoException" %>
<%@ page import="pt.estgp.estgweb.services.data.repositorydocuments.interfaces.RepositoryInterface" %>
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentCollection" %>
<%@ page import="org.hibernate.mapping.Collection" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="bacoTags" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<nested:iterate id="doc" name="documents" type="pt.estgp.estgweb.domain.RepositoryDocumentImpl">
 
<div class="repository-document">
<div class="repository-title">
<span class="title">${doc.title}</span>
<span class="badge pull-right">
${doc.publishDateStr}
</span>
</div>
<div class="repository-description">${doc.description}</div>
<div class=" repository-document-files" style="width: 100%">
<logic:iterate id="docFile" name="doc" property="repositoryDocumentFiles" type="pt.estgp.estgweb.domain.RepositoryDocumentFile">
<logic:equal value="true" name="docFile" property="visible">
<div class="repository-document-file" style="width: 100%">
<%
String repoTitleBorderBottom = "";
%>
<nested:equal value="false" name="interfaceBlock" property="showFileDescription">
<%
repoTitleBorderBottom = "border-radius-bottom";
%>
</nested:equal>
<nested:empty name="docFile" property="description">
<%
repoTitleBorderBottom = "border-radius-bottom";
%>
</nested:empty>
<%
request.setAttribute("repoTitleBorderBottom",repoTitleBorderBottom);
%>
<div class="repository-title ${repoTitleBorderBottom}">
<nested:equal value="true" name="interfaceBlock" property="showFileTitle">
<%--label="${docFile.repositoryFileProxy.repositoryFile.lastVersion.name}--%>
<bacoTags:repositoryFile transactional="true" showHistory="false" iconClasses="pull-left repository-file-icon" repositoryStream="${docFile.repositoryFileProxy.repositoryStream}" label="${docFile.title}"/>
</nested:equal>
<nested:notEqual value="true" name="interfaceBlock" property="showFileTitle">
<bacoTags:repositoryFile transactional="true" showHistory="false" iconClasses="pull-left repository-file-icon" repositoryStream="${docFile.repositoryFileProxy.repositoryStream}"/>
</nested:notEqual>
</div>
 
 
<nested:equal value="true" name="interfaceBlock" property="showFileDescription">
<nested:notEmpty name="docFile" property="description">
<div class="repository-description">
${docFile.description}
</div>
</nested:notEmpty>
</nested:equal>
 
</div>
</logic:equal>
</logic:iterate>
</div>
</div>
 
</nested:iterate>
/branches/v3/impl/src/web/user/repositoryDocuments/topnavRepoImportTools.jsp
New file
0,0 → 1,11
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="jomm.web.utils.NavPlaceServer"%>
<%@ page import="jomm.web.utils.TopNav" %>
<%
 
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/user/homePae.do", "intranet.separator.home.back");
topNav.addNavPlace(null, "repositorytools");
%>
<jsp:include page="/layout/topnav.jsp"/>
/branches/v3/impl/src/web/user/repositoryDocuments/collectionsbrowser.jsp
356,7 → 356,7
<span class="glyphicon glyphicon-file"></span> {{node.title}}
 
<baco:hasRole role="admin,all,repositoryDocs">
<a target="_blank" class="pull-right btn btn-warning btn-xs" href="<%=request.getContextPath()%>/user/editRepositoryDoc.do?repositoryDocumentId={{node.id}}">
<a target="_blank" class="pull-right btn btn-warning btn-xs" href="<%=request.getContextPath()%>/user/repositoryEditDocument.do?repositoryDocumentId={{node.id}}">
<span class="glyphicon glyphicon-pencil"></span>
</a>
</baco:hasRole>
/branches/v3/impl/libs.xml
99,6 → 99,9
<fileset dir="${common.lib.dir}/json">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${common.lib.dir}/jsoup">
<include name="**/*.jar"/>
</fileset>
<!-- nao precisa de ir para o tomcat basta aqui para gerar mapas UML do Hibernate
<fileset dir="${common.lib.dir}/linguine">
<include name="**/*.jar"/>
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoCursoAfeto.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Pagina.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitDeliverable.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPergunta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyStatsGraphic.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/GenericUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcessControloAtividadeDocenteInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.services.bpmnprocess.controloatividadedocente.PontosAtribuidos;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupDocentesAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/EventGeneric.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupCursosAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorActividadeDocenteEscolhaValidador.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgram.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Announcement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Survey.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionPossibleAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordThesis.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentInterface.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageSection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionCandidateAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPoolInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SruSourceCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/EventClass.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGradesStatusEpoca.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordJob.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Teacher.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageRepositoryFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitSummary.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Record.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportDocenteFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActor.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Blog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryFileVersion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Assessment.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UserRoleConfig.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SessionObjectId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcessControloAtividadeDocente.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.services.bpmnprocess.controloatividadedocente.EsquemaPontos;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTask.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoUnidadeCurricularAfeta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorGatewayExclusive.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonth.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Page.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseStudiesPlan.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoAlunoRequisitado.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Process.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPool.java
1,11 → 1,10
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
import pt.estgp.estgweb.services.bpmnprocess.types.DomainRolesProxy;
 
import java.util.Date;
 
/**
* BpmnActorPool generated by hbm2java
*/
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageText.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Questionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPerguntaEsforco.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioUnidade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndMessages.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.services.bpmnprocess.types.TargetActorType;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGateway.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Group.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYearId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnit.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGradesEpocaAvaliacao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoTipologiaRequisitada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SigesUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAnnouncement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ManagedIdentifierCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryCategory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordOther.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonthId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/DigitalDelivery.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UserSession.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitEvaluation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportCursoFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroup.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgramPart2.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioCurso.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioTipologia.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioResposta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitBlog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordEventOrganization.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Reminder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordPaper.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Configuration.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageContent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SessionObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.io.Serializable;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitBlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/EventFormacoes.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcessInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ComunicationFolder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Student.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDay.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioTipologia.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordProject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageExternalObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitTurma.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEvent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryFile.java
1,7 → 1,9
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.services.data.types.AbstractRepositorySourceModuleInterfacePlugin;
 
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
18,6 → 20,7
private GenericUser owner;
private RepositoryFileVersion lastVersion;
private String accessControl;
private AbstractRepositorySourceModuleInterfacePlugin sourceModule;
private boolean deleted;
private Set<RepositoryFileVersionImpl> repositoryFileVersions = new HashSet<RepositoryFileVersionImpl>(0);
 
67,6 → 70,13
public void setAccessControl(String accessControl) {
this.accessControl = accessControl;
}
public AbstractRepositorySourceModuleInterfacePlugin getSourceModule() {
return this.sourceModule;
}
public void setSourceModule(AbstractRepositorySourceModuleInterfacePlugin sourceModule) {
this.sourceModule = sourceModule;
}
public boolean isDeleted() {
return this.deleted;
}
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioUnidade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ProcessEvent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ProcessEventFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SruSource.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcess.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ManagedIdentifier.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Course.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorActividadeDocenteEntregaFicheirosPontuada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageExternalUrl.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitGrade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDayId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/User.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTask.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocument.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/EventUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Image.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapHistoryDimension.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Teste.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioAnswerEsforco.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryTarget.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorGatewayExcActividadeDocenteValidacao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationDirectory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUserAssociation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioHistoryDrive.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAssignement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioRespostaRequisitada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEnd.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioCurso.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseSchool.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Job.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.io.Serializable;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskScheduler.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/EventGenericRecord.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskSchedulerParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseDepartment.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/MetaProcess.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyStructuralNode.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Seccao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGrades.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStat.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 2/Abr/2017 19:10:56 by Hibernate Tools 3.2.0.b9
// Generated 6/Abr/2017 16:54:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/build.xml
294,6 → 294,9
<fileset dir="${common.lib.dir}/json">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${common.lib.dir}/jsoup">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${common.lib.dir}/simplexml">
<include name="**/*.jar"/>
</fileset>