Ejemplo n.º 1
0
  /**
   * aggiunge un metadato all'oggetto Event.
   *
   * @param key chiave del metadato
   * @param value valore del metadato
   * @param event event da salvare
   */
  private void addEventMetadata(final String key, final String value, final Event event) {
    EventMetadata em = new EventMetadata();
    em.setKeyname(key);
    em.setValue(value);

    logger.debug("Aggiunta metadato\nKey: " + key + "\nValue: " + value);
    event.addEventMetadata(em);
  }
Ejemplo n.º 2
0
  /**
   * Esegue il process nel caso default.
   *
   * @param cas cas
   * @throws SQLException errore nel salvataggio
   */
  private void processDefaultCas(final JCas cas) throws SQLException {
    //      recupero le annotations presenti nella CAS
    String eventId = getEventIdAnnotation(cas).getValue();

    SystemAnnotation systemAnnotation = getSystemAnnotation(cas);
    String systemId = systemAnnotation.getSystemId();

    String title = getTitleAnnotation(cas).getValue();

    //      costruisco l'oggetto Hpm Event
    Event event = new Event();
    event.setHpmEventId(eventId);
    event.setHpmSystemId(systemId);

    //      associa all'oggetto Event i suoi metadati
    addEventMetadata(event, cas);

    //      aggiunge le proprietà
    addProperties(event, cas);

    String actionType = getActionTypeAnnotation(cas).getValue();

    if (checkValidAction(actionType)) {
      Email email = new Email();
      email.setAttachmentType(new AttachmentType(1));

      addEmailTo(email, cas);
      addEmailCc(email, cas);
      addEmailCcn(email, cas);
      addEmailFrom(email, cas);

      email.setEmailObject(title);
      email.setEmailBody(getEmailBody(cas));
      event.getAttachments().add(email);

      addDocuments(event, email, cas);
    } else {
      addDocuments(event, null, cas);
    }

    HpmDao dao = new HpmDao();
    dao.saveEventManager(event);
  }
Ejemplo n.º 3
0
  /**
   * aggiunge le proprietà presenti.
   *
   * @param event eventoda salvare
   * @param cas oggetto Cas
   */
  private void addProperties(final Event event, final JCas cas) {
    AnnotationIndex<Annotation> annIdx = cas.getAnnotationIndex(PropertyAnnotation.type);
    FSIterator<Annotation> it = annIdx.iterator();

    while (it.hasNext()) {
      PropertyAnnotation annotation = (PropertyAnnotation) it.next();

      String key = annotation.getKey();
      String value = annotation.getValue();

      logger.debug("Aggiunta proprietà\nKey: " + key + "\nValue: " + value);

      event.getProperties().put(key, value);
    }
  }
Ejemplo n.º 4
0
  /**
   * aggiunge oggetti di tipo Document all'event. Nel caso di Communication associo anche la email
   * ai documenti.
   *
   * @param event oggetto a cui associare i Document
   * @param email email da salvare
   * @param cas cas da elaborare
   */
  private void addDocuments(final Event event, final Email email, final JCas cas) {

    AnnotationIndex<Annotation> aaIdx = cas.getAnnotationIndex(AttachmentAnnotation.type);
    FSIterator<Annotation> itAa = aaIdx.iterator();
    while (itAa.hasNext()) {
      AttachmentAnnotation aa = (AttachmentAnnotation) itAa.next();

      Document document = new Document();
      document.setAttachmentType(new AttachmentType(2));
      document.setGuid(aa.getUrlAttachment());
      document.setHashcode(aa.getHashcode());
      document.setAuthor(aa.getAuthor());
      document.setTemplate(false);
      document.setHpmAttachmentId(aa.getId());
      document.setName(aa.getAttachmentName());

      event.getAttachments().add(document);

      //          associo il documento alla mail (per il legame EMAIL-DOCUMENT)
      if (email != null) {
        email.getDocuments().add(document);
      }
    }
  }