public class ScriptDB2ViewAction extends SquirrelAction { private static final long serialVersionUID = 1L; private ISession _session; public ScriptDB2ViewAction(IApplication app, Resources rsrc, ISession session) { super(app, rsrc); _session = session; } public void actionPerformed(ActionEvent evt) { try { Statement stat = _session.getSQLConnection().createStatement(); SessionInternalFrame sessMainFrm = _session.getSessionInternalFrame(); IDatabaseObjectInfo[] dbObjs = sessMainFrm.getObjectTreeAPI().getSelectedDatabaseObjects(); StringBuffer script = new StringBuffer(); for (int i = 0; i < dbObjs.length; i++) { ITableInfo ti = (ITableInfo) dbObjs[i]; /////////////////////////////////////////////////////////// // IBM DB 2 specific code to read view definitions. String sql = "SELECT TEXT " + "FROM SYSIBM.SYSVIEWS " + "WHERE NAME = '" + ti.getSimpleName() + "'"; ResultSet res = stat.executeQuery(sql); res.next(); script.append(res.getString("TEXT")); script.append(getStatementSeparator()); res.close(); // /////////////////////////////////////////////////////////// } stat.close(); sessMainFrm.getSQLPanelAPI().appendSQLScript(script.toString()); sessMainFrm.getSessionPanel().selectMainTab(ISession.IMainPanelTabIndexes.SQL_TAB); } catch (Exception e) { throw new RuntimeException(e); } } private String getStatementSeparator() { String statementSeparator = _session.getQueryTokenizer().getSQLStatementSeparator(); if (1 < statementSeparator.length()) { statementSeparator = "\n" + statementSeparator + "\n"; } return statementSeparator
public class ScriptSybaseASEProcedureAction extends SquirrelAction { /** * */ private static final long serialVersionUID = 1L; private ISession _session; public ScriptSybaseASEProcedureAction(IApplication app, Resources rsrc, ISession session) { super(app, rsrc); _session = session; } public void actionPerformed(ActionEvent evt) { try { IDatabaseObjectInfo[] dbObjs = _session.getSessionInternalFrame().getObjectTreeAPI().getSelectedDatabaseObjects(); Statement stat = _session.getSQLConnection().createStatement(); StringBuffer script = new StringBuffer(); for (int i = 0; i < dbObjs.length; i++) { IProcedureInfo pi = (IProcedureInfo) dbObjs[i]; /////////////////////////////////////////////////////////// // SybaseASE specific code to read procedure definitions. String sql = "Select text " + "from sysobjects inner join syscomments on syscomments.id = sysobjects.id " + "where name = '" + pi.getSimpleName().replace(";1", "") + "'"; ResultSet res = stat.executeQuery(sql); while(res.next()) { script.append(res.getString("text")); } script.append(getStatementSeparator()); res.close(); // /////////////////////////////////////////////////////////// } stat.close(); SessionInternalFrame sessMainFrm = _session.getSessionInternalFrame(); sessMainFrm.getSQLPanelAPI().appendSQLScript(script.toString()); sessMainFrm.getSessionPanel().selectMainTab(ISession.IMainPanelTabIndexes.SQL_TAB); } catch (Exception e) { throw new RuntimeException(e); } } private String getStatementSeparator() { String statementSeparator = _session.getQueryTokenizer().getSQLStatementSeparator(); if (1 < statementSeparator.length()) { statementSeparator = "\n" + statementSeparator + "\n"; } return statementSeparator
Clone fragments detected by clone detection tool
File path: /sql12/plugins/example/src/net/sourceforge/squirrel_sql/plugins/example/ScriptDB2ViewAction.java File path: /sql12/plugins/sybase/src/net/sourceforge/squirrel_sql/plugins/SybaseASE/ScriptSybaseASEProcedureAction.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
public class ScriptDB2ViewAction extends SquirrelAction
1
public class ScriptSybaseASEProcedureAction extends SquirrelAction
2
{
2
{
3
   
3
   /**
4
	 * 
5
	 */
4
private static final long serialVersionUID = 1L;
6
	private static final long serialVersionUID = 1L;
5
   
7
	
6
private ISession _session;
8
	private ISession _session;
7
   public ScriptDB2ViewAction(IApplication app, Resources rsrc, ISession session)
9
   public ScriptSybaseASEProcedureAction(IApplication app, Resources rsrc, ISession session)
8
	{
10
	{
9
		super(app, rsrc);
11
		super(app, rsrc);
10
      _session = session;
12
      _session = session;
11
   }
13
   }
12
	public void actionPerformed(ActionEvent evt)
14
	public void actionPerformed(ActionEvent evt)
13
	{
15
	{
14
      try
16
      try
15
      {
17
      {
16
         Statement stat = _session.getSQLConnection().createStatement();
18
         
17
         SessionInternalFrame sessMainFrm = _session.getSessionInternalFrame();
19
IDatabaseObjectInfo[] dbObjs = _session.getSessionInternalFrame().getObjectTreeAPI().getSelectedDatabaseObjects();
18
         IDatabaseObjectInfo[] dbObjs = sessMainFrm.getObjectTreeAPI().getSelectedDatabaseObjects();
20
         Statement stat = _session.getSQLConnection().createStatement();
19
         StringBuffer script = new StringBuffer();
21
         StringBuffer script = new StringBuffer();
20
         for (int i = 0; i < dbObjs.length; i++)
22
         for (int i = 0; i < dbObjs.length; i++)
21
         {
23
         {
22
            ITableInfo ti = (ITableInfo) dbObjs[i];
24
            IProcedureInfo pi = (IProcedureInfo) dbObjs[i];
23
            ///////////////////////////////////////////////////////////
25
            ///////////////////////////////////////////////////////////
24
            // IBM DB 2 specific code to read view definitions.
26
            // SybaseASE specific code to read procedure definitions.
25
            String sql =
27
            String sql =
26
               "SELECT TEXT " +
28
                "Select text " +
27
               "FROM SYSIBM.SYSVIEWS " +
29
                "from sysobjects inner join syscomments on syscomments.id = sysobjects.id " +
28
               "WHERE NAME = '" + ti.getSimpleName() + "'";
30
                "where name = '" + pi.getSimpleName().replace(";1", "") + "'";
29
            ResultSet res = stat.executeQuery(sql);
31
             ResultSet res = stat.executeQuery(sql);
30
            res.next();
32
             while(res.next()
33
)
34
             {
31
            script.append(res.getString("TEXT"));
35
                 script.append(res.getString("
36
text"));            
37
             }
32
            script.append(getStatementSeparator());
38
             script.append(getStatementSeparator());
33
            res.close();
39
             res.close();
34
            //
40
             //
35
            ///////////////////////////////////////////////////////////
41
             ///////////////////////////////////////////////////////////
36
         }
42
         }
37
         stat.close();
43
         stat.close();
44
         SessionInternalFrame sessMainFrm = _session.getSessionInternalFrame();
38
         sessMainFrm.getSQLPanelAPI().appendSQLScript(script.toString());
45
         sessMainFrm.getSQLPanelAPI().appendSQLScript(script.toString());
39
         sessMainFrm.getSessionPanel().selectMainTab(ISession.IMainPanelTabIndexes.SQL_TAB);
46
         sessMainFrm.getSessionPanel().selectMainTab(ISession.IMainPanelTabIndexes.SQL_TAB);
40
      }
47
      }
41
      catch (Exception e)
48
      catch (Exception e)
42
      {
49
      {
43
         throw new RuntimeException(e);
50
         throw new RuntimeException(e);
44
      }
51
      }
45
   }
52
   }
46
   private String getStatementSeparator()
53
   private String getStatementSeparator()
47
   {
54
   {
48
      String statementSeparator = _session.getQueryTokenizer().getSQLStatementSeparator();
55
      String statementSeparator = _session.getQueryTokenizer().getSQLStatementSeparator();
49
      if (1 < statementSeparator.length())
56
      if (1 < statementSeparator.length())
50
      {
57
      {
51
         statementSeparator = "\n" + statementSeparator + "\n";
58
         statementSeparator = "\n" + statementSeparator + "\n";
52
      }
59
      }
53
      return statementSeparator
60
      return statementSeparator
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones location
Number of node comparisons0