Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1496 → Rev 1497

/branches/v3/impl/src/java/pt/estgp/estgweb/services/courses/CoursesService.java
556,11 → 556,10
 
}
 
public static void main(String[] args) throws IOException, JSONException, TransformationException, JAXBException {
AbstractDao.getCurrentSession().beginTransaction();
String system = args.length > 0 ? args[0] : "http://localhost/baco";
public String sincronizeCoursesStudiesPlans(String systemUrl,boolean setActive) throws IOException, JSONException, TransformationException, JAXBException {
 
URL url = new URL(system + "/wsjson/api?service=listCourses");
StringBuilder log = new StringBuilder();
URL url = new URL(systemUrl + "/wsjson/api?service=listCourses");
InputStream is = url.openStream();
String str = StreamsUtils.readString(is);
JSONObject obj = new JSONObject(str);
572,34 → 571,55
Course c = DaoFactory.getCourseDaoImpl().findCourseByCode(code);
if(c == null)
{
logger.info("SKIPING - Course " + code + " " + course.getString("name") + " does not exist in this system" );
String msg = "SKIPING - Course " + code + " " + course.getString("name") + " does not exist in this system";
log.append("<info>" + msg+"</info>");
logger.info(msg);
}
else
{
logger.info("UPDATING - Course " + code + " " + course.getString("name") + " exist in this system" );
InputStream stream = new URL(system + "/wsjson/api?service=getStudiesPlanXml&code=" + code).openStream();
String msg = "UPDATING - Course " + code + " " + course.getString("name") + " exist in this system";
log.append("<info>" + msg+"</info>");
logger.info(msg);
InputStream stream = new URL(systemUrl + "/wsjson/api?service=getStudiesPlanXml&code=" + code).openStream();
String studiesPlan = StreamsUtils.readString(stream);
int len = studiesPlan.length();
if(studiesPlan == null || studiesPlan.trim().length() == 0 || studiesPlan.contains("<error>"))
{
logger.error("Course " + code + " " + course.getString("name") + " dont has studies plan");
msg = "Course " + code + " " + course.getString("name") + " dont has studies plan";
log.append("<warn>" + msg+"</warn>");
logger.warn(msg);
}
else
{
logger.info("Found studies plan for " + code + " " + course.getString("name") + " will update ");
msg = "Found studies plan for " + code + " " + course.getString("name") + " will update ";
log.append("<info>" + msg+"</info>");
logger.info(msg);
if(setActive)
{
msg = "Setting course to active";
log.append("<info>" + msg+"</info>");
logger.info(msg);
c.setStatus(true);
}
//System.out.println(studiesPlan);
logger.info("GENERATING COURSE JSON ....");
msg = "GENERATING COURSE JSON ....";
log.append("<info>" + msg+"</info>");
logger.info(msg);
new CoursesService().generateCourseJson(c);
logger.info("GENERATING COURSE STUDIES PLAN JSON ....");
 
msg="GENERATING COURSE STUDIES PLAN JSON ....";
log.append("<info>" + msg+"</info>");
logger.info(msg);
stream.close();
stream = new URL(system + "/wsjson/api?service=getStudiesPlanXml&code=" + code).openStream();
stream = new URL(systemUrl + "/wsjson/api?service=getStudiesPlanXml&code=" + code).openStream();
UserSession userSession = DomainObjectFactory.createUserSessionImpl();
userSession.setUser(DaoFactory.getUserDaoImpl().load(new Long(1)));
new CoursesService().uploadStudiesPlan(stream, "curso_" + code + ".xml", len,"appication/xml", userSession,c,true,"http://www.estgp.pt");
}
}
}
AbstractDao.getCurrentSession().getTransaction().commit();
return log.toString();
 
}
 
 
/branches/v3/impl/src/web/jsonapi/jsonapi.jsp
1,4 → 1,4
<%@ page import="org.json.JSONObject"%><%@ page import="java.io.PrintWriter"%><%@ page import="org.json.JSONException"%><%@ page import="java.io.IOException"%><%@ page import="org.json.JSONArray"%><%@ page import="pt.estgp.estgweb.services.courses.CoursesService"%><%@ page import="jomm.dao.impl.AbstractDao"%><%@ page contentType="application/json;charset=UTF-8" language="java" %><%!
<%@ page import="org.json.JSONObject"%><%@ page import="java.io.PrintWriter"%><%@ page import="org.json.JSONException"%><%@ page import="java.io.IOException"%><%@ page import="org.json.JSONArray"%><%@ page import="pt.estgp.estgweb.services.courses.CoursesService"%><%@ page import="jomm.dao.impl.AbstractDao"%><%@ page import="pt.estgp.estgweb.domain.UserSession"%><%@ page import="pt.estgp.estgweb.web.UserSessionProxy"%><%@ page contentType="application/json;charset=UTF-8" language="java" %><%!
 
public void printServices(JspWriter out) throws JSONException, IOException
{
71,6 → 71,25
AbstractDao.getCurrentSession().getTransaction().commit();
out.write(xml);
}
else if(service.equals("syncSystemPlans") && request.getParameter("systemUrl") != null && request.getParameter("setActive") != null)
{
UserSession sess = UserSessionProxy.loadUserSessionFromRequest(request);
response.setContentType("application/xml");
if(sess.getUser() != null && sess.getUser().isSuperuserOrAdmin())
{
String systemUrl = request.getParameter("systemUrl");
boolean setActive = Boolean.parseBoolean(request.getParameter("setActive"));
response.setContentType("application/xml");
AbstractDao.getCurrentSession().beginTransaction();
String log = new CoursesService().sincronizeCoursesStudiesPlans(systemUrl,setActive);
AbstractDao.getCurrentSession().getTransaction().commit();
out.write("<response><status>OK</status><log>" + log + "</log></response>");
}
else
{
out.write("<error>Permission Denied</error>");
}
}
else
{
printServices(out);