public ResultDescriptor removeResultDescriptor()

in rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java [204:230]


    public ResultDescriptor removeResultDescriptor(ResultDescriptor resultDescriptor){
    	//remove and return only if matched for index, name, type, table name, schema name
    	//else return null
    	if(resultDescriptor != null){
    		ResultDescriptor existing = getResultDescriptor(resultDescriptor.getColumnIndex());
    		if(existing != null &&
    		   existing.getColumnName().equals(resultDescriptor.getColumnName()) &&
    		   existing.getColumnType().equals(resultDescriptor.getColumnType()) &&
    		   existing.getTableName().equals(resultDescriptor.getTableName()) ) {
    		   if(this.configWrapper.getConfig().isDatabaseSchemaNameSupported()){//multi schema support
    			   if(resultDescriptor.getSchemaName() != null && existing.getSchemaName() != null
    				&& resultDescriptor.getSchemaName().equals(existing.getSchemaName())){
    				   this.resultDescriptors.remove(existing);    				   
    				   refreshResultSetShape();    					
    				   return existing;
    			   }
    			   return null;
    		   }
    		   else{
    			   this.resultDescriptors.remove(existing);    			   
    			   refreshResultSetShape();    				
				   return existing;
    		   }    			
    		}    				
    	}
    	return null;
    }