You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ma...@apache.org on 2010/07/12 19:40:22 UTC
svn commit: r963384 [2/2] - in /incubator/oodt/trunk/app/fmbrowser: ./
src/main/java/org/apache/oodt/cas/filemgr/browser/controller/
src/main/java/org/apache/oodt/cas/filemgr/browser/model/
src/main/java/org/apache/oodt/cas/filemgr/browser/system/ src/...
Modified: incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/panels/Row.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/panels/Row.java?rev=963384&r1=963383&r2=963384&view=diff
==============================================================================
--- incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/panels/Row.java (original)
+++ incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/panels/Row.java Mon Jul 12 17:40:21 2010
@@ -1,4 +1,4 @@
-/*
+/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
package org.apache.oodt.cas.filemgr.browser.view.panels;
import java.awt.Color;
@@ -23,61 +22,62 @@ import java.awt.Color;
import javax.swing.BoxLayout;
import javax.swing.JPanel;
-public class Row extends JPanel{
-
- private Cell cells[];
-
- public Row(int numCells){
- //create cells
- cells = new Cell[numCells];
- for(int i=0;i<numCells;i++){
- cells[i] = new Cell();
- cells[i].setText("");
- }
-
- //set background, etc.
- this.setBackground(Color.WHITE);
- this.setLayout(new BoxLayout(this,BoxLayout.LINE_AXIS));
-
- for(int i=0;i<numCells;i++){
- this.add(cells[i]);
- }
- }
-
- public void hideCol(int colNum){
- Cell c = (Cell)this.getComponent(colNum);
- c.setVisible(false);
- }
-
- public void unhideCol(int colNum){
- Cell c = (Cell)this.getComponent(colNum);
- c.setVisible(true);
- }
-
- public void setText(int colNum, String text){
- Cell c = (Cell)this.getComponent(colNum);
- c.setText(text);
- c.repaint();
- }
-
- public String getText(int colNum){
- Cell c = (Cell)this.getComponent(colNum);
- return c.getText();
- }
-
- public int getWidth(int colNum){
- Cell c = (Cell)this.getComponent(colNum);
- return c.getWidth();
- }
-
- public void changeWidth(int colNum, int newWidth){
- Cell c = (Cell)this.getComponent(colNum);
- int change = c.getWidth() - newWidth;
- c.setWidth(newWidth);
- for(int i=colNum+1;i<this.getComponentCount();i++){
- this.getComponent(i).setLocation(this.getComponent(i).getX()-change, this.getComponent(i).getY());
- }
- this.repaint();
- }
+public class Row extends JPanel {
+
+ private Cell cells[];
+
+ public Row(int numCells) {
+ // create cells
+ cells = new Cell[numCells];
+ for (int i = 0; i < numCells; i++) {
+ cells[i] = new Cell();
+ cells[i].setText("");
+ }
+
+ // set background, etc.
+ this.setBackground(Color.WHITE);
+ this.setLayout(new BoxLayout(this, BoxLayout.LINE_AXIS));
+
+ for (int i = 0; i < numCells; i++) {
+ this.add(cells[i]);
+ }
+ }
+
+ public void hideCol(int colNum) {
+ Cell c = (Cell) this.getComponent(colNum);
+ c.setVisible(false);
+ }
+
+ public void unhideCol(int colNum) {
+ Cell c = (Cell) this.getComponent(colNum);
+ c.setVisible(true);
+ }
+
+ public void setText(int colNum, String text) {
+ Cell c = (Cell) this.getComponent(colNum);
+ c.setText(text);
+ c.repaint();
+ }
+
+ public String getText(int colNum) {
+ Cell c = (Cell) this.getComponent(colNum);
+ return c.getText();
+ }
+
+ public int getWidth(int colNum) {
+ Cell c = (Cell) this.getComponent(colNum);
+ return c.getWidth();
+ }
+
+ public void changeWidth(int colNum, int newWidth) {
+ Cell c = (Cell) this.getComponent(colNum);
+ int change = c.getWidth() - newWidth;
+ c.setWidth(newWidth);
+ for (int i = colNum + 1; i < this.getComponentCount(); i++) {
+ this.getComponent(i).setLocation(this.getComponent(i).getX() - change,
+ this.getComponent(i).getY());
+ }
+ this.repaint();
+ }
}
Modified: incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/panels/TablePane.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/panels/TablePane.java?rev=963384&r1=963383&r2=963384&view=diff
==============================================================================
--- incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/panels/TablePane.java (original)
+++ incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/panels/TablePane.java Mon Jul 12 17:40:21 2010
@@ -1,4 +1,4 @@
-/*
+/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
Modified: incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/ConnectPrompt.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/ConnectPrompt.java?rev=963384&r1=963383&r2=963384&view=diff
==============================================================================
--- incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/ConnectPrompt.java (original)
+++ incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/ConnectPrompt.java Mon Jul 12 17:40:21 2010
@@ -1,4 +1,4 @@
-/*
+/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
package org.apache.oodt.cas.filemgr.browser.view.prompts;
import java.awt.Color;
@@ -35,83 +34,82 @@ import javax.swing.border.CompoundBorder
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
-public class ConnectPrompt extends JFrame implements ActionListener{
-
- private CASField topPanel;
- private ConnectButton bottomPanel;
-
- public ConnectPrompt(ActionListener listener){
- this.setName("New Connection");
- this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
- Dimension d = new Dimension(400,100);
- this.setMinimumSize(d);
- this.setMaximumSize(d);
- this.setPreferredSize(d);
-
- this.getContentPane().setLayout(new BoxLayout(this.getContentPane(),BoxLayout.Y_AXIS));
- this.getContentPane().setBackground(Color.WHITE);
-
-
- topPanel = new CASField(this);
- bottomPanel = new ConnectButton(listener);
- this.add(topPanel);
- this.add(bottomPanel);
- }
-
- public String getCASUrl(){
- return topPanel.casRef.getText();
- }
-
-
- private class CASField extends JPanel{
-
- protected JTextField casRef;
-
- protected CASField(ActionListener listener){
- this.setBackground(Color.WHITE);
- this.setLayout(new BoxLayout(this,BoxLayout.X_AXIS));
- Dimension d = new Dimension(400,30);
- this.setMaximumSize(d);
- this.setMinimumSize(d);
- this.setPreferredSize(d);
-
- EmptyBorder line1 = new EmptyBorder(5,10,5,5);
- this.setBorder(line1);
-
- this.add(new JLabel("CAS File Manager URL: "));
- casRef = new JTextField();
- casRef.addActionListener(listener);
- this.add(casRef);
- }
- }
-
- private class ConnectButton extends JPanel{
-
- protected JButton connect;
- protected JButton cancel;
-
- protected ConnectButton(ActionListener listener){
- this.setBackground(Color.WHITE);
- this.setLayout(new BoxLayout(this,BoxLayout.X_AXIS));
-
- EmptyBorder line1 = new EmptyBorder(5,20,5,5);
- this.setBorder(line1);
-
- this.add(new JLabel(" "));
- connect = new JButton("Connect");
- connect.setBackground(Color.WHITE);
- connect.addActionListener(listener);
- cancel = new JButton("Cancel");
- cancel.setBackground(Color.WHITE);
- cancel.addActionListener(listener);
- cancel.setName("ConnectCancel");
- this.add(cancel);
- this.add(connect);
- }
- }
-
- public void actionPerformed(ActionEvent arg0) {
- bottomPanel.connect.doClick();
- }
-
+public class ConnectPrompt extends JFrame implements ActionListener {
+
+ private CASField topPanel;
+ private ConnectButton bottomPanel;
+
+ public ConnectPrompt(ActionListener listener) {
+ this.setName("New Connection");
+ this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
+ Dimension d = new Dimension(400, 100);
+ this.setMinimumSize(d);
+ this.setMaximumSize(d);
+ this.setPreferredSize(d);
+
+ this.getContentPane().setLayout(
+ new BoxLayout(this.getContentPane(), BoxLayout.Y_AXIS));
+ this.getContentPane().setBackground(Color.WHITE);
+
+ topPanel = new CASField(this);
+ bottomPanel = new ConnectButton(listener);
+ this.add(topPanel);
+ this.add(bottomPanel);
+ }
+
+ public String getCASUrl() {
+ return topPanel.casRef.getText();
+ }
+
+ private class CASField extends JPanel {
+
+ protected JTextField casRef;
+
+ protected CASField(ActionListener listener) {
+ this.setBackground(Color.WHITE);
+ this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
+ Dimension d = new Dimension(400, 30);
+ this.setMaximumSize(d);
+ this.setMinimumSize(d);
+ this.setPreferredSize(d);
+
+ EmptyBorder line1 = new EmptyBorder(5, 10, 5, 5);
+ this.setBorder(line1);
+
+ this.add(new JLabel("CAS File Manager URL: "));
+ casRef = new JTextField();
+ casRef.addActionListener(listener);
+ this.add(casRef);
+ }
+ }
+
+ private class ConnectButton extends JPanel {
+
+ protected JButton connect;
+ protected JButton cancel;
+
+ protected ConnectButton(ActionListener listener) {
+ this.setBackground(Color.WHITE);
+ this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
+
+ EmptyBorder line1 = new EmptyBorder(5, 20, 5, 5);
+ this.setBorder(line1);
+
+ this.add(new JLabel(" "));
+ connect = new JButton("Connect");
+ connect.setBackground(Color.WHITE);
+ connect.addActionListener(listener);
+ cancel = new JButton("Cancel");
+ cancel.setBackground(Color.WHITE);
+ cancel.addActionListener(listener);
+ cancel.setName("ConnectCancel");
+ this.add(cancel);
+ this.add(connect);
+ }
+ }
+
+ public void actionPerformed(ActionEvent arg0) {
+ bottomPanel.connect.doClick();
+ }
+
}
Modified: incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/QueryBuilderPrompt.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/QueryBuilderPrompt.java?rev=963384&r1=963383&r2=963384&view=diff
==============================================================================
--- incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/QueryBuilderPrompt.java (original)
+++ incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/QueryBuilderPrompt.java Mon Jul 12 17:40:21 2010
@@ -1,4 +1,4 @@
-/*
+/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
package org.apache.oodt.cas.filemgr.browser.view.prompts;
import org.apache.oodt.cas.filemgr.structs.RangeQueryCriteria;
@@ -47,409 +46,408 @@ import javax.swing.border.LineBorder;
import org.apache.oodt.cas.filemgr.browser.controller.WindowListener;
import org.apache.oodt.cas.filemgr.browser.model.CasDB;
-public class QueryBuilderPrompt extends JFrame{
-
- protected CasDB database;
- protected WindowListener listener;
-
- protected TypePanel tPanel;
- protected QuerySelectionPanel qPanel;
- protected JScrollPane scrollPane;
- protected BuiltQueryPane builtPanel;
- protected SearchPanel sPanel;
-
- public QueryBuilderPrompt(CasDB db, WindowListener l){
-
- database = db;
- listener = l;
-
- this.setName("Query Builder");
- this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
- Dimension d = new Dimension(500,400);
- this.setMinimumSize(d);
- this.setMaximumSize(d);
- this.setPreferredSize(d);
-
- this.getContentPane().setLayout(new BoxLayout(this.getContentPane(),BoxLayout.Y_AXIS));
- this.getContentPane().setBackground(Color.WHITE);
-
- tPanel = new TypePanel(this);
- qPanel = new QuerySelectionPanel(this);
- sPanel = new SearchPanel(this);
- builtPanel = new BuiltQueryPane(this);
-
- scrollPane=new JScrollPane(qPanel);
- Dimension scrollDim = new Dimension(500,220);
- scrollPane.setMaximumSize(scrollDim);
- scrollPane.setMinimumSize(scrollDim);
- scrollPane.setPreferredSize(scrollDim);
-
- this.getContentPane().add(tPanel);
- this.getContentPane().add(scrollPane);
- this.getContentPane().add(builtPanel);
- this.getContentPane().add(sPanel);
- }
-
-
- public org.apache.oodt.cas.filemgr.structs.Query getQuery(){
- return qPanel.getCasQuery();
- }
-
- public String getQueryString(){
- return qPanel.getQuery();
- }
-
- public String getProductType(){
- return tPanel.getType();
- }
-
- private class QueryPanel extends JPanel{
-
- private JComboBox elements;
- private JComboBox ops;
- private JPanel placeholder;
- private boolean showOp;
-
- public QueryPanel(QueryBuilderPrompt prompt){
- Dimension d = new Dimension(460,35);
- this.setMaximumSize(d);
- this.setMinimumSize(d);
- this.setPreferredSize(d);
- this.setBackground(Color.WHITE);
- this.setLayout(new BoxLayout(this,BoxLayout.X_AXIS));
-
- showOp = false;
- ops = new JComboBox(new String[]{"AND","OR","NOT"});
- Dimension opsDim = new Dimension(75,25);
- ops.setMaximumSize(opsDim);
- ops.setMinimumSize(opsDim);
- ops.setPreferredSize(opsDim);
- ops.setBackground(Color.WHITE);
- ops.setVisible(false);
-
- placeholder = new JPanel();
- placeholder.setBackground(Color.WHITE);
- placeholder.setMaximumSize(opsDim);
- placeholder.setMinimumSize(opsDim);
- placeholder.setPreferredSize(opsDim);
-
- elements = new JComboBox(prompt.database.getAvailableElements(prompt.tPanel.getType()));
- elements.setBackground(Color.WHITE);
- Dimension dElem = new Dimension(150,25);
- elements.setMaximumSize(dElem);
- elements.setMinimumSize(dElem);
- elements.setPreferredSize(dElem);
-
- this.add(ops);
- this.add(placeholder);
- this.add(elements);
- }
-
- public void addOp(){
- showOp = true;
- ops.setVisible(true);
- placeholder.setVisible(false);
- }
-
- public String getElement(){
- return elements.getSelectedItem().toString();
- }
-
- public String getOp(){
- String op = "";
- if(showOp){
- op = ops.getSelectedItem().toString();
- }
- return op;
- }
- }
-
-
- private class TermQueryPanel extends QueryPanel{
-
- private JTextField text;
-
-
- public TermQueryPanel(QueryBuilderPrompt prompt){
- super(prompt);
-
- text = new JTextField();
- Dimension dText = new Dimension(150,25);
- text.setPreferredSize(dText);
- text.setMaximumSize(dText);
- text.setMinimumSize(dText);
- text.setBackground(Color.WHITE);
- text.addFocusListener(prompt.builtPanel);
- text.addActionListener(prompt.builtPanel);
-
- this.add(new JLabel(" Matches "));
- this.add(text);
- }
-
- public String getText(){
- return text.getText();
- }
-
- }
-
- private class RangeQueryPanel extends QueryPanel{
-
- private JTextField start;
- private JTextField stop;
-
- public RangeQueryPanel(QueryBuilderPrompt prompt){
- super(prompt);
-
- start = new JTextField();
- stop = new JTextField();
-
- Dimension dText = new Dimension(60,25);
- start.setMaximumSize(dText);
- start.setMinimumSize(dText);
- start.setPreferredSize(dText);
- start.addFocusListener(prompt.builtPanel);
- start.addActionListener(prompt.builtPanel);
-
- stop.setMaximumSize(dText);
- stop.setMinimumSize(dText);
- stop.setPreferredSize(dText);
- stop.addFocusListener(prompt.builtPanel);
- stop.addActionListener(prompt.builtPanel);
-
- this.add(new JLabel(" Between "));
- this.add(start);
- this.add(new JLabel(" And "));
- this.add(stop);
- }
-
- public String getStart(){
- return start.getText();
- }
-
- public String getStop(){
- return stop.getText();
- }
-
- }
-
-
-
- private class QuerySelectionPanel extends JPanel implements ActionListener{
-
- private JButton addTerm;
- private JButton addRange;
- private QueryBuilderPrompt prompt;
-
- public QuerySelectionPanel(QueryBuilderPrompt prompt){
- this.prompt = prompt;
- this.setBackground(Color.WHITE);
-
-
- EmptyBorder line1 = new EmptyBorder(2,2,2,2);
- LineBorder line2 = new LineBorder(Color.BLACK,1);
- CompoundBorder cp = new CompoundBorder(line1,line2);
- this.setBorder(cp);
- this.setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
-
- JPanel buttonPanel = new JPanel();
- Dimension buttonDim = new Dimension(460,30);
- buttonPanel.setMaximumSize(buttonDim);
- buttonPanel.setMinimumSize(buttonDim);
- buttonPanel.setPreferredSize(buttonDim);
- buttonPanel.setBackground(Color.WHITE);
- buttonPanel.setLayout(new BoxLayout(buttonPanel,BoxLayout.X_AXIS));
-
- addTerm = new JButton("Add Term Criteria");
- addTerm.setBackground(Color.WHITE);
- addTerm.addActionListener(this);
-
- addRange = new JButton("Add Range Criteria");
- addRange.setBackground(Color.WHITE);
- addRange.addActionListener(this);
-
- buttonPanel.add(addTerm);
- buttonPanel.add(addRange);
- this.add(buttonPanel);
- }
-
- public void actionPerformed(ActionEvent arg0) {
- if(arg0.getActionCommand().equals("Add Term Criteria")){
- TermQueryPanel tq = new TermQueryPanel(prompt);
- if(this.getComponentCount()>1) tq.addOp();
- int insertOrder = this.getComponentCount()-1;
- if(insertOrder<0) insertOrder = 0;
- this.add(tq,insertOrder);
- this.validate();
- prompt.scrollPane.validate();
- } else if(arg0.getActionCommand().equals("Add Range Criteria")){
- RangeQueryPanel rq = new RangeQueryPanel(prompt);
- if(this.getComponentCount()>1) rq.addOp();
- int insertOrder = this.getComponentCount()-1;
- if(insertOrder<0) insertOrder = 0;
- this.add(rq,insertOrder);
- this.validate();
- prompt.scrollPane.validate();
- }
- }
-
- public String getQuery(){
- String q = new String();
- for(int i=0;i<this.getComponentCount();i++){
- Component c = this.getComponent(i);
- if(c instanceof TermQueryPanel){
- q += ((TermQueryPanel)c).getOp()+ " ";
- q += ((TermQueryPanel)c).getElement() + ":";
- q += ((TermQueryPanel)c).getText()+" ";
- } else if(c instanceof RangeQueryPanel){
- q += ((RangeQueryPanel)c).getOp()+ " ";
- q += ((RangeQueryPanel)c).getElement() + ":[";
- q += ((RangeQueryPanel)c).getStart() + " TO ";
- q += ((RangeQueryPanel)c).getStop() + "] ";
- }
- }
-
- return q;
- }
-
- public org.apache.oodt.cas.filemgr.structs.Query getCasQuery(){
- org.apache.oodt.cas.filemgr.structs.Query q =
- new org.apache.oodt.cas.filemgr.structs.Query();
- for(int i=0;i<this.getComponentCount();i++){
- Component c = this.getComponent(i);
- String element;
- if(c instanceof TermQueryPanel){
- element = database.getElementID(((TermQueryPanel)c).getElement());
- String criteria = ((TermQueryPanel)c).getText();
- if(!element.equals("")&&!criteria.equals("")){
- TermQueryCriteria tc = new TermQueryCriteria();
- tc.setElementName(element);
- tc.setValue(criteria);
- q.addCriterion(tc);
- }
- } else if(c instanceof RangeQueryPanel){
- element = database.getElementID(((RangeQueryPanel)c).getElement());
- String startCriteria = ((RangeQueryPanel)c).getStart();
- String stopCriteria = ((RangeQueryPanel)c).getStop();
- if(!element.equals("")&&!startCriteria.equals("")&&!stopCriteria.equals("")){
- RangeQueryCriteria rt = new RangeQueryCriteria();
- rt.setElementName(element);
- rt.setStartValue(startCriteria);
- rt.setEndValue(stopCriteria);
- q.addCriterion(rt);
- }
- }
- }
-
- return q;
- }
-
- }
-
- private class SearchPanel extends JPanel{
- private JButton search;
-
- public SearchPanel(QueryBuilderPrompt prompt){
- Dimension d = new Dimension(500,40);
- this.setMaximumSize(d);
- this.setMinimumSize(d);
- this.setPreferredSize(d);
- EmptyBorder line1 = new EmptyBorder(2,2,2,2);
- LineBorder line2 = new LineBorder(Color.BLACK,1);
- CompoundBorder cp = new CompoundBorder(line1,line2);
- this.setBorder(cp);
- this.setLayout(new BorderLayout());
- this.setBackground(Color.WHITE);
-
- search = new JButton("Search");
- search.setName("AdvancedQuery");
- search.addActionListener(prompt.listener);
- search.setBackground(Color.WHITE);
-
- JPanel buttonPanel = new JPanel();
- buttonPanel.setBackground(Color.WHITE);
- buttonPanel.setLayout(new BoxLayout(buttonPanel,BoxLayout.X_AXIS));
- buttonPanel.add(search);
- this.add(buttonPanel, BorderLayout.EAST);
- }
-
-
- }
-
- private class TypePanel extends JPanel{
-
- private JComboBox types;
-
- public TypePanel(QueryBuilderPrompt prompt){
-
- Dimension d = new Dimension(500,40);
- this.setMaximumSize(d);
- this.setMinimumSize(d);
- this.setPreferredSize(d);
- EmptyBorder line1 = new EmptyBorder(2,2,2,2);
- LineBorder line2 = new LineBorder(Color.BLACK,1);
- CompoundBorder cp = new CompoundBorder(line1,line2);
- this.setBorder(cp);
-
-
-
- types = new JComboBox(database.getAvailableTypes());
- types.setBackground(Color.WHITE);
- Dimension tDim = new Dimension(200,30);
- types.setMaximumSize(tDim);
- types.setMinimumSize(tDim);
- types.setPreferredSize(tDim);
-
- this.setBackground(Color.WHITE);
- this.setLayout(new BoxLayout(this,BoxLayout.X_AXIS));
-
- JLabel label = new JLabel(" Product Type: ");
-
- this.add(label);
- this.add(types);
- }
-
- public String getType(){
- return types.getSelectedItem().toString();
- }
- }
-
- private class BuiltQueryPane extends JPanel implements FocusListener, ActionListener{
-
- private QueryBuilderPrompt p;
- private JTextArea field;
-
- public BuiltQueryPane(QueryBuilderPrompt prompt){
-
- Dimension d = new Dimension(500,75);
- this.setMaximumSize(d);
- this.setMinimumSize(d);
- this.setPreferredSize(d);
-
- EmptyBorder line1 = new EmptyBorder(2,2,2,2);
- LineBorder line2 = new LineBorder(Color.BLACK,1);
- CompoundBorder cp = new CompoundBorder(line1,line2);
- this.setBorder(cp);
- this.setLayout(new BorderLayout());
-
- field = new JTextArea();
- Font font = new Font("san-serif", Font.PLAIN, 10);
- field.setFont(font);
- field.setBackground(Color.WHITE);
- field.setLineWrap(true);
- field.setWrapStyleWord(true);
-
- this.add(field, BorderLayout.CENTER);
- }
-
- public void focusGained(FocusEvent arg0) {}
-
- public void focusLost(FocusEvent arg0) {
- field.setText(qPanel.getQuery());
- }
-
- public void actionPerformed(ActionEvent arg0) {
- field.setText(qPanel.getQuery());
- }
- }
-
+public class QueryBuilderPrompt extends JFrame {
+
+ protected CasDB database;
+ protected WindowListener listener;
+
+ protected TypePanel tPanel;
+ protected QuerySelectionPanel qPanel;
+ protected JScrollPane scrollPane;
+ protected BuiltQueryPane builtPanel;
+ protected SearchPanel sPanel;
+
+ public QueryBuilderPrompt(CasDB db, WindowListener l) {
+
+ database = db;
+ listener = l;
+
+ this.setName("Query Builder");
+ this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
+ Dimension d = new Dimension(500, 400);
+ this.setMinimumSize(d);
+ this.setMaximumSize(d);
+ this.setPreferredSize(d);
+
+ this.getContentPane().setLayout(
+ new BoxLayout(this.getContentPane(), BoxLayout.Y_AXIS));
+ this.getContentPane().setBackground(Color.WHITE);
+
+ tPanel = new TypePanel(this);
+ qPanel = new QuerySelectionPanel(this);
+ sPanel = new SearchPanel(this);
+ builtPanel = new BuiltQueryPane(this);
+
+ scrollPane = new JScrollPane(qPanel);
+ Dimension scrollDim = new Dimension(500, 220);
+ scrollPane.setMaximumSize(scrollDim);
+ scrollPane.setMinimumSize(scrollDim);
+ scrollPane.setPreferredSize(scrollDim);
+
+ this.getContentPane().add(tPanel);
+ this.getContentPane().add(scrollPane);
+ this.getContentPane().add(builtPanel);
+ this.getContentPane().add(sPanel);
+ }
+
+ public org.apache.oodt.cas.filemgr.structs.Query getQuery() {
+ return qPanel.getCasQuery();
+ }
+
+ public String getQueryString() {
+ return qPanel.getQuery();
+ }
+
+ public String getProductType() {
+ return tPanel.getType();
+ }
+
+ private class QueryPanel extends JPanel {
+
+ private JComboBox elements;
+ private JComboBox ops;
+ private JPanel placeholder;
+ private boolean showOp;
+
+ public QueryPanel(QueryBuilderPrompt prompt) {
+ Dimension d = new Dimension(460, 35);
+ this.setMaximumSize(d);
+ this.setMinimumSize(d);
+ this.setPreferredSize(d);
+ this.setBackground(Color.WHITE);
+ this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
+
+ showOp = false;
+ ops = new JComboBox(new String[] { "AND", "OR", "NOT" });
+ Dimension opsDim = new Dimension(75, 25);
+ ops.setMaximumSize(opsDim);
+ ops.setMinimumSize(opsDim);
+ ops.setPreferredSize(opsDim);
+ ops.setBackground(Color.WHITE);
+ ops.setVisible(false);
+
+ placeholder = new JPanel();
+ placeholder.setBackground(Color.WHITE);
+ placeholder.setMaximumSize(opsDim);
+ placeholder.setMinimumSize(opsDim);
+ placeholder.setPreferredSize(opsDim);
+
+ elements = new JComboBox(prompt.database
+ .getAvailableElements(prompt.tPanel.getType()));
+ elements.setBackground(Color.WHITE);
+ Dimension dElem = new Dimension(150, 25);
+ elements.setMaximumSize(dElem);
+ elements.setMinimumSize(dElem);
+ elements.setPreferredSize(dElem);
+
+ this.add(ops);
+ this.add(placeholder);
+ this.add(elements);
+ }
+
+ public void addOp() {
+ showOp = true;
+ ops.setVisible(true);
+ placeholder.setVisible(false);
+ }
+
+ public String getElement() {
+ return elements.getSelectedItem().toString();
+ }
+
+ public String getOp() {
+ String op = "";
+ if (showOp) {
+ op = ops.getSelectedItem().toString();
+ }
+ return op;
+ }
+ }
+
+ private class TermQueryPanel extends QueryPanel {
+
+ private JTextField text;
+
+ public TermQueryPanel(QueryBuilderPrompt prompt) {
+ super(prompt);
+
+ text = new JTextField();
+ Dimension dText = new Dimension(150, 25);
+ text.setPreferredSize(dText);
+ text.setMaximumSize(dText);
+ text.setMinimumSize(dText);
+ text.setBackground(Color.WHITE);
+ text.addFocusListener(prompt.builtPanel);
+ text.addActionListener(prompt.builtPanel);
+
+ this.add(new JLabel(" Matches "));
+ this.add(text);
+ }
+
+ public String getText() {
+ return text.getText();
+ }
+
+ }
+
+ private class RangeQueryPanel extends QueryPanel {
+
+ private JTextField start;
+ private JTextField stop;
+
+ public RangeQueryPanel(QueryBuilderPrompt prompt) {
+ super(prompt);
+
+ start = new JTextField();
+ stop = new JTextField();
+
+ Dimension dText = new Dimension(60, 25);
+ start.setMaximumSize(dText);
+ start.setMinimumSize(dText);
+ start.setPreferredSize(dText);
+ start.addFocusListener(prompt.builtPanel);
+ start.addActionListener(prompt.builtPanel);
+
+ stop.setMaximumSize(dText);
+ stop.setMinimumSize(dText);
+ stop.setPreferredSize(dText);
+ stop.addFocusListener(prompt.builtPanel);
+ stop.addActionListener(prompt.builtPanel);
+
+ this.add(new JLabel(" Between "));
+ this.add(start);
+ this.add(new JLabel(" And "));
+ this.add(stop);
+ }
+
+ public String getStart() {
+ return start.getText();
+ }
+
+ public String getStop() {
+ return stop.getText();
+ }
+
+ }
+
+ private class QuerySelectionPanel extends JPanel implements ActionListener {
+
+ private JButton addTerm;
+ private JButton addRange;
+ private QueryBuilderPrompt prompt;
+
+ public QuerySelectionPanel(QueryBuilderPrompt prompt) {
+ this.prompt = prompt;
+ this.setBackground(Color.WHITE);
+
+ EmptyBorder line1 = new EmptyBorder(2, 2, 2, 2);
+ LineBorder line2 = new LineBorder(Color.BLACK, 1);
+ CompoundBorder cp = new CompoundBorder(line1, line2);
+ this.setBorder(cp);
+ this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
+
+ JPanel buttonPanel = new JPanel();
+ Dimension buttonDim = new Dimension(460, 30);
+ buttonPanel.setMaximumSize(buttonDim);
+ buttonPanel.setMinimumSize(buttonDim);
+ buttonPanel.setPreferredSize(buttonDim);
+ buttonPanel.setBackground(Color.WHITE);
+ buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS));
+
+ addTerm = new JButton("Add Term Criteria");
+ addTerm.setBackground(Color.WHITE);
+ addTerm.addActionListener(this);
+
+ addRange = new JButton("Add Range Criteria");
+ addRange.setBackground(Color.WHITE);
+ addRange.addActionListener(this);
+
+ buttonPanel.add(addTerm);
+ buttonPanel.add(addRange);
+ this.add(buttonPanel);
+ }
+
+ public void actionPerformed(ActionEvent arg0) {
+ if (arg0.getActionCommand().equals("Add Term Criteria")) {
+ TermQueryPanel tq = new TermQueryPanel(prompt);
+ if (this.getComponentCount() > 1)
+ tq.addOp();
+ int insertOrder = this.getComponentCount() - 1;
+ if (insertOrder < 0)
+ insertOrder = 0;
+ this.add(tq, insertOrder);
+ this.validate();
+ prompt.scrollPane.validate();
+ } else if (arg0.getActionCommand().equals("Add Range Criteria")) {
+ RangeQueryPanel rq = new RangeQueryPanel(prompt);
+ if (this.getComponentCount() > 1)
+ rq.addOp();
+ int insertOrder = this.getComponentCount() - 1;
+ if (insertOrder < 0)
+ insertOrder = 0;
+ this.add(rq, insertOrder);
+ this.validate();
+ prompt.scrollPane.validate();
+ }
+ }
+
+ public String getQuery() {
+ String q = new String();
+ for (int i = 0; i < this.getComponentCount(); i++) {
+ Component c = this.getComponent(i);
+ if (c instanceof TermQueryPanel) {
+ q += ((TermQueryPanel) c).getOp() + " ";
+ q += ((TermQueryPanel) c).getElement() + ":";
+ q += ((TermQueryPanel) c).getText() + " ";
+ } else if (c instanceof RangeQueryPanel) {
+ q += ((RangeQueryPanel) c).getOp() + " ";
+ q += ((RangeQueryPanel) c).getElement() + ":[";
+ q += ((RangeQueryPanel) c).getStart() + " TO ";
+ q += ((RangeQueryPanel) c).getStop() + "] ";
+ }
+ }
+
+ return q;
+ }
+
+ public org.apache.oodt.cas.filemgr.structs.Query getCasQuery() {
+ org.apache.oodt.cas.filemgr.structs.Query q = new org.apache.oodt.cas.filemgr.structs.Query();
+ for (int i = 0; i < this.getComponentCount(); i++) {
+ Component c = this.getComponent(i);
+ String element;
+ if (c instanceof TermQueryPanel) {
+ element = database.getElementID(((TermQueryPanel) c).getElement());
+ String criteria = ((TermQueryPanel) c).getText();
+ if (!element.equals("") && !criteria.equals("")) {
+ TermQueryCriteria tc = new TermQueryCriteria();
+ tc.setElementName(element);
+ tc.setValue(criteria);
+ q.addCriterion(tc);
+ }
+ } else if (c instanceof RangeQueryPanel) {
+ element = database.getElementID(((RangeQueryPanel) c).getElement());
+ String startCriteria = ((RangeQueryPanel) c).getStart();
+ String stopCriteria = ((RangeQueryPanel) c).getStop();
+ if (!element.equals("") && !startCriteria.equals("")
+ && !stopCriteria.equals("")) {
+ RangeQueryCriteria rt = new RangeQueryCriteria();
+ rt.setElementName(element);
+ rt.setStartValue(startCriteria);
+ rt.setEndValue(stopCriteria);
+ q.addCriterion(rt);
+ }
+ }
+ }
+
+ return q;
+ }
+
+ }
+
+ private class SearchPanel extends JPanel {
+ private JButton search;
+
+ public SearchPanel(QueryBuilderPrompt prompt) {
+ Dimension d = new Dimension(500, 40);
+ this.setMaximumSize(d);
+ this.setMinimumSize(d);
+ this.setPreferredSize(d);
+ EmptyBorder line1 = new EmptyBorder(2, 2, 2, 2);
+ LineBorder line2 = new LineBorder(Color.BLACK, 1);
+ CompoundBorder cp = new CompoundBorder(line1, line2);
+ this.setBorder(cp);
+ this.setLayout(new BorderLayout());
+ this.setBackground(Color.WHITE);
+
+ search = new JButton("Search");
+ search.setName("AdvancedQuery");
+ search.addActionListener(prompt.listener);
+ search.setBackground(Color.WHITE);
+
+ JPanel buttonPanel = new JPanel();
+ buttonPanel.setBackground(Color.WHITE);
+ buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS));
+ buttonPanel.add(search);
+ this.add(buttonPanel, BorderLayout.EAST);
+ }
+
+ }
+
+ private class TypePanel extends JPanel {
+
+ private JComboBox types;
+
+ public TypePanel(QueryBuilderPrompt prompt) {
+
+ Dimension d = new Dimension(500, 40);
+ this.setMaximumSize(d);
+ this.setMinimumSize(d);
+ this.setPreferredSize(d);
+ EmptyBorder line1 = new EmptyBorder(2, 2, 2, 2);
+ LineBorder line2 = new LineBorder(Color.BLACK, 1);
+ CompoundBorder cp = new CompoundBorder(line1, line2);
+ this.setBorder(cp);
+
+ types = new JComboBox(database.getAvailableTypes());
+ types.setBackground(Color.WHITE);
+ Dimension tDim = new Dimension(200, 30);
+ types.setMaximumSize(tDim);
+ types.setMinimumSize(tDim);
+ types.setPreferredSize(tDim);
+
+ this.setBackground(Color.WHITE);
+ this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
+
+ JLabel label = new JLabel(" Product Type: ");
+
+ this.add(label);
+ this.add(types);
+ }
+
+ public String getType() {
+ return types.getSelectedItem().toString();
+ }
+ }
+
+ private class BuiltQueryPane extends JPanel implements FocusListener,
+ ActionListener {
+
+ private QueryBuilderPrompt p;
+ private JTextArea field;
+
+ public BuiltQueryPane(QueryBuilderPrompt prompt) {
+
+ Dimension d = new Dimension(500, 75);
+ this.setMaximumSize(d);
+ this.setMinimumSize(d);
+ this.setPreferredSize(d);
+
+ EmptyBorder line1 = new EmptyBorder(2, 2, 2, 2);
+ LineBorder line2 = new LineBorder(Color.BLACK, 1);
+ CompoundBorder cp = new CompoundBorder(line1, line2);
+ this.setBorder(cp);
+ this.setLayout(new BorderLayout());
+
+ field = new JTextArea();
+ Font font = new Font("san-serif", Font.PLAIN, 10);
+ field.setFont(font);
+ field.setBackground(Color.WHITE);
+ field.setLineWrap(true);
+ field.setWrapStyleWord(true);
+
+ this.add(field, BorderLayout.CENTER);
+ }
+
+ public void focusGained(FocusEvent arg0) {
+ }
+
+ public void focusLost(FocusEvent arg0) {
+ field.setText(qPanel.getQuery());
+ }
+
+ public void actionPerformed(ActionEvent arg0) {
+ field.setText(qPanel.getQuery());
+ }
+ }
+
}
Modified: incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/SortPrompt.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/SortPrompt.java?rev=963384&r1=963383&r2=963384&view=diff
==============================================================================
--- incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/SortPrompt.java (original)
+++ incubator/oodt/trunk/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/view/prompts/SortPrompt.java Mon Jul 12 17:40:21 2010
@@ -1,4 +1,4 @@
-/*
+/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
package org.apache.oodt.cas.filemgr.browser.view.prompts;
import java.awt.Color;
@@ -34,121 +33,121 @@ import javax.swing.border.EmptyBorder;
import org.apache.oodt.cas.filemgr.browser.view.MainWindow;
-public class SortPrompt extends JFrame{
-
- private ColumnPanel cPanel;
- private ConnectButton cButtons;
-
- public SortPrompt(MainWindow window, ActionListener listener){
- this.setName("Sort");
- this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
- Dimension d = new Dimension(350,150);
- this.setMinimumSize(d);
- this.setMaximumSize(d);
- this.setPreferredSize(d);
-
- this.getContentPane().setLayout(new BoxLayout(this.getContentPane(),BoxLayout.Y_AXIS));
- this.getContentPane().setBackground(Color.WHITE);
-
- cPanel = new ColumnPanel(window);
- cButtons = new ConnectButton(listener);
- this.add(cPanel);
- this.add(cButtons);
- }
-
- public int getSortIndex(){
- return cPanel.getSortIndex();
- }
-
- public String getSortType(){
- return cPanel.getSortType();
- }
-
- protected class ColumnPanel extends JPanel{
-
- protected JComboBox ColChoices;
- protected JComboBox SortChoices;
- protected JButton cancel;
- protected JButton ok;
-
- public ColumnPanel(MainWindow window){
- ColChoices = new JComboBox(window.getColHeaders());
- ColChoices.setSelectedIndex(0);
- ColChoices.setBackground(Color.WHITE);
- String[] sortPatterns = {"Accending","Descending"};
- SortChoices = new JComboBox(sortPatterns);
- SortChoices.setSelectedIndex(0);
- SortChoices.setBackground(Color.WHITE);
-
- Dimension choicesDim = new Dimension(200,20);
- ColChoices.setMinimumSize(choicesDim);
- ColChoices.setMaximumSize(choicesDim);
- ColChoices.setPreferredSize(choicesDim);
- SortChoices.setMinimumSize(choicesDim);
- SortChoices.setMaximumSize(choicesDim);
- SortChoices.setPreferredSize(choicesDim);
-
- this.setBackground(Color.WHITE);
- this.setLayout(new GridBagLayout());
- GridBagConstraints c = new GridBagConstraints();
-
-
- EmptyBorder line1 = new EmptyBorder(5,10,5,5);
- this.setBorder(line1);
-
- c.gridx = 0;
- c.gridy = 0;
- c.ipadx = 10;
- c.ipady = 10;
- this.add(new JLabel("Sort By: "), c);
-
- c.gridx = 1;
- c.gridy = 0;
- this.add(ColChoices, c);
-
- c.gridx = 0;
- c.gridy = 1;
- this.add(new JLabel("In Order: "), c);
-
- c.gridx = 1;
- c.gridy = 1;
- this.add(SortChoices, c);
-
- }
-
- public int getSortIndex(){
- return ColChoices.getSelectedIndex();
- }
-
- public String getSortType(){
- return SortChoices.getSelectedItem().toString();
- }
-
- }
-
- private class ConnectButton extends JPanel{
-
- protected JButton connect;
- protected JButton cancel;
-
- protected ConnectButton(ActionListener listener){
- this.setBackground(Color.WHITE);
- this.setLayout(new BoxLayout(this,BoxLayout.X_AXIS));
-
- EmptyBorder line1 = new EmptyBorder(5,20,5,5);
- this.setBorder(line1);
-
- this.add(new JLabel(" "));
- connect = new JButton("OK");
- connect.setBackground(Color.WHITE);
- connect.addActionListener(listener);
- cancel = new JButton("Cancel");
- cancel.setBackground(Color.WHITE);
- cancel.addActionListener(listener);
- cancel.setName("SortCancel");
- this.add(cancel);
- this.add(connect);
- }
- }
-
+public class SortPrompt extends JFrame {
+
+ private ColumnPanel cPanel;
+ private ConnectButton cButtons;
+
+ public SortPrompt(MainWindow window, ActionListener listener) {
+ this.setName("Sort");
+ this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
+ Dimension d = new Dimension(350, 150);
+ this.setMinimumSize(d);
+ this.setMaximumSize(d);
+ this.setPreferredSize(d);
+
+ this.getContentPane().setLayout(
+ new BoxLayout(this.getContentPane(), BoxLayout.Y_AXIS));
+ this.getContentPane().setBackground(Color.WHITE);
+
+ cPanel = new ColumnPanel(window);
+ cButtons = new ConnectButton(listener);
+ this.add(cPanel);
+ this.add(cButtons);
+ }
+
+ public int getSortIndex() {
+ return cPanel.getSortIndex();
+ }
+
+ public String getSortType() {
+ return cPanel.getSortType();
+ }
+
+ protected class ColumnPanel extends JPanel {
+
+ protected JComboBox ColChoices;
+ protected JComboBox SortChoices;
+ protected JButton cancel;
+ protected JButton ok;
+
+ public ColumnPanel(MainWindow window) {
+ ColChoices = new JComboBox(window.getColHeaders());
+ ColChoices.setSelectedIndex(0);
+ ColChoices.setBackground(Color.WHITE);
+ String[] sortPatterns = { "Accending", "Descending" };
+ SortChoices = new JComboBox(sortPatterns);
+ SortChoices.setSelectedIndex(0);
+ SortChoices.setBackground(Color.WHITE);
+
+ Dimension choicesDim = new Dimension(200, 20);
+ ColChoices.setMinimumSize(choicesDim);
+ ColChoices.setMaximumSize(choicesDim);
+ ColChoices.setPreferredSize(choicesDim);
+ SortChoices.setMinimumSize(choicesDim);
+ SortChoices.setMaximumSize(choicesDim);
+ SortChoices.setPreferredSize(choicesDim);
+
+ this.setBackground(Color.WHITE);
+ this.setLayout(new GridBagLayout());
+ GridBagConstraints c = new GridBagConstraints();
+
+ EmptyBorder line1 = new EmptyBorder(5, 10, 5, 5);
+ this.setBorder(line1);
+
+ c.gridx = 0;
+ c.gridy = 0;
+ c.ipadx = 10;
+ c.ipady = 10;
+ this.add(new JLabel("Sort By: "), c);
+
+ c.gridx = 1;
+ c.gridy = 0;
+ this.add(ColChoices, c);
+
+ c.gridx = 0;
+ c.gridy = 1;
+ this.add(new JLabel("In Order: "), c);
+
+ c.gridx = 1;
+ c.gridy = 1;
+ this.add(SortChoices, c);
+
+ }
+
+ public int getSortIndex() {
+ return ColChoices.getSelectedIndex();
+ }
+
+ public String getSortType() {
+ return SortChoices.getSelectedItem().toString();
+ }
+
+ }
+
+ private class ConnectButton extends JPanel {
+
+ protected JButton connect;
+ protected JButton cancel;
+
+ protected ConnectButton(ActionListener listener) {
+ this.setBackground(Color.WHITE);
+ this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
+
+ EmptyBorder line1 = new EmptyBorder(5, 20, 5, 5);
+ this.setBorder(line1);
+
+ this.add(new JLabel(" "));
+ connect = new JButton("OK");
+ connect.setBackground(Color.WHITE);
+ connect.addActionListener(listener);
+ cancel = new JButton("Cancel");
+ cancel.setBackground(Color.WHITE);
+ cancel.addActionListener(listener);
+ cancel.setName("SortCancel");
+ this.add(cancel);
+ this.add(connect);
+ }
+ }
+
}