From 04977f279817b8ed79b4962e298030714e2276d4 Mon Sep 17 00:00:00 2001 From: Bruno Daniel Di Bello Baladan <bruno.di.bello@fing.edu.uy> Date: Wed, 18 Jul 2018 16:35:30 -0300 Subject: [PATCH] Funcionando con moodlecloud --- .DS_Store | Bin 0 -> 8196 bytes Frontend Angular 4/src/app/shared/config.ts | 3 +- .../WebContent/WEB-INF/matefun.properties | 4 +-- Servidor JEE/pom.xml | 6 +++- .../proygrado/dto/MoodleCoursesInfoDTO.java | 6 ++-- .../main/java/edu/proygrado/ejb/LoginEJB.java | 29 +++++++++++++++--- .../main/resources/META-INF/persistence.xml | 2 +- 7 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a3b8768a509111311fac0bd15a3536122df9e3cd GIT binary patch literal 8196 zcmeI1O>Epm6oB8$Up;9`CLw9uO$!zwBq>WtnqL|Mo8SJ>(vnS@G%Y0FwVPNtc369N z+lG{YIMO2EMB#!!{7M`U91wyd0wDoHl}Zm>5OCnal>-9ac)U@`kCan`RFC9&<9Y9S zW}ZKL_IUvS2eL*RfC>N#9YXT$RIO8lUL0#mQP@*T63HLH2NN7HK!g4@)=@_kfhYn| z1fmE;5r`u2e~19>*`g>L?E6w1)lmeZ2;7np5bp<#4j~hvT$VC;bx;+g03=JOJ1Eqq zJRtDVLYWBVvXp@<T~lTc7`kGZVxV*<y(Y{_CPKL^rE~|B?ttOQ7-lFKj81-9U=Em& zGOD8pL=jjU0g<~`!w6)+rOf@t{M~_B$bt<z=``p_<-LWJ?WV~7>(qj6d46l_H7qJF zDJ|QkDCJ7|j`GKob8bHA>weZ7&@-pS*$LgBONH$**R@yLdg`QQ=BIhhpzHX$<(Qek z*)mKrIWu87hMOO7vyR~f*GWo+qA-O`b9HgCy}dK8wRdzZ#kIxm?$)^0(cZPR#FV<m zw!XtN^XD%tKD~7DRk>aa-x*N3YW-I>yLj8n4a&tA%@-E`V`1@(ZC8h@Mh;GMp7qR8 z)7E_}XAbGU=}q%WkD_om?K&qiW{y@ok#_CuyhEC*v~H)fWNh}^cG9|FdXv6+&KIpI z&&~LQf#IY@zM^lMR}25+3%=z#-bpj#k!0+HirUzn4bAuM@9s@p-Emtbuc~HjilXKC z)>+HUjOQ)GpF5>{Y11(*XLcfIc~;6c#~gj$tim{Bf!EGDRh`VHtf#V;f1WoeO3+)s zTV-bqn&C0m5LYw!CyKP!cB|@Xp&87WR2!kg-Hj?6^JunQ4-H%PGB)-k-A?X>L+!ht zspGbuGHq@!IZk^AQzvqAN&Jzpv!|M=lWBK;o|fW;eGm4j>Jwtvqq^rGUoah-(pTZw z{WPUhLf3B?VnRwoqFLVWhD57uaIwqmf;c=x#7{w*h|j|da0xEM6?hXqgpc71_!7Q> zZ{a)m9<IaB@C*D3zri2y7yJ$XARxn9+=+FlVIwwSGq&J<?8XQ10QTY#9>Jq{3?Ib_ zoJJi}m_{43n8Q3S<BRwbzKpNn>-aXlgYV*d_z`|4=T%ey^pHF+)c85IHuZE8pyAV5 zG`b$3vEiDLrY!;VdWEF&_L|x|8k*y6UA>8wySnOD{s*-i=?ajN%mgeISP3A$O6=~6 z)w4YXv{xfPPV|}Q6ahQmCatyDT?&E2mEe>$#+n$R%~5I_WA`cwFOs@_u~tSj^J1xM zXPpXh%S)xUhaF%<HZPIdKK8Ie0P`}bt!IObaaf1M4LN)R-iJ?#!5`on{6zfyPVD_j z+?62@xQk&u?!kMAy%yYyaqPq{>>>UHeZx3{hww2R#W5Tw24{%DG#YpoU0lEndc@*I zd<LJz=kR&FgqK4mUt2}t!2*9$;#-@gFqh0Yw(HE2y&$>*lJq?|139qho3I<~BS&Bu zh7B)mr)W2j*N^Hgia@a(R~7mH@W$W&w`g|Juu%k}2;7VaV98K&Xn;m4{0vz=sK~W7 zI%en)Mc6G%8Msgtq~j!mbe!bMABNP{$W-_wLb)s@^-#I#9|FX$g=qhe_WyvsTetcb D<?-sp literal 0 HcmV?d00001 diff --git a/Frontend Angular 4/src/app/shared/config.ts b/Frontend Angular 4/src/app/shared/config.ts index 269b0832..5faa2cf2 100644 --- a/Frontend Angular 4/src/app/shared/config.ts +++ b/Frontend Angular 4/src/app/shared/config.ts @@ -5,5 +5,6 @@ //export const GHCI_URL = 'ws://localhost:9090/endpoint'; //Configuracion dinamica pensando en servidor con ip dinamica -export const SERVER = window.location.protocol + '//' + window.location.host;//'http://localhost:9090'; +//export const SERVER = window.location.protocol + '//' + window.location.host;//'http://localhost:9090'; +export const SERVER = 'http://localhost:8080'; export const GHCI_URL = window.location.protocol == 'http:'? 'ws://'+window.location.host+'/endpoint': 'wss://'+window.location.host+'/endpoint'; diff --git a/Servidor JEE/WebContent/WEB-INF/matefun.properties b/Servidor JEE/WebContent/WEB-INF/matefun.properties index 038644a9..730c4254 100644 --- a/Servidor JEE/WebContent/WEB-INF/matefun.properties +++ b/Servidor JEE/WebContent/WEB-INF/matefun.properties @@ -1,7 +1,7 @@ #Deben definirse moodle_endpoint y moodle_group para conectar con el API de moodle. #De lo contrario solo se realizara login local. -moodle_endpoint=https://tics.moodlecloud.com -moodle_group=Piloto +moodle_endpoint=https://matefun.moodlecloud.com +moodle_group=introduction to moodle #El grupo se define como liceoId#grado#grupo#anio #Si no se sefine default_group entonces no se asigna grupo para docente o alumno. default_group=0#2#Año#2017 diff --git a/Servidor JEE/pom.xml b/Servidor JEE/pom.xml index bd6f0ed4..b645fd93 100644 --- a/Servidor JEE/pom.xml +++ b/Servidor JEE/pom.xml @@ -46,7 +46,11 @@ <artifactId>jackson-annotations</artifactId> <version>2.9.0</version> </dependency> - + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + <version>5.1.42</version> + </dependency> </dependencies> <build> diff --git a/Servidor JEE/src/main/java/edu/proygrado/dto/MoodleCoursesInfoDTO.java b/Servidor JEE/src/main/java/edu/proygrado/dto/MoodleCoursesInfoDTO.java index dfe454b3..5e124f81 100644 --- a/Servidor JEE/src/main/java/edu/proygrado/dto/MoodleCoursesInfoDTO.java +++ b/Servidor JEE/src/main/java/edu/proygrado/dto/MoodleCoursesInfoDTO.java @@ -21,7 +21,7 @@ public class MoodleCoursesInfoDTO { private Boolean confirmed; private String lang; private String theme; - private Long timezone; + private String timezone; private Long mailformat; private String description; private Long descriptionformat; @@ -118,10 +118,10 @@ public class MoodleCoursesInfoDTO { public void setTheme(String theme) { this.theme = theme; } - public Long getTimezone() { + public String getTimezone() { return timezone; } - public void setTimezone(Long timezone) { + public void setTimezone(String timezone) { this.timezone = timezone; } public Long getMailformat() { diff --git a/Servidor JEE/src/main/java/edu/proygrado/ejb/LoginEJB.java b/Servidor JEE/src/main/java/edu/proygrado/ejb/LoginEJB.java index ab747f39..d1f5ce11 100644 --- a/Servidor JEE/src/main/java/edu/proygrado/ejb/LoginEJB.java +++ b/Servidor JEE/src/main/java/edu/proygrado/ejb/LoginEJB.java @@ -15,13 +15,17 @@ import java.util.Date; import java.util.List; import java.util.Properties; +import javax.annotation.Resource; import javax.ejb.EJB; import javax.ejb.Stateless; +import javax.ejb.TransactionManagement; +import javax.ejb.TransactionManagementType; import javax.inject.Inject; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.TypedQuery; import javax.servlet.ServletContext; +import javax.transaction.UserTransaction; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.core.GenericType; @@ -50,6 +54,7 @@ import edu.proygrado.modelo.Usuario; * @author gonzalo */ @Stateless +@TransactionManagement(value=TransactionManagementType.BEAN) public class LoginEJB { @Inject @@ -63,6 +68,9 @@ public class LoginEJB { @EJB private InvitadoEJB invitadoEJB; + + @Resource + private UserTransaction userTransaction; public boolean validarSesion(String token){ Sesion sesion = em.find(Sesion.class,token); @@ -80,7 +88,14 @@ public class LoginEJB { sesion.setToken(token); sesion.setUsuario(usuario); sesion.setTimestamp(new Date()); - em.persist(sesion); + try { + userTransaction.begin(); + em.persist(sesion); + userTransaction.commit(); + }catch(Exception e) { + System.out.println("Error persistiendo sesion: "+e.getMessage()); + } + }else{ sesion.setTimestamp(new Date()); } @@ -222,9 +237,15 @@ public class LoginEJB { conf.setFontSizeEditor(12); conf.setThemeEditor("dracula"); nuevoDesdeMoodle.setConfiguracion(conf); - em.persist(conf); - em.persist(root); - em.persist(nuevoDesdeMoodle); + try { + userTransaction.begin(); + em.persist(conf); + em.persist(root); + em.persist(nuevoDesdeMoodle); + userTransaction.commit(); + }catch(Exception e) { + System.out.println("Error guardando configuracion de usuario"); + } String tokenAuth = generateToken(); updateSession(tokenAuth, usuario); invitadoEJB.setUsuario(tokenAuth, nuevoDesdeMoodle); diff --git a/Servidor JEE/src/main/resources/META-INF/persistence.xml b/Servidor JEE/src/main/resources/META-INF/persistence.xml index 79c49c23..3d5c78a4 100644 --- a/Servidor JEE/src/main/resources/META-INF/persistence.xml +++ b/Servidor JEE/src/main/resources/META-INF/persistence.xml @@ -25,7 +25,7 @@ <persistence-unit name="matefunDS" transaction-type="JTA"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> - <jta-data-source>jdbc/azureDSjta</jta-data-source> + <jta-data-source>java:/matefun</jta-data-source> <class>edu.proygrado.modelo.Alumno</class> <class>edu.proygrado.modelo.Archivo</class> <class>edu.proygrado.modelo.Configuracion</class> -- GitLab