01: /*
02: * Created on 19/10/2006
03: *
04: * Swing Components - visit http://sf.net/projects/gfd
05: *
06: * Copyright (C) 2006 Igor Regis da Silva Simões
07: *
08: * This program is free software; you can redistribute it and/or
09: * modify it under the terms of the GNU General Public License
10: * as published by the Free Software Foundation; either version 2
11: * of the License, or (at your option) any later version.
12: *
13: * This program is distributed in the hope that it will be useful,
14: * but WITHOUT ANY WARRANTY; without even the implied warranty of
15: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16: * GNU General Public License for more details.
17: *
18: * You should have received a copy of the GNU General Public License
19: * along with this program; if not, write to the Free Software
20: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21: *
22: */
23: package br.com.gfp.ols.componentes;
24:
25: import java.io.IOException;
26: import java.util.HashMap;
27: import java.util.Map;
28:
29: import br.com.gfpshare.proxy.http.GeneralHttpClient;
30:
31: public class GrupoComboBoxModel extends WebComboBoxModel {
32: private Map<String, String> dados = new HashMap<String, String>();
33:
34: public GrupoComboBoxModel() {
35: }
36:
37: @Override
38: public void carregarDados() {
39: GeneralHttpClient httpClient = getHttpClient();
40: httpClient
41: .initRequest(
42: "http://sourceforge.net/tracker/?func=add&group_id=107070&atid=646572",
43: GeneralHttpClient.HTTPCLIENT_GET_METHOD);
44: String page = null;
45: try {
46: httpClient.executeRequest();
47: page = httpClient.getResponseBody();
48: } catch (IOException e) {
49: // TODO Auto-generated catch block
50: e.printStackTrace();
51: }
52: loadGrupos(page);
53: }
54:
55: private void loadGrupos(String page) {
56: page = page.substring(page
57: .indexOf("<select NAME=\"artifact_group_id\">")
58: + "<select NAME=\"artifact_group_id\">".length());
59: page = page.substring(0, page.indexOf("</select>"));
60: page = page.substring(
61: page.indexOf("<OPTION VALUE=\"100\">None</OPTION>")
62: + "<OPTION VALUE=\"100\">None</OPTION>"
63: .length()).trim();
64:
65: removeAllElements();
66: addElement("");
67: while (!page.equals("")) {
68: String id = page.substring(page.indexOf("<OPTION VALUE=\"")
69: + "<OPTION VALUE=\"".length(), page.indexOf("\">"));
70: page = page.substring(page.indexOf("<OPTION VALUE=\"")
71: + "<OPTION VALUE=\"".length() + 8);
72:
73: String nome = page.substring(0, page.indexOf("</OPTION>"));
74: dados.put(nome, id);
75: addElement(nome);
76: page = page.substring(page.indexOf("</OPTION>")
77: + "</OPTION>".length());
78: }
79: }
80:
81: @Override
82: protected Map<String, String> getData() {
83: return dados;
84: }
85:
86: @Override
87: public String getSelectedId() {
88: return dados.get(getSelectedItem());
89: }
90: }
|