1 package oic.simulator.serviceprovider.view.dialogs;
3 import java.util.Iterator;
6 import oic.simulator.serviceprovider.Activator;
8 import org.eclipse.jface.wizard.WizardPage;
9 import org.eclipse.swt.SWT;
10 import org.eclipse.swt.custom.CCombo;
11 import org.eclipse.swt.events.ModifyEvent;
12 import org.eclipse.swt.events.ModifyListener;
13 import org.eclipse.swt.events.SelectionAdapter;
14 import org.eclipse.swt.events.SelectionEvent;
15 import org.eclipse.swt.layout.GridData;
16 import org.eclipse.swt.layout.GridLayout;
17 import org.eclipse.swt.widgets.Button;
18 import org.eclipse.swt.widgets.Composite;
19 import org.eclipse.swt.widgets.Group;
20 import org.eclipse.swt.widgets.Text;
22 public class DeleteResourcePage extends WizardPage {
24 private Button allRbtn;
25 private Button byTypeRbtn;
26 private Button byUriRbtn;
28 private CCombo resourceTypeCmb;
29 private Text resourceUriTxt;
31 private DeleteCategory deleteCategory;
33 // It will hold either the resource type or resource uri
34 private String deleteCandidate;
36 protected DeleteResourcePage() {
37 super("Delete Resource");
41 public void createControl(Composite parent) {
42 System.out.println("delete wizard open");
43 setPageComplete(false);
44 setTitle("Delete Resource");
45 setMessage("Select the resource(s) to be deleted");
47 Composite compContent = new Composite(parent, SWT.NONE);
48 compContent.setLayout(new GridLayout(1, false));
49 GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
50 compContent.setLayoutData(gd);
52 Group group = new Group(compContent, SWT.NONE);
53 group.setText("Select Category");
54 GridLayout gridLayout = new GridLayout(2, false);
55 gridLayout.verticalSpacing = 15;
56 gridLayout.marginTop = 10;
57 gridLayout.marginLeft = 10;
58 group.setLayout(gridLayout);
59 gd = new GridData(SWT.FILL, SWT.FILL, true, true);
60 group.setLayoutData(gd);
62 allRbtn = new Button(group, SWT.RADIO);
63 allRbtn.setText("All resources");
65 gd.horizontalSpan = 2;
67 allRbtn.setLayoutData(gd);
69 byTypeRbtn = new Button(group, SWT.RADIO);
70 byTypeRbtn.setText("All (By resource type)");
73 byTypeRbtn.setLayoutData(gd);
75 resourceTypeCmb = new CCombo(group, SWT.READ_ONLY | SWT.BORDER);
78 resourceTypeCmb.setLayoutData(gd);
80 byUriRbtn = new Button(group, SWT.RADIO);
81 byUriRbtn.setText("By Resource URI");
84 byUriRbtn.setLayoutData(gd);
86 resourceUriTxt = new Text(group, SWT.BORDER);
89 resourceUriTxt.setLayoutData(gd);
91 // Setting the initial visibility of controls
92 allRbtn.setSelection(false);
93 byTypeRbtn.setSelection(false);
94 byUriRbtn.setSelection(false);
96 resourceTypeCmb.setEnabled(false);
97 resourceUriTxt.setEnabled(false);
99 deleteCategory = DeleteCategory.NONE;
105 setControl(compContent);
108 private void populateDataInUI() {
109 // Populate Resourcetype in Combo
110 populateResourceTypeCombo();
113 private void populateResourceTypeCombo() {
115 List<String> resourceTypeList;
116 resourceTypeList = Activator.getManager().getResourceTypeList();
117 if (null != resourceTypeList) {
118 Iterator<String> itr = resourceTypeList.iterator();
119 while (itr.hasNext()) {
120 resourceTypeCmb.add(itr.next());
124 // By default, select the first item in the combo
125 if (resourceTypeCmb.getItemCount() > 0) {
126 resourceTypeCmb.select(0);
127 deleteCandidate = resourceTypeCmb.getItem(resourceTypeCmb
128 .getSelectionIndex());
132 public void addUIListeners() {
133 allRbtn.addSelectionListener(new SelectionAdapter() {
135 public void widgetSelected(SelectionEvent e) {
136 // Update the visibility of controls
137 resourceTypeCmb.setEnabled(false);
138 resourceUriTxt.setEnabled(false);
140 deleteCategory = DeleteCategory.ALL;
141 deleteCandidate = null;
142 setPageComplete(isSelectionDone());
146 byTypeRbtn.addSelectionListener(new SelectionAdapter() {
148 public void widgetSelected(SelectionEvent e) {
149 // Update the visibility of controls
150 resourceTypeCmb.setEnabled(true);
151 resourceUriTxt.setEnabled(false);
153 deleteCategory = DeleteCategory.BY_TYPE;
154 setPageComplete(isSelectionDone());
158 byUriRbtn.addSelectionListener(new SelectionAdapter() {
160 public void widgetSelected(SelectionEvent e) {
161 // Update the visibility of controls
162 resourceUriTxt.setEnabled(true);
163 resourceTypeCmb.setEnabled(false);
165 deleteCategory = DeleteCategory.BY_URI;
166 setPageComplete(isSelectionDone());
170 resourceTypeCmb.addModifyListener(new ModifyListener() {
172 public void modifyText(ModifyEvent arg0) {
173 setPageComplete(isSelectionDone());
177 resourceUriTxt.addModifyListener(new ModifyListener() {
179 public void modifyText(ModifyEvent arg0) {
180 setPageComplete(isSelectionDone());
185 public boolean isSelectionDone() {
186 boolean done = false;
187 if (deleteCategory == DeleteCategory.ALL) {
189 } else if (deleteCategory == DeleteCategory.BY_TYPE) {
190 int selectedItemIndex = resourceTypeCmb.getSelectionIndex();
191 if (selectedItemIndex >= 0) {
192 deleteCandidate = resourceTypeCmb.getItem(selectedItemIndex);
193 if (null != deleteCandidate && deleteCandidate.length() > 0) {
197 } else if (deleteCategory == DeleteCategory.BY_URI) {
198 deleteCandidate = resourceUriTxt.getText();
199 if (null != deleteCandidate && deleteCandidate.length() > 0) {
206 public DeleteCategory getDeleteCategory() {
207 return deleteCategory;
210 public String getDeleteCandidate() {
211 return deleteCandidate;
214 public void setFocusToTextBox() {
215 resourceUriTxt.setFocus();