Hi
Also mich beschäftig gerade ein Problem, wo ich einfach nicht hinterkomme.
Ich habe ein Webservice mit einer Suchfunktion ausgestattet. Diese durchsucht
alle Dokumente nach das eingegebene schlagwort.
Nun sollen alle gefunden Dokumente als Liste ausgegeben werden, die man dann theoretisch
öffnen könnte. Sie müssen glaube ich in Arrays oder so umgeandelt werde.
Ich hoffe ihr könnt mri helfen.
Hier ist die Suchfunktion
Hier ist die funktion Reingeladen in den Webservice. Da brauche ich nun den return wo er die Liste wiedergibt.
Also mich beschäftig gerade ein Problem, wo ich einfach nicht hinterkomme.
Ich habe ein Webservice mit einer Suchfunktion ausgestattet. Diese durchsucht
alle Dokumente nach das eingegebene schlagwort.
Nun sollen alle gefunden Dokumente als Liste ausgegeben werden, die man dann theoretisch
öffnen könnte. Sie müssen glaube ich in Arrays oder so umgeandelt werde.
Ich hoffe ihr könnt mri helfen.
Hier ist die Suchfunktion
Code:
@SuppressWarnings("unchecked")
public List<Document> searchInDocumentFieldsForSimpleSearch(
final String and_search, final Long userId) {
final List<Long> documentIds = new ArrayList<Long>(0);
final List<Long> visibledocumentsForUser_ids = new ArrayList<Long>(0);
final List<Document> documents = new ArrayList<Document>(0);
final Session session = sf.openSession();
final FullTextSession fullTextSession = Search
.createFullTextSession(session);
// determine visible documents by user
visibledocumentsForUser_ids.addAll(dfl
.getVisibleDocumentsByUser(userId));
final String newSearch = and_search.trim();
final Query luceneQuery = createInputFieldQuery(newSearch,
BooleanClause.Occur.MUST, false);
final org.hibernate.Query fullTextQuery = fullTextSession
.createFullTextQuery(luceneQuery, Document.class);
final Iterator it = fullTextQuery.iterate();
// while (it.hasNext()) {
// final DocumentField df = (DocumentField) it.next();
// if (df != null) {
// if (!documentIds.contains(df.getDocumentId())
// && (visibledocumentsForUser_ids
// .contains(df.getDocumentId()))) {
// final Document dd = df.getDocument();
// if(dd!=null){
// if(Hibernate.isInitialized(dd)==false){
// Hibernate.initialize(dd);
// }
// documentIds.add(dd.getId());
// documents.add(dd);
// }
// }
// }
// }
while (it.hasNext()) {
final Document d = (Document) it.next();
if (d != null) {
if (!documentIds.contains(d.getId())
&& (visibledocumentsForUser_ids.contains(d.getId()))) {
documentIds.add(d.getId());
documents.add(d);
}
}
}
/*
* visibledocumentsForUser_ids.addAll(dfl
* .getVisibleDocumentsByUser(userId));
*
* Iterator is = documentFields.iterator(); while (is.hasNext()) {
* DocumentField df = (DocumentField) is.next(); if(df!=null){ Document
* dd = df.getDocument(); dd.getAuthors(); if
* (!documentIds.contains(dd.getId()) &&
* (visibledocumentsForUser_ids.contains(dd.getId()))) {
*
* documentIds.add(dd.getId()); documents.add(dd); // System.out //
* .println("###### Document " + dd.getName() + " " // +
* dd.getCreationDate() + " " // + dd.getModificationDate()); // hier
* implemantation für die categorien anzeige ?? } } }
*/
return documents;
}
/*
* (non-Javadoc)
*
* @seede.ejb.search.SearchLocal#
* getAllDocumentsByUserCommunitiesAndByReleaseStatus(java.lang.Long)
*/
Hier ist die funktion Reingeladen in den Webservice. Da brauche ich nun den return wo er die Liste wiedergibt.
Code:
@WebMethod
public void searchInDocumentFieldsForSimpleSearch(final String and_search, final Long userId)
{
return;
}