01: package net.sourceforge.squirrel_sql.plugins.mysql.tab;
02:
03: import net.sourceforge.squirrel_sql.fw.util.StringManager;
04: import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
05:
06: /*
07: * Copyright (C) 2003 Colin Bell
08: * colbell@users.sourceforge.net
09: *
10: * This library is free software; you can redistribute it and/or
11: * modify it under the terms of the GNU Lesser General Public
12: * License as published by the Free Software Foundation; either
13: * version 2.1 of the License, or (at your option) any later version.
14: *
15: * This library is distributed in the hope that it will be useful,
16: * but WITHOUT ANY WARRANTY; without even the implied warranty of
17: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18: * Lesser General Public License for more details.
19: *
20: * You should have received a copy of the GNU Lesser General Public
21: * License along with this library; if not, write to the Free Software
22: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23: */
24: /**
25: * This tab will display the results of an "SHOW TABLE STATUS" command for a database.
26: *
27: * @author <A HREF="mailto:colbell@users.sourceforge.net">Colin Bell</A>
28: */
29: public class UserGrantsTab extends BaseSQLTab {
30: private static final StringManager s_stringMgr = StringManagerFactory
31: .getStringManager(UserGrantsTab.class);
32:
33: /**
34: * This interface defines locale specific strings. This should be
35: * replaced with a property file.
36: */
37: private interface i18n {
38: // i18n[mysql.grants=MySQL Grants]
39: String TITLE = s_stringMgr.getString("mysql.grants");
40: // i18n[mysql.hintGrants=(MySQL) Grants]
41: String HINT = s_stringMgr.getString("mysql.hintGrants");
42: }
43:
44: public UserGrantsTab() {
45: super (i18n.TITLE, i18n.HINT);
46: }
47:
48: protected String getSQL() {
49: final String db = getDatabaseObjectInfo().getQualifiedName();
50: //String newdb = fixQuotes(db);
51: //System.out.println("show grants for "+newdb);
52: //return "show grants for "+newdb;
53: return "show grants for " + db;
54: }
55:
56: private static String fixQuotes(String user) {
57: String[] parts = user.split("\\@");
58: String first = "";
59: if (parts[0].length() > 1) {
60: first = parts[0] + "'";
61: } else {
62: first = "'%'";
63: }
64: String last = "";
65: if (parts[1].length() > 1) {
66: last = "'" + parts[1];
67: } else {
68: last = "'%'";
69: }
70: return first + "@" + last;
71:
72: }
73:
74: public static void main(String[] args) {
75: String newString = fixQuotes("'root@'");
76: System.out.println("fixQuotes(@localhost)=" + newString);
77: }
78: }
|