/* (non-Javadoc) * @see uk.ac.ed.epcc.webapp.forms.transition.TransitionFactoryDataProvider#getTargets() */ public Set<TableTransitionTarget> getTargets() { HashSet<TableTransitionTarget> result = new HashSet<TableTransitionTarget>(); AppContext conn = getContext(); Map<String, Class> classmap = conn.getClassMap(TableTransitionTarget.class); for (String key : classmap.keySet()) { result.add((TableTransitionTarget) conn.makeObject(classmap.get(key), key)); } return result; }
@Override public ServletSessionService getSessionService(AppContext conn) { ServletSessionService sess = super.getSessionService(conn); if (sess != null && !sess.haveCurrentUser()) { Map<String, Object> params = conn.getService(ServletService.class).getParams(); AppUserFactory fac = sess.getLoginFactory(); PasswordAuthComposite<?> composite = (PasswordAuthComposite<?>) fac.getComposite(PasswordAuthComposite.class); if (composite != null) { String user = null; Object person = params.get("person"); if (person != null) { user = person.toString(); } String password = null; Object pass_obj = params.get("password"); if (pass_obj != null) { password = pass_obj.toString(); } if (user != null && password != null) { try { AppUser p = composite.findByLoginNamePassword(user, password, CHECK_API_FAILS.isEnabled(conn)); if (p != null && p.canLogin()) { sess.setCurrentPerson(p); } } catch (DataException e) { conn.getService(LoggerService.class) .getLogger(getClass()) .error("Error locating person", e); } } } } return sess; }
public static void anonymise(AppContext c, String table) throws DataFault { try { if (Repository.READ_ONLY_FEATURE.isEnabled(c)) { return; } SQLContext conn = c.getService(DatabaseService.class).getSQLContext(); if (conn == null) { throw new DataFault("No connection"); } StringBuilder sb = new StringBuilder(); sb.append("UPDATE "); conn.quote(sb, table); sb.append(" SET "); conn.quote(sb, MESSAGE); sb.append("=null"); Statement stmt = conn.getConnection().createStatement(); int results = stmt.executeUpdate(sb.toString()); stmt.close(); } catch (SQLException e) { throw new DataFault("Error in delete", e); } }