You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by hi...@apache.org on 2007/08/01 12:02:01 UTC
svn commit: r561748 [2/2] - in /harmony/enhanced/classlib/trunk:
depends/build/platform/
modules/awt/src/main/java/unix/org/apache/harmony/awt/gl/linux/
modules/awt/src/main/java/unix/org/apache/harmony/awt/nativebridge/linux/
modules/awt/src/main/java...
Modified: harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/KeyStore3Test.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/KeyStore3Test.java?view=diff&rev=561748&r1=561747&r2=561748
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/KeyStore3Test.java (original)
+++ harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/KeyStore3Test.java Wed Aug 1 03:01:54 2007
@@ -1,243 +1,243 @@
-/*
- * 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.
- * The ASF licenses this file to You 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 org.apache.harmony.security.tests.java.security;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.security.Key;
-import java.security.KeyPair;
-import java.security.KeyPairGenerator;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.KeyStoreSpi;
-import java.security.NoSuchAlgorithmException;
-import java.security.Provider;
-import java.security.UnrecoverableKeyException;
-import java.security.cert.Certificate;
-import java.security.cert.CertificateException;
-import java.security.cert.CertificateFactory;
-import java.util.Date;
-import java.util.Enumeration;
-
-import junit.framework.TestCase;
-
-public class KeyStore3Test extends TestCase {
-
- private KeyStore mockKeyStore;
-
- private KeyPair keyPair;
-
- private Certificate certificate;
-
- public KeyStore3Test() throws Exception {
- KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("DSA");
- keyPair = keyPairGenerator.generateKeyPair();
-
- String certificateData = "-----BEGIN CERTIFICATE-----\n"
- + "MIICZTCCAdICBQL3AAC2MA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVTMSAw\n"
- + "HgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5jLjEuMCwGA1UECxMlU2VjdXJl\n"
- + "IFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NzAyMjAwMDAwMDBa\n"
- + "Fw05ODAyMjAyMzU5NTlaMIGWMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv\n"
- + "cm5pYTESMBAGA1UEBxMJUGFsbyBBbHRvMR8wHQYDVQQKExZTdW4gTWljcm9zeXN0\n"
- + "ZW1zLCBJbmMuMSEwHwYDVQQLExhUZXN0IGFuZCBFdmFsdWF0aW9uIE9ubHkxGjAY\n"
- + "BgNVBAMTEWFyZ29uLmVuZy5zdW4uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB\n"
- + "iQKBgQCofmdY+PiUWN01FOzEewf+GaG+lFf132UpzATmYJkA4AEA/juW7jSi+LJk\n"
- + "wJKi5GO4RyZoyimAL/5yIWDV6l1KlvxyKslr0REhMBaD/3Z3EsLTTEf5gVrQS6sT\n"
- + "WMoSZAyzB39kFfsB6oUXNtV8+UKKxSxKbxvhQn267PeCz5VX2QIDAQABMA0GCSqG\n"
- + "SIb3DQEBAgUAA34AXl3at6luiV/7I9MN5CXYoPJYI8Bcdc1hBagJvTMcmlqL2uOZ\n"
- + "H9T5hNMEL9Tk6aI7yZPXcw/xI2K6pOR/FrMp0UwJmdxX7ljV6ZtUZf7pY492UqwC\n"
- + "1777XQ9UEZyrKJvF5ntleeO0ayBqLGVKCWzWZX9YsXCpv47FNLZbupE=\n"
- + "-----END CERTIFICATE-----\n";
-
- ByteArrayInputStream certArray = new ByteArrayInputStream(
- certificateData.getBytes());
- CertificateFactory cf = CertificateFactory.getInstance("X.509");
- certificate = cf.generateCertificate(certArray);
- }
-
- public void test_load() throws Exception {
- // No exception should be thrown out.
- mockKeyStore.load(null);
- }
-
- public void test_store() throws Exception {
- try {
- mockKeyStore.store(null);
- fail("should throw KeyStoreException: not initialized");
- } catch (KeyStoreException e) {
- // expected
- }
-
- // No exception should be thrown out.
- mockKeyStore.load(null, null);
- mockKeyStore.store(null);
- }
-
- public void test_setKeyEntry_null() throws Exception {
- mockKeyStore.load(null, null);
- // No exception should be thrown out.
- mockKeyStore.setKeyEntry(null, null, null, null);
- }
-
- public void test_setKeyEntry_key_is_null() throws Exception {
- mockKeyStore.load(null, null);
- // No exception should be thrown out.
- mockKeyStore.setKeyEntry("Alias", null, null, new Certificate[]{certificate});
- }
-
- public void test_setKeyEntry_key_is_private() throws Exception {
- mockKeyStore.load(null, null);
- Key key = keyPair.getPrivate();
- try {
- mockKeyStore.setKeyEntry("Alias", key, null, null);
- fail("should throw IllegalArgumentException");
- } catch (IllegalArgumentException e) {
- // expected
- }
-
- try {
- mockKeyStore.setKeyEntry("Alias", key, null,
- new Certificate[0]);
- fail("should throw IllegalArgumentException");
- } catch (IllegalArgumentException e) {
- // expected
- }
-
- mockKeyStore.setKeyEntry("Alias", key, null, new Certificate[]{certificate});
- }
-
- public void test_setKeyEntry_key_is_public() throws Exception
- {
- mockKeyStore.load(null, null);
- Key key = keyPair.getPublic();
- mockKeyStore.setKeyEntry("Alias1", key, null, null);
- mockKeyStore.setKeyEntry("Alias2", key, null,
- new Certificate[0]);
- mockKeyStore.setKeyEntry("Alias3", key, null, new Certificate[]{certificate});
- }
-
- public void test_setCertificateEntry_null() throws Exception {
- mockKeyStore.load(null, null);
-
- mockKeyStore.setCertificateEntry(null, null);
-
- mockKeyStore.setCertificateEntry(null, certificate);
-
- mockKeyStore.setCertificateEntry("Alias", null);
- }
-
- public void test_store_null() throws Exception {
- mockKeyStore.load(null, null);
- mockKeyStore.store(null, null);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- mockKeyStore = new MyKeyStore(new MyKeyStoreSpi(), null, "MyKeyStore");
- }
-
- private static class MyKeyStore extends KeyStore {
-
- public MyKeyStore(KeyStoreSpi keyStoreSpi, Provider provider,
- String type) {
- super(keyStoreSpi, provider, type);
- }
- }
-
- private static class MyKeyStoreSpi extends KeyStoreSpi {
-
- public Enumeration<String> engineAliases() {
- return null;
- }
-
- public boolean engineContainsAlias(String arg0) {
- return false;
- }
-
- public void engineDeleteEntry(String arg0) throws KeyStoreException {
- }
-
- public Certificate engineGetCertificate(String arg0) {
- return null;
- }
-
- public String engineGetCertificateAlias(Certificate arg0) {
- return null;
- }
-
- public Certificate[] engineGetCertificateChain(String arg0) {
- return null;
- }
-
- public Date engineGetCreationDate(String arg0) {
- return null;
- }
-
- public Key engineGetKey(String arg0, char[] arg1)
- throws NoSuchAlgorithmException, UnrecoverableKeyException {
- return null;
- }
-
- public boolean engineIsCertificateEntry(String arg0) {
- return false;
- }
-
- public boolean engineIsKeyEntry(String arg0) {
- return false;
- }
-
- public void engineLoad(InputStream arg0, char[] arg1)
- throws IOException, NoSuchAlgorithmException,
- CertificateException {
- return;
- }
-
- public void engineSetCertificateEntry(String arg0, Certificate arg1)
- throws KeyStoreException {
- return;
- }
-
- public void engineSetKeyEntry(String arg0, byte[] arg1,
- Certificate[] arg2) throws KeyStoreException {
- return;
- }
-
- public void engineSetKeyEntry(String arg0, Key arg1, char[] arg2,
- Certificate[] arg3) throws KeyStoreException {
- return;
- }
-
- public int engineSize() {
- return 0;
- }
-
- public void engineStore(KeyStore.LoadStoreParameter param){
- return;
- }
-
- public void engineStore(OutputStream arg0, char[] arg1)
- throws IOException, NoSuchAlgorithmException,
- CertificateException {
- return;
- }
- }
-
-}
-
+/*
+ * 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.
+ * The ASF licenses this file to You 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 org.apache.harmony.security.tests.java.security;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.security.Key;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.KeyStoreSpi;
+import java.security.NoSuchAlgorithmException;
+import java.security.Provider;
+import java.security.UnrecoverableKeyException;
+import java.security.cert.Certificate;
+import java.security.cert.CertificateException;
+import java.security.cert.CertificateFactory;
+import java.util.Date;
+import java.util.Enumeration;
+
+import junit.framework.TestCase;
+
+public class KeyStore3Test extends TestCase {
+
+ private KeyStore mockKeyStore;
+
+ private KeyPair keyPair;
+
+ private Certificate certificate;
+
+ public KeyStore3Test() throws Exception {
+ KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("DSA");
+ keyPair = keyPairGenerator.generateKeyPair();
+
+ String certificateData = "-----BEGIN CERTIFICATE-----\n"
+ + "MIICZTCCAdICBQL3AAC2MA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVTMSAw\n"
+ + "HgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5jLjEuMCwGA1UECxMlU2VjdXJl\n"
+ + "IFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NzAyMjAwMDAwMDBa\n"
+ + "Fw05ODAyMjAyMzU5NTlaMIGWMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv\n"
+ + "cm5pYTESMBAGA1UEBxMJUGFsbyBBbHRvMR8wHQYDVQQKExZTdW4gTWljcm9zeXN0\n"
+ + "ZW1zLCBJbmMuMSEwHwYDVQQLExhUZXN0IGFuZCBFdmFsdWF0aW9uIE9ubHkxGjAY\n"
+ + "BgNVBAMTEWFyZ29uLmVuZy5zdW4uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB\n"
+ + "iQKBgQCofmdY+PiUWN01FOzEewf+GaG+lFf132UpzATmYJkA4AEA/juW7jSi+LJk\n"
+ + "wJKi5GO4RyZoyimAL/5yIWDV6l1KlvxyKslr0REhMBaD/3Z3EsLTTEf5gVrQS6sT\n"
+ + "WMoSZAyzB39kFfsB6oUXNtV8+UKKxSxKbxvhQn267PeCz5VX2QIDAQABMA0GCSqG\n"
+ + "SIb3DQEBAgUAA34AXl3at6luiV/7I9MN5CXYoPJYI8Bcdc1hBagJvTMcmlqL2uOZ\n"
+ + "H9T5hNMEL9Tk6aI7yZPXcw/xI2K6pOR/FrMp0UwJmdxX7ljV6ZtUZf7pY492UqwC\n"
+ + "1777XQ9UEZyrKJvF5ntleeO0ayBqLGVKCWzWZX9YsXCpv47FNLZbupE=\n"
+ + "-----END CERTIFICATE-----\n";
+
+ ByteArrayInputStream certArray = new ByteArrayInputStream(
+ certificateData.getBytes());
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
+ certificate = cf.generateCertificate(certArray);
+ }
+
+ public void test_load() throws Exception {
+ // No exception should be thrown out.
+ mockKeyStore.load(null);
+ }
+
+ public void test_store() throws Exception {
+ try {
+ mockKeyStore.store(null);
+ fail("should throw KeyStoreException: not initialized");
+ } catch (KeyStoreException e) {
+ // expected
+ }
+
+ // No exception should be thrown out.
+ mockKeyStore.load(null, null);
+ mockKeyStore.store(null);
+ }
+
+ public void test_setKeyEntry_null() throws Exception {
+ mockKeyStore.load(null, null);
+ // No exception should be thrown out.
+ mockKeyStore.setKeyEntry(null, null, null, null);
+ }
+
+ public void test_setKeyEntry_key_is_null() throws Exception {
+ mockKeyStore.load(null, null);
+ // No exception should be thrown out.
+ mockKeyStore.setKeyEntry("Alias", null, null, new Certificate[]{certificate});
+ }
+
+ public void test_setKeyEntry_key_is_private() throws Exception {
+ mockKeyStore.load(null, null);
+ Key key = keyPair.getPrivate();
+ try {
+ mockKeyStore.setKeyEntry("Alias", key, null, null);
+ fail("should throw IllegalArgumentException");
+ } catch (IllegalArgumentException e) {
+ // expected
+ }
+
+ try {
+ mockKeyStore.setKeyEntry("Alias", key, null,
+ new Certificate[0]);
+ fail("should throw IllegalArgumentException");
+ } catch (IllegalArgumentException e) {
+ // expected
+ }
+
+ mockKeyStore.setKeyEntry("Alias", key, null, new Certificate[]{certificate});
+ }
+
+ public void test_setKeyEntry_key_is_public() throws Exception
+ {
+ mockKeyStore.load(null, null);
+ Key key = keyPair.getPublic();
+ mockKeyStore.setKeyEntry("Alias1", key, null, null);
+ mockKeyStore.setKeyEntry("Alias2", key, null,
+ new Certificate[0]);
+ mockKeyStore.setKeyEntry("Alias3", key, null, new Certificate[]{certificate});
+ }
+
+ public void test_setCertificateEntry_null() throws Exception {
+ mockKeyStore.load(null, null);
+
+ mockKeyStore.setCertificateEntry(null, null);
+
+ mockKeyStore.setCertificateEntry(null, certificate);
+
+ mockKeyStore.setCertificateEntry("Alias", null);
+ }
+
+ public void test_store_null() throws Exception {
+ mockKeyStore.load(null, null);
+ mockKeyStore.store(null, null);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ mockKeyStore = new MyKeyStore(new MyKeyStoreSpi(), null, "MyKeyStore");
+ }
+
+ private static class MyKeyStore extends KeyStore {
+
+ public MyKeyStore(KeyStoreSpi keyStoreSpi, Provider provider,
+ String type) {
+ super(keyStoreSpi, provider, type);
+ }
+ }
+
+ private static class MyKeyStoreSpi extends KeyStoreSpi {
+
+ public Enumeration<String> engineAliases() {
+ return null;
+ }
+
+ public boolean engineContainsAlias(String arg0) {
+ return false;
+ }
+
+ public void engineDeleteEntry(String arg0) throws KeyStoreException {
+ }
+
+ public Certificate engineGetCertificate(String arg0) {
+ return null;
+ }
+
+ public String engineGetCertificateAlias(Certificate arg0) {
+ return null;
+ }
+
+ public Certificate[] engineGetCertificateChain(String arg0) {
+ return null;
+ }
+
+ public Date engineGetCreationDate(String arg0) {
+ return null;
+ }
+
+ public Key engineGetKey(String arg0, char[] arg1)
+ throws NoSuchAlgorithmException, UnrecoverableKeyException {
+ return null;
+ }
+
+ public boolean engineIsCertificateEntry(String arg0) {
+ return false;
+ }
+
+ public boolean engineIsKeyEntry(String arg0) {
+ return false;
+ }
+
+ public void engineLoad(InputStream arg0, char[] arg1)
+ throws IOException, NoSuchAlgorithmException,
+ CertificateException {
+ return;
+ }
+
+ public void engineSetCertificateEntry(String arg0, Certificate arg1)
+ throws KeyStoreException {
+ return;
+ }
+
+ public void engineSetKeyEntry(String arg0, byte[] arg1,
+ Certificate[] arg2) throws KeyStoreException {
+ return;
+ }
+
+ public void engineSetKeyEntry(String arg0, Key arg1, char[] arg2,
+ Certificate[] arg3) throws KeyStoreException {
+ return;
+ }
+
+ public int engineSize() {
+ return 0;
+ }
+
+ public void engineStore(KeyStore.LoadStoreParameter param){
+ return;
+ }
+
+ public void engineStore(OutputStream arg0, char[] arg1)
+ throws IOException, NoSuchAlgorithmException,
+ CertificateException {
+ return;
+ }
+ }
+
+}
+
Propchange: harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/KeyStore3Test.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: harmony/enhanced/classlib/trunk/modules/sql/src/main/java/javax/sql/rowset/RowSetMetaDataImpl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/sql/src/main/java/javax/sql/rowset/RowSetMetaDataImpl.java?view=diff&rev=561748&r1=561747&r2=561748
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/sql/src/main/java/javax/sql/rowset/RowSetMetaDataImpl.java (original)
+++ harmony/enhanced/classlib/trunk/modules/sql/src/main/java/javax/sql/rowset/RowSetMetaDataImpl.java Wed Aug 1 03:01:54 2007
@@ -1,536 +1,536 @@
-/*
- * 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.
- * The ASF licenses this file to You 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 javax.sql.rowset;
-
-import java.io.Serializable;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-
-import javax.sql.RowSetMetaData;
-
-import org.apache.harmony.sql.internal.nls.Messages;
-
-/**
- * This class is a concrete implementation of javax.sql.RowSetMetatData, which
- * provides methods that get and set column information.
- *
- * A RowSetMetaDataImpl object can be obtained by the getMetaData() method in
- * javax.sql.RowSet.
- *
- */
-public class RowSetMetaDataImpl implements RowSetMetaData, Serializable {
-
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- private static final int DEFAULT_COLUMN_COUNT = 5;
-
- private static final long serialVersionUID = 6893806403181801867L;
-
- private int colCount;
-
- private ColInfo[] colInfo;
-
- /**
- * The default constructor.
- */
- public RowSetMetaDataImpl() {
- // do nothing
- }
-
- private void checkNegativeValue(int value, String msg) throws SQLException {
- if (value < 0) {
- throw new SQLException(Messages.getString(msg));
- }
- }
-
- private void checkColumnIndex(int columnIndex) throws SQLException {
- if (null == colInfo || columnIndex < 1 || columnIndex >= colInfo.length) {
- throw new SQLException(Messages
- .getString("sql.27", columnIndex + 1)); //$NON-NLS-1$
- }
- // lazy initialization
- if (null == colInfo[columnIndex]) {
- colInfo[columnIndex] = new ColInfo();
- }
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setColumnCount(int)
- */
- public void setColumnCount(int columnCount) throws SQLException {
- if (columnCount <= 0) {
- throw new SQLException(Messages.getString("sql.26")); //$NON-NLS-1$
- }
- try {
- if (columnCount + 1 > 0) {
- colInfo = new ColInfo[columnCount + 1];
- } else {
- colInfo = new ColInfo[DEFAULT_COLUMN_COUNT];
- }
- } catch (OutOfMemoryError e) {
- // For compatibility, use same default value as RI
- colInfo = new ColInfo[DEFAULT_COLUMN_COUNT];
- }
- colCount = columnCount;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setAutoIncrement(int, boolean)
- */
- public void setAutoIncrement(int columnIndex, boolean property)
- throws SQLException {
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].autoIncrement = property;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setCaseSensitive(int, boolean)
- */
- public void setCaseSensitive(int columnIndex, boolean property)
- throws SQLException {
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].caseSensitive = property;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setSearchable(int, boolean)
- */
- public void setSearchable(int columnIndex, boolean property)
- throws SQLException {
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].searchable = property;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setCurrency(int, boolean)
- */
- public void setCurrency(int columnIndex, boolean property)
- throws SQLException {
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].currency = property;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setNullable(int, int)
- */
- public void setNullable(int columnIndex, int property) throws SQLException {
- if (property != ResultSetMetaData.columnNoNulls
- && property != ResultSetMetaData.columnNullable
- && property != ResultSetMetaData.columnNullableUnknown) {
- throw new SQLException(Messages.getString("sql.29")); //$NON-NLS-1$
- }
-
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].nullable = property;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setSigned(int, boolean)
- */
- public void setSigned(int columnIndex, boolean property)
- throws SQLException {
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].signed = property;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setColumnDisplaySize(int, int)
- */
- public void setColumnDisplaySize(int columnIndex, int size)
- throws SQLException {
- checkNegativeValue(size, "sql.30"); //$NON-NLS-1$
-
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].columnDisplaySize = size;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setColumnLabel(int, String)
- */
- public void setColumnLabel(int columnIndex, String label)
- throws SQLException {
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].columnLabel = label == null ? EMPTY_STRING : label;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setColumnName(int, String)
- */
- public void setColumnName(int columnIndex, String columnName)
- throws SQLException {
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].columnName = columnName == null ? EMPTY_STRING
- : columnName;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setSchemaName(int, String)
- */
- public void setSchemaName(int columnIndex, String schemaName)
- throws SQLException {
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].schemaName = schemaName == null ? EMPTY_STRING
- : schemaName;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setPrecision(int, int)
- */
- public void setPrecision(int columnIndex, int precision)
- throws SQLException {
- checkNegativeValue(precision, "sql.31"); //$NON-NLS-1$
-
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].precision = precision;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setScale(int, int)
- */
- public void setScale(int columnIndex, int scale) throws SQLException {
- checkNegativeValue(scale, "sql.32"); //$NON-NLS-1$
-
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].scale = scale;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setTableName(int, String)
- */
- public void setTableName(int columnIndex, String tableName)
- throws SQLException {
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].tableName = tableName == null ? EMPTY_STRING
- : tableName;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setCatalogName(int, String)
- */
- public void setCatalogName(int columnIndex, String catalogName)
- throws SQLException {
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].catalogName = catalogName == null ? EMPTY_STRING
- : catalogName;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setColumnType(int, int)
- */
- public void setColumnType(int columnIndex, int SQLType) throws SQLException {
- SqlUtil.validateType(SQLType);
-
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].colType = SQLType;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.sql.RowSetMetaData#setColumnTypeName(int, String)
- */
- public void setColumnTypeName(int columnIndex, String typeName)
- throws SQLException {
- checkColumnIndex(columnIndex);
- colInfo[columnIndex].colTypeName = typeName == null ? EMPTY_STRING
- : typeName;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getColumnCount()
- */
- public int getColumnCount() throws SQLException {
- return colCount;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#isAutoIncrement(int)
- */
- public boolean isAutoIncrement(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].autoIncrement;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#isCaseSensitive(int)
- */
- public boolean isCaseSensitive(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].caseSensitive;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#isSearchable(int)
- */
- public boolean isSearchable(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].searchable;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#isCurrency(int)
- */
- public boolean isCurrency(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].currency;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#isNullable(int)
- */
- public int isNullable(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].nullable;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#isSigned(int)
- */
- public boolean isSigned(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].signed;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getColumnDisplaySize(int)
- */
- public int getColumnDisplaySize(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].columnDisplaySize;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getColumnLabel(int)
- */
- public String getColumnLabel(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].columnLabel;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getColumnName(int)
- */
- public String getColumnName(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].columnName;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getSchemaName(int)
- */
- public String getSchemaName(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].schemaName;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getPrecision(int)
- */
- public int getPrecision(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].precision;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getScale(int)
- */
- public int getScale(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].scale;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getTableName(int)
- */
- public String getTableName(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].tableName;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getCatalogName(int)
- */
- public String getCatalogName(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].catalogName;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getColumnType(int)
- */
- public int getColumnType(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].colType;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getColumnTypeName(int)
- */
- public String getColumnTypeName(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].colTypeName;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#isReadOnly(int)
- */
- public boolean isReadOnly(int columnIndex) throws SQLException {
- return !isWritable(columnIndex);
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#isWritable(int)
- */
- public boolean isWritable(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].writeable;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#isDefinitelyWritable(int)
- */
- public boolean isDefinitelyWritable(int columnIndex) throws SQLException {
- checkColumnIndex(columnIndex);
- return colInfo[columnIndex].definiteWritable;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.sql.ResultSetMetaData#getColumnClassName(int)
- */
- public String getColumnClassName(int columnIndex) throws SQLException {
- return SqlUtil.getClassNameByType(getColumnType(columnIndex));
- }
-
- /**
- * The inner class to store meta information of columns.
- */
- private class ColInfo implements Serializable {
-
- private static final long serialVersionUID = 5490834817919311283L;
-
- public boolean autoIncrement;
-
- public boolean caseSensitive;
-
- public boolean currency;
-
- public boolean signed;
-
- public boolean searchable;
-
- public boolean writeable = true;
-
- public boolean definiteWritable = true;
-
- public String columnLabel;
-
- public String columnName;
-
- public String schemaName = EMPTY_STRING;
-
- public String colTypeName;
-
- public int colType;
-
- public int nullable;
-
- public int columnDisplaySize;
-
- public int precision;
-
- public int scale;
-
- public String tableName = EMPTY_STRING;
-
- public String catalogName = EMPTY_STRING;
- }
-}
+/*
+ * 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.
+ * The ASF licenses this file to You 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 javax.sql.rowset;
+
+import java.io.Serializable;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+
+import javax.sql.RowSetMetaData;
+
+import org.apache.harmony.sql.internal.nls.Messages;
+
+/**
+ * This class is a concrete implementation of javax.sql.RowSetMetatData, which
+ * provides methods that get and set column information.
+ *
+ * A RowSetMetaDataImpl object can be obtained by the getMetaData() method in
+ * javax.sql.RowSet.
+ *
+ */
+public class RowSetMetaDataImpl implements RowSetMetaData, Serializable {
+
+ private static final String EMPTY_STRING = ""; //$NON-NLS-1$
+
+ private static final int DEFAULT_COLUMN_COUNT = 5;
+
+ private static final long serialVersionUID = 6893806403181801867L;
+
+ private int colCount;
+
+ private ColInfo[] colInfo;
+
+ /**
+ * The default constructor.
+ */
+ public RowSetMetaDataImpl() {
+ // do nothing
+ }
+
+ private void checkNegativeValue(int value, String msg) throws SQLException {
+ if (value < 0) {
+ throw new SQLException(Messages.getString(msg));
+ }
+ }
+
+ private void checkColumnIndex(int columnIndex) throws SQLException {
+ if (null == colInfo || columnIndex < 1 || columnIndex >= colInfo.length) {
+ throw new SQLException(Messages
+ .getString("sql.27", columnIndex + 1)); //$NON-NLS-1$
+ }
+ // lazy initialization
+ if (null == colInfo[columnIndex]) {
+ colInfo[columnIndex] = new ColInfo();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setColumnCount(int)
+ */
+ public void setColumnCount(int columnCount) throws SQLException {
+ if (columnCount <= 0) {
+ throw new SQLException(Messages.getString("sql.26")); //$NON-NLS-1$
+ }
+ try {
+ if (columnCount + 1 > 0) {
+ colInfo = new ColInfo[columnCount + 1];
+ } else {
+ colInfo = new ColInfo[DEFAULT_COLUMN_COUNT];
+ }
+ } catch (OutOfMemoryError e) {
+ // For compatibility, use same default value as RI
+ colInfo = new ColInfo[DEFAULT_COLUMN_COUNT];
+ }
+ colCount = columnCount;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setAutoIncrement(int, boolean)
+ */
+ public void setAutoIncrement(int columnIndex, boolean property)
+ throws SQLException {
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].autoIncrement = property;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setCaseSensitive(int, boolean)
+ */
+ public void setCaseSensitive(int columnIndex, boolean property)
+ throws SQLException {
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].caseSensitive = property;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setSearchable(int, boolean)
+ */
+ public void setSearchable(int columnIndex, boolean property)
+ throws SQLException {
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].searchable = property;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setCurrency(int, boolean)
+ */
+ public void setCurrency(int columnIndex, boolean property)
+ throws SQLException {
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].currency = property;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setNullable(int, int)
+ */
+ public void setNullable(int columnIndex, int property) throws SQLException {
+ if (property != ResultSetMetaData.columnNoNulls
+ && property != ResultSetMetaData.columnNullable
+ && property != ResultSetMetaData.columnNullableUnknown) {
+ throw new SQLException(Messages.getString("sql.29")); //$NON-NLS-1$
+ }
+
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].nullable = property;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setSigned(int, boolean)
+ */
+ public void setSigned(int columnIndex, boolean property)
+ throws SQLException {
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].signed = property;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setColumnDisplaySize(int, int)
+ */
+ public void setColumnDisplaySize(int columnIndex, int size)
+ throws SQLException {
+ checkNegativeValue(size, "sql.30"); //$NON-NLS-1$
+
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].columnDisplaySize = size;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setColumnLabel(int, String)
+ */
+ public void setColumnLabel(int columnIndex, String label)
+ throws SQLException {
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].columnLabel = label == null ? EMPTY_STRING : label;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setColumnName(int, String)
+ */
+ public void setColumnName(int columnIndex, String columnName)
+ throws SQLException {
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].columnName = columnName == null ? EMPTY_STRING
+ : columnName;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setSchemaName(int, String)
+ */
+ public void setSchemaName(int columnIndex, String schemaName)
+ throws SQLException {
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].schemaName = schemaName == null ? EMPTY_STRING
+ : schemaName;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setPrecision(int, int)
+ */
+ public void setPrecision(int columnIndex, int precision)
+ throws SQLException {
+ checkNegativeValue(precision, "sql.31"); //$NON-NLS-1$
+
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].precision = precision;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setScale(int, int)
+ */
+ public void setScale(int columnIndex, int scale) throws SQLException {
+ checkNegativeValue(scale, "sql.32"); //$NON-NLS-1$
+
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].scale = scale;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setTableName(int, String)
+ */
+ public void setTableName(int columnIndex, String tableName)
+ throws SQLException {
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].tableName = tableName == null ? EMPTY_STRING
+ : tableName;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setCatalogName(int, String)
+ */
+ public void setCatalogName(int columnIndex, String catalogName)
+ throws SQLException {
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].catalogName = catalogName == null ? EMPTY_STRING
+ : catalogName;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setColumnType(int, int)
+ */
+ public void setColumnType(int columnIndex, int SQLType) throws SQLException {
+ SqlUtil.validateType(SQLType);
+
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].colType = SQLType;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see javax.sql.RowSetMetaData#setColumnTypeName(int, String)
+ */
+ public void setColumnTypeName(int columnIndex, String typeName)
+ throws SQLException {
+ checkColumnIndex(columnIndex);
+ colInfo[columnIndex].colTypeName = typeName == null ? EMPTY_STRING
+ : typeName;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getColumnCount()
+ */
+ public int getColumnCount() throws SQLException {
+ return colCount;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#isAutoIncrement(int)
+ */
+ public boolean isAutoIncrement(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].autoIncrement;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#isCaseSensitive(int)
+ */
+ public boolean isCaseSensitive(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].caseSensitive;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#isSearchable(int)
+ */
+ public boolean isSearchable(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].searchable;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#isCurrency(int)
+ */
+ public boolean isCurrency(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].currency;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#isNullable(int)
+ */
+ public int isNullable(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].nullable;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#isSigned(int)
+ */
+ public boolean isSigned(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].signed;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getColumnDisplaySize(int)
+ */
+ public int getColumnDisplaySize(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].columnDisplaySize;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getColumnLabel(int)
+ */
+ public String getColumnLabel(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].columnLabel;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getColumnName(int)
+ */
+ public String getColumnName(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].columnName;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getSchemaName(int)
+ */
+ public String getSchemaName(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].schemaName;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getPrecision(int)
+ */
+ public int getPrecision(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].precision;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getScale(int)
+ */
+ public int getScale(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].scale;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getTableName(int)
+ */
+ public String getTableName(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].tableName;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getCatalogName(int)
+ */
+ public String getCatalogName(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].catalogName;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getColumnType(int)
+ */
+ public int getColumnType(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].colType;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getColumnTypeName(int)
+ */
+ public String getColumnTypeName(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].colTypeName;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#isReadOnly(int)
+ */
+ public boolean isReadOnly(int columnIndex) throws SQLException {
+ return !isWritable(columnIndex);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#isWritable(int)
+ */
+ public boolean isWritable(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].writeable;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#isDefinitelyWritable(int)
+ */
+ public boolean isDefinitelyWritable(int columnIndex) throws SQLException {
+ checkColumnIndex(columnIndex);
+ return colInfo[columnIndex].definiteWritable;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.sql.ResultSetMetaData#getColumnClassName(int)
+ */
+ public String getColumnClassName(int columnIndex) throws SQLException {
+ return SqlUtil.getClassNameByType(getColumnType(columnIndex));
+ }
+
+ /**
+ * The inner class to store meta information of columns.
+ */
+ private class ColInfo implements Serializable {
+
+ private static final long serialVersionUID = 5490834817919311283L;
+
+ public boolean autoIncrement;
+
+ public boolean caseSensitive;
+
+ public boolean currency;
+
+ public boolean signed;
+
+ public boolean searchable;
+
+ public boolean writeable = true;
+
+ public boolean definiteWritable = true;
+
+ public String columnLabel;
+
+ public String columnName;
+
+ public String schemaName = EMPTY_STRING;
+
+ public String colTypeName;
+
+ public int colType;
+
+ public int nullable;
+
+ public int columnDisplaySize;
+
+ public int precision;
+
+ public int scale;
+
+ public String tableName = EMPTY_STRING;
+
+ public String catalogName = EMPTY_STRING;
+ }
+}
Propchange: harmony/enhanced/classlib/trunk/modules/sql/src/main/java/javax/sql/rowset/RowSetMetaDataImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java.injected/org/apache/harmony/swing/tests/javax/swing/text/parser/ContentModelCompatilityTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java.injected/org/apache/harmony/swing/tests/javax/swing/text/parser/ContentModelSemanticTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: harmony/enhanced/classlib/trunk/support/src/test/java/javax/swing/text/parser/utils/DTDGetter.java
------------------------------------------------------------------------------
svn:eol-style = native