My favorites
▼
|
Sign in
javahotel
Hotel Software for small, medium and large
Project Home
Downloads
Wiki
Issues
Source
Checkout
Browse
Changes
Source path:
svn
/
trunk
/
examples
/
DatabaseObject
/
src
/
databaseobject
/
popup
/
actions
/
DeployAction.java
r586
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/*
* Copyright 2012 stanislawbartkowski@gmail.com
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package databaseobject.popup.actions;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IActionDelegate;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import databaseobject.messages.Messages;
import databaseobject.util.PluginUtil;
/**
* Class called as a response to "Deploy package" menu item
* @author sbartkowski
*
*/
public class DeployAction implements IObjectActionDelegate {
private Shell shell;
private ISelection iSel = null;
@Override
public void run(IAction arg0) {
IWorkbench iworkbench = PlatformUI.getWorkbench();
IWorkbenchWindow i = iworkbench.getActiveWorkbenchWindow();
ISelection sel = i.getSelectionService().getSelection();
IResource ii = PluginUtil.extractSelection(sel);
final IProject iP = ii.getProject();
try {
// check if clicked on DB2 script file
if (!PluginUtil.verifyActionForDB2File(iP, iSel)) {
return;
}
// get jdbc connection
Connection jdbc = PluginUtil.getConnection(iP);
// read and prepare script as string
String fileName = PluginUtil.getFileName(sel);
FileReader r = new FileReader(new File(fileName));
String sql = "";
int ch;
while ((ch = r.read()) != -1) {
sql += (char) ch;
}
// run sql statement (deploy PL/SQL package here)
Statement stmt = jdbc.createStatement();
stmt.execute(sql);
} catch (CoreException e) {
PluginUtil.errorMessage(Messages.ErrorWhileWritingSQL, e);
} catch (SQLException e) {
PluginUtil.errorMessage(Messages.ErrorWhileWritingSQL, e);
} catch (FileNotFoundException e) {
PluginUtil.errorMessage(Messages.ErrorWhileWritingSQL, e);
} catch (IOException e) {
PluginUtil.errorMessage(Messages.ErrorWhileWritingSQL, e);
}
}
/**
* @see IActionDelegate#selectionChanged(IAction, ISelection)
*/
@Override
public void selectionChanged(IAction action, ISelection selection) {
iSel = selection;
}
/**
* @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
*/
@Override
public void setActivePart(IAction action, IWorkbenchPart targetPart) {
shell = targetPart.getSite().getShell();
}
}
Show details
Hide details
Change log
r537
by stanislawbartkowski on Feb 5, 2012
Diff
First commit
Go to:
...examples/DatabaseObject/META-INF
...abaseObject/META-INF/MANIFEST.MF
.../DatabaseObject/build.properties
...nk/examples/DatabaseObject/icons
...aseObject/icons/dummy-nature.png
.../DatabaseObject/icons/sample.gif
...amples/DatabaseObject/plugin.xml
/trunk/examples/DatabaseObject/src
...atabaseObject/src/databaseobject
...rc/databaseobject/Activator.java
...ject/src/databaseobject/messages
...aseobject/messages/Messages.java
...ect/messages/messages.properties
...Object/src/databaseobject/nature
...object/nature/ProjectNature.java
...eObject/src/databaseobject/popup
...src/databaseobject/popup/actions
.../popup/actions/DeployAction.java
...t/popup/actions/DrawPackage.java
...p/actions/DrawPackageDialog.java
...popup/actions/ExtractDialog.java
...opup/actions/ExtractObjects.java
...ctions/ExtractObjectsDialog.java
...pup/actions/IButtonSelected.java
...ect/popup/actions/NewAction.java
...ct/src/databaseobject/properties
.../DatabaseObjectPropertyPage.java
...seObject/src/databaseobject/util
...abaseobject/util/CommonProp.java
...bject/util/CreateObjectTree.java
...databaseobject/util/LogUtil.java
...abaseobject/util/PluginUtil.java
...eobject/util/ProjectSupport.java
...bject/src/databaseobject/wizards
...ct/wizards/NewProjectWizard.java
.../examples/DatabaseObject/src/org
...s/DatabaseObject/src/org/feature
...abaseObject/src/org/feature/tree
...rg/feature/tree/FeatureTree.java
...org/feature/tree/TreeDialog.java
Project members,
sign in
to write a code review
Older revisions
All revisions of this file
File info
Size: 3273 bytes, 107 lines
View raw file
File properties
svn:mime-type
text/plain
Powered by
Google Project Hosting