KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > webman > refsel > TKWMFirstGranddaughtersRS


1 package com.teamkonzept.webman.refsel;
2
3 import java.sql.*;
4 import java.util.*;
5
6 import com.teamkonzept.db.*;
7 import com.teamkonzept.webman.*;
8 import de.webman.generator.*;
9 import com.teamkonzept.lib.*;
10 import com.teamkonzept.webman.refsel.db.queries.*;
11
12 /*
13  * @author $Author: alex $
14  * @version $Revision: 1.8 $
15  */

16 public class TKWMFirstGranddaughtersRS implements TKWMReferenceSelector {
17
18     public boolean checkSelection( ) {
19         return false;
20     }
21     public String JavaDoc getSelectionData( TKHashtable params ){
22         return "";
23     }
24
25     public TKVector getSelectionNodes(String JavaDoc selectionData, int siteNodeId )
26         throws SQLException
27     {
28         TKVector nodes= new TKVector();
29
30         TKQuery query = TKDBManager.newQuery(TKWMDBGranddaughterNodes.class);
31         query.setQueryParams("SITE_NODE_ID", new Integer JavaDoc(siteNodeId));
32         query.execute();
33         ResultSet rs = query.fetchResultSet();
34
35         if (rs != null) {
36             while (rs.next()) {
37                 nodes.addElement(new Integer JavaDoc(rs.getInt("SITE_NODE_ID")));
38             }
39         }
40         return nodes;
41     }
42
43     public TKDBResult getSelectionValues( String JavaDoc selectionData, int siteNodeId )
44         throws SQLException
45     {
46         TKDBResult values=null;
47
48         TKQuery query = TKDBManager.newQuery(TKWMDBRSSisters.class);
49         query.setQueryParams("SITE_NODE_ID", new Integer JavaDoc(siteNodeId));
50         query.execute();
51         ResultSet rs = query.fetchResultSet();
52
53         if (rs != null) {
54             values = new TKDBResult(rs);
55         }
56         return values;
57     }
58
59     public void reduceReferences(
60         String JavaDoc selectionData,
61         TKVector allRefUrls,
62         TKVector allRefDocs,
63         TKVector allRefNodes,
64         GenNode currAnchor
65     )
66     {
67         Hashtable visitedDaughters = new TKHashtable();
68         for( int i=0; i<allRefUrls.size();) {
69             GenNode currGrandChild = (GenNode)allRefNodes.elementAt(i);
70             GenNode currDaughter = currGrandChild.getParent();
71             if( visitedDaughters.get(currDaughter) != null ) {
72                 // Der Knoten wurde schon besucht -> rest loeschen
73
allRefUrls.removeElementAt(i);
74                 if( allRefDocs!=null ) allRefDocs.removeElementAt(i);
75                 allRefNodes.removeElementAt(i);
76             }
77             else {
78                 visitedDaughters.put(currDaughter,currDaughter);
79                 i++;
80             }
81         }
82     }
83
84 }
85
86
Popular Tags