Commit d04254d2 authored by Ramiro Facundo Lorenzo Rodriguez Inthamoussu's avatar Ramiro Facundo Lorenzo Rodriguez Inthamoussu
Browse files

post-merge-commit

parent f917640a
......@@ -6,6 +6,7 @@ import { WebsocketService } from '../../shared/services/websocket.service';
import { UsuarioService } from '../../shared/services/usuario.service';
import { SessionService } from '../../shared/services/session.service';
import { GHCIService } from '../../shared/services/ghci.service';
import { requestTimerMs } from '../../shared/config';
import { AuthenticationService } from '../../shared/services/authentication.service';
import { Archivo, ArchivoCambiosInfo, NombreAtributoArchivo } from '../../shared/objects/archivo';
import { Configuracion, Usuario } from '../../shared/objects/usuario';
......@@ -120,9 +121,6 @@ export class MateFunComponent {
configCodeMirrorDefinicion: any = {};
themes = ['3024-day', '3024-night', 'abcdef', 'ambiance-mobile', 'ambiance', 'base16-dark', 'base16-light', 'bespin', 'blackboard', 'cobalt', 'colorforth', 'dracula', 'duotone-dark', 'duotone-light', 'eclipse', 'elegant', 'erlang-dark', 'hopscotch', 'icecoder', 'isotope', 'lesser-dark', 'liquibyte', 'material', 'mbo', 'mdn-like', 'midnight', 'monokai', 'neat', 'neo', 'night', 'panda-syntax', 'paraiso-dark', 'paraiso-light', 'pastel-on-dark', 'railscasts', 'rubyblue', 'seti', 'solarized', 'the-matrix', 'tomorrow-night-bright', 'tomorrow-night-eighties', 'ttcn', 'twilight', 'vibrant-ink', 'xq-dark', 'xq-light', 'yeti', 'zenburn']
version: string = npm.version;
intervalTime: number = 5000;
//preventNotifications: boolean = false;
//preventNotificationInterval: number = 11000;
constructor(
private archivosService: ArchivosService,
......@@ -523,7 +521,7 @@ export class MateFunComponent {
}
);
}
}, this.intervalTime)
}, requestTimerMs)
);
}
}
......@@ -848,7 +846,10 @@ export class MateFunComponent {
//elimino el que tenia el nombre original
this.eliminarOriginal(archivo);
}else{
const i18nkey = desbloquear ? "i18n.newtranslates.filesaveok" : "i18n.newtranslates.fileblocksaveok";
const i18nkey = !this.esCompartido || (this.esCompartido && desbloquear) ?
"i18n.newtranslates.filesaveok" :
"i18n.newtranslates.fileblocksaveok";
//const i18nkey = desbloquear ? "i18n.newtranslates.filesaveok" : "i18n.newtranslates.fileblocksaveok";
this.notifService.success(this.translateService.get(i18nkey, {filename: removeSharedPrefix(archivo.nombre)}).value);
}
this.actualizarAuxiliares();
......
......@@ -59,6 +59,9 @@
const isLocal = window.location.protocol + '//' + window.location.host === "http://localhost:4200";
const isStandaloneLocal = window.location.protocol + '//' + window.location.host === "http://localhost:8080";
//intervalo de tiempo definido para el pooling de consulta de cambios para archivos compartidos
export const requestTimerMs: number = 5000;
export const SERVER = isLocal ? 'http://localhost:8080/matefun' :
(isStandaloneLocal ? 'http://localhost:8080' :
window.location.protocol + '//' + window.location.host);
......
......@@ -10,14 +10,14 @@ export interface DetalleModel {
@Component({
selector: 'confirm',
template: `<div class="modal-dialog" style="margin-top:100px;">
<div class="modal-content" [ngStyle]="{ 'width': tipo !== 'task' ? '700px' : '900px' }" >
<div class="modal-header" [ngStyle]="{ 'width': tipo !== 'task' ? '700px' : '900px' }" >
<div class="modal-content" [ngStyle]="{ 'width': tipo == 'share' ? '650px' : '800px' }" >
<div class="modal-header" [ngStyle]="{ 'width': tipo == 'share' ? '650px' : '800px' }" >
<h6 class="modal-title" *ngIf="tipo=='share'">Detalle Archivos Compartidos de {{ parent.cursoSeleccionado.nombre }}</h6>
<h6 class="modal-title" *ngIf="tipo=='file'">Archivos accedidos {{ parent.centroeducativoSeleccionado.nombre }}</h6>
<h6 class="modal-title" *ngIf="tipo=='task'">Detalle Tareas de {{ parent.cursoSeleccionado.nombre }}</h6>
<button type="button" class="close" (click)="close()" style="margin-left:8px;">&times;</button>
</div>
<div class="modal-body" [ngStyle]="{ 'width': tipo !== 'task' ? '700px' : '900px' }" style="text-align: center !important;">
<div class="modal-body" [ngStyle]="{ 'width': tipo == 'share' ? '650px' : '800px' }" style="text-align: center !important;">
<div style="width: 100%; display: inline-block !important;">
<table class="table table-striped">
<div *ngIf="tipo!='task'" style="overflow-y: scroll; height:400px;">
......@@ -28,7 +28,7 @@ export interface DetalleModel {
<th scope="col">Tipo</th>
<th *ngIf="tipo=='file'" scope="col">Usuario</th>
<th scope="col">Fecha</th>
<th scope="col">centroeducativo</th>
<th scope="col">Centro Educativo</th>
</tr>
</thead>
<tbody>
......@@ -45,7 +45,7 @@ export interface DetalleModel {
<div *ngIf="tipo=='task'" style="overflow-y: scroll; height:400px;">
<thead>
<tr>
<th scope="col">centroeducativo</th>
<th scope="col">Centro Educativo</th>
<th scope="col">Nombre curso</th>
<th scope="col">Nombre Tarea</th>
<th scope="col">Tipo</th>
......@@ -70,7 +70,7 @@ export interface DetalleModel {
</table>
</div>
</div>
<div class="modal-footer" [ngStyle]="{ 'width': tipo !== 'task' ? '700px' : '900px' }">
<div class="modal-footer" [ngStyle]="{ 'width': tipo == 'share' ? '650px' : '800px' }">
<button type="button" class="btn btn-danger" (click)="close()">Cerrar</button>
</div>
</div>
......
<!doctype html><html><head><meta charset="utf-8"><title>Proyecto MateFun</title><base href="/"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/x-icon" href="favicon.ico"><script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script><script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" crossorigin="anonymous"></script><link href="styles.a54c12dc5c96200253a7.bundle.css" rel="stylesheet"/></head><body><app-root><div class="loading"><div class="loading-bar"></div><div class="loading-bar"></div><div class="loading-bar"></div><div class="loading-bar"></div><div class="loading-bar"></div></div></app-root><script type="text/javascript" src="inline.69bc33bdbb19ec32f421.bundle.js"></script><script type="text/javascript" src="polyfills.dc0839dbd60dc73f6185.bundle.js"></script><script type="text/javascript" src="scripts.a0c05f6604c53fb2256b.bundle.js"></script><script type="text/javascript" src="vendor.f2f8ea4da00ad2654951.bundle.js"></script><script type="text/javascript" src="main.6d07024eb59ad6aa1906.bundle.js"></script></body></html>
\ No newline at end of file
<!doctype html><html><head><meta charset="utf-8"><title>Proyecto MateFun</title><base href="/"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/x-icon" href="favicon.ico"><script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script><script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" crossorigin="anonymous"></script><link href="styles.a54c12dc5c96200253a7.bundle.css" rel="stylesheet"/></head><body><app-root><div class="loading"><div class="loading-bar"></div><div class="loading-bar"></div><div class="loading-bar"></div><div class="loading-bar"></div><div class="loading-bar"></div></div></app-root><script type="text/javascript" src="inline.1a0e65ee8c1bc88b7644.bundle.js"></script><script type="text/javascript" src="polyfills.dc0839dbd60dc73f6185.bundle.js"></script><script type="text/javascript" src="scripts.a0c05f6604c53fb2256b.bundle.js"></script><script type="text/javascript" src="vendor.f2f8ea4da00ad2654951.bundle.js"></script><script type="text/javascript" src="main.74eabd6edd041309d254.bundle.js"></script></body></html>
\ No newline at end of file
......@@ -11,13 +11,9 @@ import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -41,9 +37,7 @@ import javax.transaction.NotSupportedException;
import javax.transaction.RollbackException;
import javax.transaction.SystemException;
import javax.transaction.UserTransaction;
import org.apache.commons.lang3.time.DateUtils;
import edu.proygrado.dto.ArchivoCambiosInfoDTO;
import edu.proygrado.dto.ArchivoDTO;
import edu.proygrado.dto.ArchivoRestriccion;
......@@ -65,7 +59,6 @@ import edu.proygrado.modelo.Archivo;
import edu.proygrado.modelo.AtributoArchivo;
import edu.proygrado.modelo.AtributoArchivoPK;
import edu.proygrado.modelo.RegistroCompartirArchivo;
import edu.proygrado.modelo.Sesion;
import edu.proygrado.moodleAceessLayer.MoodleFunctions;
import edu.proygrado.moodleAceessLayer.MoodleHelper;
import edu.proygrado.moodleAceessLayer.MoodleUtils;
......@@ -106,7 +99,8 @@ public class ArchivosEJB {
public List<String> eliminarCompartidosInactivos() throws Exception{
try {
List<String> moodleFilePaths = new ArrayList<String>();
Date threshhold = DateUtils.addSeconds(new Date(), - Constants.inactiveSharedFilesLockDurationSegs);
//si el archivo tiene un bloqueo de mas de timerMaxInactividadMs / 1000 segundos sin editar el archivo, este se desbloquea
Date threshhold = DateUtils.addSeconds(new Date(), - Constants.timerMaxInactividadMs / 1000);
String q = "FROM AtributoArchivo a WHERE a.id.nombreatributo = :blocked AND a.timestamp < :threshhold";
userTransaction.begin();
List<AtributoArchivo> attrs = em.createQuery("SELECT a " + q, AtributoArchivo.class)
......@@ -145,9 +139,6 @@ public class ArchivosEJB {
: allTokens.get(0).getValue();
int _itemid = (new Random()).nextInt(99999999);
String fileContent = archivo.getContenido();
// _fileContent!=null && _fileContent.length > 0 && _fileContent[0]!=null ?
// _fileContent[0] :
// Utils.toBase64(archivo.getContenido());
String boundary = Long.toHexString(System.currentTimeMillis());
URLConnection connection = new URL(url).openConnection();
connection.setDoOutput(true);
......@@ -612,7 +603,6 @@ public class ArchivosEJB {
JsonObject result = MoodleWS.GET(invitadoEJB, matefunToken, MoodleFunctions.core_course_get_contents, Param.createMap(new Param("courseid", cursoId)));
Long fileId = 1l;
JsonArray contents = result.getJsonArray(MoodleWS.RESULT_KEY);
for (int i = 0; i < contents.size(); i++) {
JsonObject content = contents.getJsonObject(i);
......
......@@ -13,7 +13,6 @@ import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
......@@ -237,10 +236,8 @@ public class CommandsBean {
String i18n_OUTGraph = String.format("OUT%s", _i18n.get("Graph"));
ArrayList<String> animacion = new ArrayList<>();
int i = 0;
//System.out.println("###########");
while (s.hasNextLine()) {
i++;
String result = s.nextLine();
//System.out.println(" #"+i+"Result: " + result);
// System.out.println("&&&/////");
......@@ -379,15 +376,6 @@ public class CommandsBean {
return inputThread;
}
private String acortar(String s) {
if (s != null) {
return s.substring(0, Math.min(s.length(), 20));
}else {
return "NULL";
}
}
//public
public CommandsBean() {
builder = null;
......
......@@ -120,7 +120,6 @@ public class EstadoSistemaEJB {
private synchronized void saveAccessTimeRun(Long idcentroeducativo, String nombreEndpoint, Long tiempoms) {
TiempoAcceso ta = null;
boolean found = false;
Long r = (new Random()).nextLong();
try {
Double tiempoDbl = (double)tiempoms;
TiempoAccesoPK tiempoAccesoId = new TiempoAccesoPK(idcentroeducativo, nombreEndpoint);
......@@ -144,17 +143,10 @@ public class EstadoSistemaEJB {
em.merge(ta);
}
userTransaction.commit();
//System.out.println( "["+r+"]********************" + (found ? "merge" : "persist") + " OK para: " + ta.toString());
}catch(Exception e) {
System.err.println( "["+r+"]********************" + (found ? "merge" : "persist") + " ERROR para: " + ta.toString());
try {
userTransaction.rollback();
}catch(Exception e2) {
}finally {
//System.err.println(e.getMessage());
//e.printStackTrace();
}
}catch(Exception e2) { }
}
}
......@@ -278,7 +270,6 @@ public class EstadoSistemaEJB {
//logueadosActualmente
estadoSistema.setLogueadosActualmente(invitadoEJB.getLoggueados(centroeducativoBD, sesionList));
//while (!basicInfo.isDone());
estadoSistema.setCursos((List<EstadoSistemaCursoDTO>)basicInfo.get().get("estadoSistemaCurso"));
Future<List<RegistroArchivoDTO>> registroAccedidos = getRegistroArchivosAccedidos(executor, inicio, fin, centroeducativosMap, (Map<String, JsonObject>)basicInfo.get().get("todosLosUsuarios"), centroeducativoBD);
......@@ -319,10 +310,8 @@ public class EstadoSistemaEJB {
}
//cantidad logueados periodo
while (!registrosLogin.isDone());
estadoSistema.setCantidadLogueadosPeriodo(new Long(registrosLogin.get().size()));
while(!registroAccedidos.isDone());
estadoSistema.setArchivosAccedidos(registroAccedidos.get());
return estadoSistema;
......@@ -417,12 +406,12 @@ public class EstadoSistemaEJB {
-1l,
listaAlumnos.stream().filter(key -> key.startsWith(String.format("%d-", currentcentroeducativo.getCentroEducativoPK().getIdcentroeducativo()))).count(),
listaDocentes.stream().filter(key -> key.startsWith(String.format("%d-", currentcentroeducativo.getCentroEducativoPK().getIdcentroeducativo()))).count(),
"Todos los cursos (Período)"));
"Todos los cursos"));
}
});
if (multicentroeducativo) {
estadoSistemaCurso.add(new EstadoSistemaCursoDTO( 0l, -1l, new Long(listaAlumnos.size()), new Long(listaDocentes.size()), "Todos los cursos de todos los Centros Educativos (Período)"));
estadoSistemaCurso.add(new EstadoSistemaCursoDTO( 0l, -1l, new Long(listaAlumnos.size()), new Long(listaDocentes.size()), "Todos los cursos de todos los centros educativos"));
}
Map<String, Object> salida = new HashMap<String,Object>();
......@@ -533,9 +522,10 @@ public class EstadoSistemaEJB {
public List<TiempoAccesoDTO> getTiempos(GregorianCalendar inicio, GregorianCalendar fin, Long idcentroeducativo) {
String queryString = !idcentroeducativo.equals(0l) ?
"select t from TiempoAcceso t where (t.id.idcentroeducativo = :idcentroeducativo or t.id.idcentroeducativo = -1) and t.id.fecha >= :inicio and t.id.fecha <= :fin" :
"select t from TiempoAcceso t where t.id.fecha >= :inicio and t.id.fecha <= :fin";
String queryString = "select t from TiempoAcceso t where t.id.fecha >= :inicio and t.id.fecha <= :fin" +
(!idcentroeducativo.equals(0l) ?
" and (t.id.idcentroeducativo = :idcentroeducativo or t.id.idcentroeducativo = -1)" :
"");
TypedQuery<TiempoAcceso> query = em.createQuery(queryString, TiempoAcceso.class)
.setParameter("inicio", inicio)
.setParameter("fin", fin);
......
......@@ -62,7 +62,7 @@ public class InvitadoEJB {
public void run(){
while (true) {
try {
Thread.sleep(Constants.inactiveSharedFilesLockDurationSegs * 1000);
Thread.sleep(1 * Constants.minuteToSeconds * Constants.secondToMilliseconds);//Se intenta desbloquear archivos compartidos inactivos a cada minuto
updateCache(CacheAction.REMOVE, null, archivosEJB.eliminarCompartidosInactivos());
} catch (Exception e) {
System.err.println("Excepcion al intentar desbloquear archivos compartidos inactivos.");
......@@ -132,12 +132,14 @@ public class InvitadoEJB {
continue;
//no se cuentan sesiones de invitado ni sesiones de administrador de matefun
if (Arrays.asList(Constants.matefunGuestType, Constants.matefunAdminType).contains(sesion.getUsuario().getTipo()))
if (Arrays.asList(Constants.matefunGuestType, Constants.matefunAdminType).contains(sesion.getUsuario().getTipo().toLowerCase()))
continue;
//solo se cuentan si pertenecen al centro educativo que se envia como parametro
if (sesion.getIdCentroEducativo().equals(l.getCentroEducativoPK().getIdcentroeducativo()))
if (l==null || sesion.getIdCentroEducativo().equals(l.getCentroEducativoPK().getIdcentroeducativo())) {
cantidad++;
}
}
return cantidad;
......
......@@ -171,7 +171,7 @@ public class LoginEJB {
updateSession(tokenAuth);
ConfiguracionDTO cdto = usuarioEJB.getConfiguracion(-1l, -1l);
invitadoEJB.setUsuarioMatefunAdmin(tokenAuth, admin, cdto);
return new UsuarioDTO(Constants.matefunAdminUserID, tokenAuth, Constants.matefunAdminShoolID, admin.getCedula(), admin.getNombre(), admin.getApellido(), Constants.matefunAdminType, cdto, new ArrayList<MoodleCourseDTO>());
return new UsuarioDTO(Constants.matefunAdminUserID, tokenAuth, Constants.matefunAdminShoolID, admin.getUsername(), admin.getNombre(), admin.getApellido(), Constants.matefunAdminType, cdto, new ArrayList<MoodleCourseDTO>());
}else {
throw new MatefunException("Password incorrecto para administrador de Matefun.");
}
......@@ -190,7 +190,7 @@ public class LoginEJB {
public String getMatefunAdminUsername() {
try {
return em.createQuery("select a from Admin a", Admin.class).getSingleResult().getCedula();
return em.createQuery("select a from Admin a", Admin.class).getSingleResult().getUsername();
} catch (javax.persistence.NoResultException nre) {
System.err.println ("No se puede obtener el admin de matefun desde la BD.");
} catch (Exception ex) {
......@@ -393,7 +393,7 @@ public class LoginEJB {
if (!isAdminLoaded) {
Configuracion confa = new Configuracion(-1l, -1l, ConfiguracionDTO.getConfiguracionDefault());
em.persist(confa);
em.persist(new Admin(Constants.matefunAdminCedula,
em.persist(new Admin(Constants.matefunAdminUsername,
Constants.matefunAdminNombre,
Constants.matefunAdminApellido,
Utils.generateHash(Constants.matefunAdminPassword),
......@@ -401,8 +401,9 @@ public class LoginEJB {
}
em.persist(new CentroEducativo("Liceo 39", "http://ec2-13-59-219-116.us-east-2.compute.amazonaws.com/moodle39/", "sharefilematefun", "65c6f4e05fbeceae7890c12c9c1d1784", "matefunservice"));
em.persist(new CentroEducativo("Liceo 38", "http://ec2-13-59-219-116.us-east-2.compute.amazonaws.com/moodle38/", "sharedfilesmatefun", "f3085b81480c9f92e5794ed17efc6075", "serviciomatefun"));
Archivo root = new Archivo("root",new Date(), "" , true, true, null, "");
//em.persist(new CentroEducativo("Liceo 38", "http://ec2-13-59-219-116.us-east-2.compute.amazonaws.com/moodle38/", "sharedfilesmatefun", "f3085b81480c9f92e5794ed17efc6075", "serviciomatefun"));
em.persist(new CentroEducativo("Liceo 311", "http://ec2-13-59-219-116.us-east-2.compute.amazonaws.com/moodle311/", "sharedfilesmatefun", "8be2e68f2f21f95aa5db1531df0771c6", "serviciomatefun"));
Archivo root = new Archivo("root", new Date(), "" , true, true, null, "");
Archivo folder1 = new Archivo("Folder1", new Date(), "", true, true, root, "");
Archivo FolderA = new Archivo("FolderA", new Date(), "", true, true, root, "");
Archivo FolderB = new Archivo("FolderB", new Date(), "", true, true, FolderA, "");
......
......@@ -16,26 +16,26 @@ public class Admin implements Serializable {
private static final long serialVersionUID = 1L;
@Id String cedula;
@Id String username;
String password;
String nombre;
String apellido;
public Admin() { }
public Admin(String cedula, String nombre, String apellido, String password, Configuracion configuracion) {
this.cedula = cedula;
public Admin(String username, String nombre, String apellido, String password, Configuracion configuracion) {
this.username = username;
this.nombre = nombre;
this.apellido = apellido;
this.password = password;
}
public String getCedula() {
return cedula;
public String getUsername() {
return username;
}
public void setCedula(String cedula) {
this.cedula = cedula;
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
......@@ -66,7 +66,7 @@ public class Admin implements Serializable {
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((cedula == null) ? 0 : cedula.hashCode());
result = prime * result + ((username == null) ? 0 : username.hashCode());
return result;
}
......@@ -82,18 +82,18 @@ public class Admin implements Serializable {
return false;
}
Admin other = (Admin) obj;
if (cedula == null) {
if (other.cedula != null) {
if (username == null) {
if (other.username != null) {
return false;
}
} else if (!cedula.equals(other.cedula)) {
} else if (!username.equals(other.username)) {
return false;
}
return true;
}
public UsuarioDTO toDto(String token, ConfiguracionDTO cdto) throws Exception {
return new UsuarioDTO(Constants.matefunAdminUserID, token, Constants.matefunAdminShoolID, this.getCedula(), this.getNombre(), this.getApellido(), "Admin", cdto, new ArrayList<MoodleCourseDTO>());
return new UsuarioDTO(Constants.matefunAdminUserID, token, Constants.matefunAdminShoolID, this.getUsername(), this.getNombre(), this.getApellido(), "Admin", cdto, new ArrayList<MoodleCourseDTO>());
}
......
......@@ -2,19 +2,26 @@ package edu.proygrado.utils;
public class Constants {
public static final Long sesionDurationMs = 60*60*1000l; //1 hora
public static final int inactiveSharedFilesLockDurationSegs = 1200; //20 minutos
public static final int secondToMilliseconds = 1000;
public static final int minuteToSeconds = 60;
public static final int hourToMinutes = 60;
//duracion de la sesion de usuario
public static final Long sesionDurationMs = 1l * hourToMinutes * minuteToSeconds * secondToMilliseconds; //1 hora
//maximo tiempo que un archivo compartido puede estar bloqueado sin editarse antes de desbloquearse automaticamente
public static final int timerMaxInactividadMs = 20 * minuteToSeconds * secondToMilliseconds; //20 minutos
public static final String privateFilesRootDir = "/";
public static final String matefunUserCustomServiceToken = "MatefunUser-CustomService-Token";
//matefunadmin
//Datos del usuario administrador que se cargan cuando se elige la opcion "Cargar datos de prueba"
public static final String matefunAdminUsername = "matefunadmin"; //Nombre de usuario (login)
public static final String matefunAdminPassword = "Matefun1."; //Password (login)
public static final Long matefunAdminUserID = -1l;
public static final Long matefunAdminShoolID = -1l;
public static final String matefunAdminType = "admin";
public static final String matefunAdminCedula = "matefunadmin";
public static final String matefunAdminNombre = "Ramiro";
public static final String matefunAdminApellido = "Rodriguez";
public static final String matefunAdminPassword = "Matefun1.";
//invitado
public static final Long matefunGuestUserID = -1l;
......
@echo off
REM host donde corre el servidor en AWS
set AWS=ec2-3-144-238-208.us-east-2.compute.amazonaws.com
REM filepath de la clave de acceso (provista por AWS)
set KEY=C:\Users\coto2\Desktop\keypairbackend2.pem
REM path del directorio donde se encuentra wildfly en el host remoto
set SERVER=/home/ubuntu/wildfly-10.1.0.Final
REM pasword de acceso a la BD de matefun para el usuario root
set BDPASSWORD=123456
call clean.bat
......
@echo off
REM host donde corre el servidor en AWS
set AWS=ec2-3-144-238-208.us-east-2.compute.amazonaws.com
REM filepath de la clave de acceso (provista por AWS)
set KEY=C:\Users\coto2\Desktop\keypairbackend2.pem
REM path del directorio donde se encuentra wildfly en el host remoto
set SERVER=/home/ubuntu/wildfly-10.1.0.Final
REM pasword de acceso a la BD de matefun para el usuario root
set BDPASSWORD=123456
echo Matando instancia actual ...
......
@echo off
REM host donde corre el servidor en AWS
set AWS=ec2-3-144-238-208.us-east-2.compute.amazonaws.com
REM filepath de la clave de acceso (provista por AWS)
set KEY=C:\Users\coto2\Desktop\keypairbackend2.pem
REM path del directorio donde se encuentra wildfly en el host remoto
set SERVER=/home/ubuntu/wildfly-10.1.0.Final
REM pasword de acceso a la BD de matefun para el usuario root
set BDPASSWORD=123456
REM Me muevo al root del proyecto
......@@ -9,15 +17,17 @@ cd ..
call scripts\matar.bat
echo Eliminando BD ...
echo Eliminando BD ...
REM Se asume que el servidor de mysql esta corriendo en el mismo host
call ssh -i %KEY% ubuntu@%AWS% "sudo mysql -u root -p%BDPASSWORD% -e ""drop database matefunds;"""
echo Creando BD ...
REM Se asume que el servidor de mysql esta corriendo en el mismo host
call ssh -i %KEY% ubuntu@%AWS% "sudo mysql -u root -p%BDPASSWORD% -e ""create database matefunds;"""
echo Subiendo war ...
call scp -i %KEY% "Servidor JEE\target\matefun.war" ubuntu@%AWS%:%SERVER%/standalone/deployments/matefun.war
echo Ejecutando servidor ...
REM -Djboss.https.port=443
start /B ssh -i %KEY% ubuntu@%AWS% "sudo sh %SERVER%/bin/standalone.sh -Djboss.http.port=80 -b 0.0.0.0 -bmanagement 0.0.0.0"
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment