@SuppressWarnings("unchecked") public void getUserReports(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException { System.out.println(">>> Get User Reports"); String userEmail = req.getParameter("userEmail"); String userLogin = req.getParameter("userLogin"); String siteKey = req.getParameter("siteKey"); String siteID = req.getParameter("siteID"); String callback = req.getParameter("callback"); if (!PersistenceUtils.checkSiteKey(siteKey, siteID)) { String res = callback + "({'error':'Your site has not been registered. You can generate reports but they will not be archived'})"; response.setContentType("text/javascript"); PrintWriter out = response.getWriter(); out.println(res); return; } Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); List<ReportJob> job = null; Session auditsess = PersistenceUtils.getAuditSession(); System.out.println(">>> Get User Reports DB"); try { job = auditsess .createCriteria(ReportJob.class) .add(Restrictions.eq("siteKey", siteKey)) .add(Restrictions.eq("userEmail", userEmail)) .add(Restrictions.eq("userLogin", userLogin)) .add(Restrictions.eq("showUser", true)) .list(); } catch (Exception e) { e.printStackTrace(); } finally { auditsess.close(); System.out.println("<<< Get User Reports DB"); } String json = gson.toJson(job); String res = callback + "(" + json + ")"; response.setContentType("text/javascript"); PrintWriter out = response.getWriter(); out.println(res); System.out.println("<<< Get User Reports"); }
/** * This method should be called only if it has been determined that table schema should be created * (or deleted). Create the {@link CustomObject} for the metadata API to use during deploy * * @param cmd the class metadata for the entity * @param storeManager the store manager * @param mconn the managed connection that contains connections to the Force.com APIs */ public void createCustomObject( AbstractClassMetaData cmd, ForceStoreManager storeManager, ForceManagedConnection mconn) { String shortName = removeCustomThingSuffix(tableImpl.getTableName().getName()); if (isReadOnlyTable) { throw new NucleusUserException("Cannot create readOnlySchema custom object: " + shortName); } createCustomObjectStub(); customObject.setDescription(shortName + ": Persistenceforce created custom object"); customObject.setDeploymentStatus(DeploymentStatus.Deployed); customObject.setSharingModel(SharingModel.ReadWrite); customObject.setLabel(shortName); customObject.setPluralLabel(shortName); CustomField nf = new CustomField(); nf.setType(FieldType.Text); nf.setLabel("name"); nf.setFullName("name"); nf.setDescription("name"); customObject.setNameField(nf); Map<String, String> classExtensions = PersistenceUtils.getForceExtensions(cmd); String value = classExtensions.get("enableFeeds"); if (value != null) { customObject.setEnableFeeds(Boolean.valueOf(value)); } }
/** * This method should be called only if it has been determined that field schema should be created * (or deleted). Create the {@link CustomField} for the metadata API to use during deploy * * @param cmd the class metadata for the entity * @param storeManager the store manager */ public void createCustomFields(AbstractClassMetaData cmd, ForceStoreManager storeManager) { synchronized (cmd) { try { if (cmd.isEmbeddedOnly() || PersistenceUtils.isReadOnlySchema(cmd, false)) return; ForceManagedConnection mconn = storeManager.createConnection(); try { ForceColumnMetaData cols = new ForceColumnMetaData(cmd, tableImpl, storeManager); cols.createFieldSchema(mconn.getNamespace()); if (customObject == null) { createCustomObjectStub(); } cols.addFieldsToObject(customObject); } catch (NucleusException ce) { throw ce; } catch (Exception e) { throw new NucleusException(e.getMessage(), e); } finally { mconn.close(); } } catch (Exception e) { throw new NucleusUserException( "Exception during initialisation of metadata for " + cmd.getFullClassName(), e); } } }
public void init(final ServletConfig sc) { try { super.init(sc); } catch (ServletException e) { e.printStackTrace(); } PersistenceUtils.init(sc); }
public void service(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException { System.out.println(">>> Remove Report"); // Doesn't actually remove the record. Contents are nulled out and marked not to be shown to // user. Kept for auditting and billing purposes String userEmail = req.getParameter("userEmail"); String userLogin = req.getParameter("userLogin"); String siteKey = req.getParameter("siteKey"); String id = req.getParameter("id"); final Session auditsess = PersistenceUtils.getAuditSession(); try { Transaction txn = auditsess.beginTransaction(); ReportJob job = (ReportJob) auditsess .createCriteria(ReportJob.class) .add(Restrictions.eq("id", Long.parseLong(id))) .add(Restrictions.eq("siteKey", siteKey)) .add(Restrictions.eq("userEmail", userEmail)) .add(Restrictions.eq("userLogin", userLogin)) .uniqueResult(); job.showUser = false; job.reportResult = null; auditsess.update(job); txn.commit(); } catch (Exception e) { e.printStackTrace(); } finally { auditsess.close(); } getUserReports(req, response); }