Zum Inhalt springen

Hilfen bei Methoden übergeben


TeamBob

Empfohlene Beiträge

ch habe vor mir ein Project und in diesem Project heißt ein Package: Search.

Darin befinden sich mehrere Klassen und eine Klasse besitzt den Namen: SearchBean

Der Quelltext dieser Klasse geht circa über 50 Seiten. Ich benötige daraus eine

Methode die es ermöglicht dokumente nach schlagwörtern zu durchsuchen und

diese auszugeben. Diese Methode ist diese "searchInDocumentFieldsForSimpleSearch"

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);

            }

         }

      }



      return documents;


   }


   /*

    * (non-Javadoc)

    *

    * @seede.search.SearchLocal#

    * getAllDocumentsByUserCommunitiesAndByReleaseStatus(java.lang.Long)

    */
Ich habe in diesen project ein neues package: webserive angelegt und den webservice programmiert. Ich benötige in diesem Webservice die methode von oben, aber weis nicht wie ich sie einbinden soll. Hier ist mal der Quelltext zum Webservice. Ich hoffe ihr könnt mir helfen. Ganz unten ist der code zum einbinden der Methode, aber das kann doch nicht alles sein? Danke für jede Hilfe
package web.service;



import javax.ejb.EJB;

import javax.jws.WebMethod;

import javax.jws.WebParam;

import javax.jws.WebService;

import javax.naming.InitialContext;


import search.*;


@WebService(name = "SearchService", serviceName = "SearchService", targetNamespace = "http://www.Test.de")

public class WebServiceSearch {


@EJB

SearchLocal searchBean;


SearchLocal getSearchBean() {


   if (searchBean == null) {


      try {

         searchBean = (SearchLocal) new InitialContext()

         .lookup("java:comp/env/ejb/SearchEJB");

         } catch (Exception a) {

            throw new RuntimeException(a);

         }

      }

      return searchBean;

   }   



// @WebMethod

//     public java.until.ArrayList<String> getItems(java.lang.String searchTerm) {

//   new java.until.ArrayList<String>();



@EJB

SearchBean object = new SearchBean();

object.searchInDocumentFieldsForSimpleSearch();



}


}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also muss ich statt

SearchBean object1 = new SearchBean();

object.searchInDocumentFieldsForSimpleSearch();

das hier schreiben?

public List<Document> searchInDocumentFieldsForSimpleSearch(

final String and_search, final Long userId)

oder da?

public List<Document> searchInDocumentFieldsForSimpleSearch(

final String and_search, final Long userId)

{

return null;

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also wenn ich das schreibe

SearchBean object1 = new SearchBean();

object.searchInDocumentFieldsForSimpleSearch(final String and_search, final Long userId)

{

return null;

}

dann unterstreicht er mir das ende alles rot und wenn ich auf fix gehe kommt eine möglichkeit und die sieht so aus.

SearchBean object1 = new SearchBean();

Object searchInDocumentFieldsForSimpleSearch(final String and_search, final Long userId)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Benutzer muss sich doch sicherlich Anmelden?! Da musst du dir die UserId übergeben lassen und diese dann dort in dem Parametern angeben.

Das Programm brauch die UserId um zu checken welche Dokumente der User sehen darf.

Hast du denn vorher schon Erfahrungen in Java oder anderen Programmiersprachen gesammelt? Ohne jegliches Wissen, wär es angebracht mit leichteren dingen anzufangen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ja du irrst dich,

final String and_search - woher soll er in der klasse wissen, was die Variable and_search bedeutet???

final Long userId - das selbe hier userId wird nirgendswo definiert....

Du musst dir in der Klasse schon Variablen definieren, welche dir den Suchbegriff geben, dieser muss doch sicherlich auf einer OBerfläche eingegebn werden.... diesen musste dann der Methode object1.searchInDocumentFieldsForSimpleSearch() übergeben.

Genauso die UserID... die musst du auch aus dem Programm auslesen und dann als Parameter dieser Methode übergeben...

Du scheinst scheinbar keine richtig Ahnung zu haben, deshalb empfehl ich dir erstma leichtere dinge zu machen.

Java ist auch eine Insel (8. Auflage) empfehle ich dir ma anzuschauen... dort findest du gute beispiele.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...