private class KeyTextHandler extends BaseKeyTextHandler { public void keyTyped(KeyEvent e) { char c = e.getKeyChar(); // as a coding convenience, create a reference to the text component // that is typecast to JTextComponent. this is not essential, as we // could typecast every reference, but this makes the code cleaner JTextComponent _theComponent = (JTextComponent)DataTypeBinary.this._textComponent; String text = _theComponent.getText(); // tabs and newlines get put into the text before this check, // so remove them // This only applies to Popup editing since these chars are // not passed to this level by the in-cell editor. if (c == KeyEvent.VK_TAB || c == KeyEvent.VK_ENTER) { // remove all instances of the offending char int index = text.indexOf(c); if (index != -1) { if (index == text.length() -1) { text = text.substring(0, text.length()-1); // truncate string } else { text = text.substring(0, index) + text.substring(index+1); } ((IRestorableTextComponent)_theComponent).updateText( text); _beepHelper.beep(_theComponent); } e.consume(); } // handle cases of null // The processing is different when nulls are allowed and when they are not. // if ( DataTypeBinary.this._isNullable) { // user enters something when field is null if (text.equals("<null>")) { if ((c==KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE)) { // delete when null => original value DataTypeBinary.this._textComponent.restoreText(); e.consume(); } else { // non-delete when null => clear field and add text DataTypeBinary.this._textComponent.updateText(""); // fall through to normal processing of this key stroke } } else { // check for user deletes last thing in field if ((c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE)) { if (text.length() <= 1 ) { // about to delete last thing in field, so replace with null DataTypeBinary.this._textComponent.updateText("<null>"); e.consume(); } } } } else { // field is not nullable // handleNotNullableField(text, c, e, _textComponent)
private class KeyTextHandler extends BaseKeyTextHandler { public void keyTyped(KeyEvent e) { char c = e.getKeyChar(); // as a coding convenience, create a reference to the text component // that is typecast to JTextComponent. this is not essential, as we // could typecast every reference, but this makes the code cleaner JTextComponent _theComponent = (JTextComponent)DataTypeDate.this._textComponent; String text = _theComponent.getText(); // tabs and newlines get put into the text before this check, // so remove them // This only applies to Popup editing since these chars are // not passed to this level by the in-cell editor. if (c == KeyEvent.VK_TAB || c == KeyEvent.VK_ENTER) { // remove all instances of the offending char int index = text.indexOf(c); if (index != -1) { if (index == text.length() -1) { text = text.substring(0, text.length()-1); // truncate string } else { text = text.substring(0, index) + text.substring(index+1); } ((IRestorableTextComponent)_theComponent).updateText( text); _beepHelper.beep(_theComponent); } e.consume(); } // handle cases of null // The processing is different when nulls are allowed and when they are not. // if ( DataTypeDate.this._isNullable) { // user enters something when field is null if (text.equals("<null>")) { if ((c==KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE)) { // delete when null => original value DataTypeDate.this._textComponent.restoreText(); e.consume(); } else { // non-delete when null => clear field and add text DataTypeDate.this._textComponent.updateText(""); // fall through to normal processing of this key stroke } } else { // check for user deletes last thing in field if ((c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE)) { if (text.length() <= 1 ) { // about to delete last thing in field, so replace with null DataTypeDate.this._textComponent.updateText("<null>"); e.consume(); } } } } else { // field is not nullable // handleNotNullableField(text, c, e, _textComponent)
Clone fragments detected by clone detection tool
File path: /sql12/fw/src/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/DataTypeBinary.java File path: /sql12/fw/src/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/DataTypeDate.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
private class KeyTextHandler extends BaseKeyTextHandler {
1
private class KeyTextHandler extends BaseKeyTextHandler {
2
	 	public void keyTyped(KeyEvent e) {
2
		 public void keyTyped(KeyEvent e) {
3
				char c = e.getKeyChar();
3
				char c = e.getKeyChar();
4
				
5
				// as a coding convenience, create a reference to the text component
4
				// as a coding convenience, create a reference to the text component
6
				// that is typecast to JTextComponent.  this is not essential, as we
5
				// that is typecast to JTextComponent.  this is not essential, as we
7
				// could typecast every reference, but this makes the code cleaner
6
				// could typecast every reference, but this makes the code cleaner
8
				JTextComponent _theComponent = (JTextComponent)DataTypeBinary.this._textComponent;
7
				JTextComponent _theComponent = (JTextComponent)DataTypeDate.this._textComponent;
9
				String text = _theComponent.getText();
8
				String text = _theComponent.getText();
10
												
11
				// tabs and newlines get put into the text before this check,
9
				// tabs and newlines get put into the text before this check,
12
				// so remove them
10
				// so remove them
13
				// This only applies to Popup editing since these chars are
11
				// This only applies to Popup editing since these chars are
14
				// not passed to this level by the in-cell editor.
12
				// not passed to this level by the in-cell editor.
15
				if (c == KeyEvent.VK_TAB || c == KeyEvent.VK_ENTER) {
13
				if (c == KeyEvent.VK_TAB || c == KeyEvent.VK_ENTER) {
16
					// remove all instances of the offending char
14
					// remove all instances of the offending char
17
					int index = text.indexOf(c);
15
					int index = text.indexOf(c);
18
					if (index != -1) {
16
					if (index != -1) {
19
						if (index == text.length() -1) {
17
						if (index == text.length() -1) {
20
							text = text.substring(0, text.length()-1);	// truncate string
18
							text = text.substring(0, text.length()-1);	// truncate string
21
						}
19
						}
22
						else {
20
						else {
23
							text = text.substring(0, index) + text.substring(index+1);
21
							text = text.substring(0, index) + text.substring(index+1);
24
						}
22
						}
25
						((IRestorableTextComponent)_theComponent).updateText( text);
23
						((IRestorableTextComponent)_theComponent).updateText( text);
26
						_beepHelper.beep(_theComponent);
24
						_beepHelper.beep(_theComponent);
27
					}
25
					}
28
					e.consume();
26
					e.consume();
29
				}
27
				}
30
				// handle cases of null
28
				// handle cases of null
31
				// The processing is different when nulls are allowed and when they are not.
29
				// The processing is different when nulls are allowed and when they are not.
32
				//
30
				//
33
				if ( DataTypeBinary.this._isNullable) {
31
				if ( DataTypeDate.this._isNullable) {
34
					// user enters something when field is null
32
					// user enters something when field is null
35
					if (text.equals("<null>")) {
33
					if (text.equals("<null>")) {
36
						if ((c==KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE)) {
34
						if ((c==KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE)) {
37
							// delete when null => original value
35
							// delete when null => original value
38
							DataTypeBinary.this._textComponent.restoreText();
36
							DataTypeDate.this._textComponent.restoreText();
39
							e.consume();
37
							e.consume();
40
						}
38
						}
41
						else {
39
						else {
42
							// non-delete when null => clear field and add text
40
							// non-delete when null => clear field and add text
43
							DataTypeBinary.this._textComponent.updateText("");
41
							DataTypeDate.this._textComponent.updateText("");
44
							// fall through to normal processing of this key stroke
42
							// fall through to normal processing of this key stroke
45
						}
43
						}
46
					}
44
					}
47
					else {
45
					else {
48
						// check for user deletes last thing in field
46
						// check for user deletes last thing in field
49
						if ((c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE)) {
47
						if ((c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE)) {
50
							if (text.length() <= 1 ) {
48
							if (text.length() <= 1 ) {
51
								// about to delete last thing in field, so replace with null
49
								// about to delete last thing in field, so replace with null
52
								DataTypeBinary.this._textComponent.updateText("<null>");
50
								DataTypeDate.this._textComponent.updateText("<null>");
53
								e.consume();
51
								e.consume();
54
							}
52
							}
55
						}
53
						}
56
					}
54
					}
57
				}
55
				}
58
				else {
56
				else {
59
                    // field is not nullable
57
						  // field is not nullable
60
                    //
61
                  
58
						  //
62
  handleNotNullableField(text, c, e, _textComponent)
59
						  handleNotNullableField(text, c, e, _textComponent)
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