示例#1
0
  /**
   * Metodo per il process della Cas generata con l'upload del documenti in 'Nuovo pattern'.
   *
   * @param cas cas da analizzare
   * @throws SQLException eccezione durante l'estrazione dei dati
   */
  private void processPatternAttachmentCas(final JCas cas) throws SQLException {

    HpmDao dao = new HpmDao();

    //      il valore della property è l'hpmPatternId
    String kpeopleTagPattern = getKpeopleTagPattern(cas);

    //      recupero e salvo su db gli attachments associati alla creazione pattern
    List<Document> docs = new ArrayList<Document>();

    //      recupero l'email dell'utente che ha generato il pattern
    String email = getUserAuthorAnnotation(cas).getEmail();

    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.setTemplate(false);
      document.setHpmAttachmentId(aa.getId());
      document.setName(aa.getAttachmentName());

      docs.add(document);
    }

    docs = dao.savePatternDocument(docs, email, kpeopleTagPattern);
  }
示例#2
0
  /**
   * factory per l'oggetto Document.
   *
   * @param rs resultset
   * @return istanza dell'oggetto Document
   * @throws SQLException label colonne non valido
   */
  public static Document createDocument(final ResultSet rs) throws SQLException {
    Document document = new Document();

    document.setAuthor(rs.getString("AUTHOR"));
    document.setTemplate(rs.getBoolean("IS_TEMPLATE"));
    document.setDocumentType(rs.getBoolean("ID_DOCUMENT_TYPE"));
    document.setIdAttachment(rs.getInt("ID_ATTACHMENT"));
    document.setGuid(rs.getString("GUID"));
    document.setHashcode(rs.getString("HASHCODE"));

    return document;
  }
示例#3
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);
      }
    }
  }