Skip to content

Commit

Permalink
Use default methods for optional Connector methods
Browse files Browse the repository at this point in the history
  • Loading branch information
electrum committed Mar 9, 2015
1 parent 5e5ca2e commit d07c0b0
Show file tree
Hide file tree
Showing 12 changed files with 24 additions and 209 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@

import com.facebook.presto.spi.Connector;
import com.facebook.presto.spi.ConnectorHandleResolver;
import com.facebook.presto.spi.ConnectorIndexResolver;
import com.facebook.presto.spi.ConnectorMetadata;
import com.facebook.presto.spi.ConnectorPageSourceProvider;
import com.facebook.presto.spi.ConnectorRecordSetProvider;
import com.facebook.presto.spi.ConnectorRecordSinkProvider;
import com.facebook.presto.spi.ConnectorSplitManager;
Expand Down Expand Up @@ -62,12 +60,6 @@ public ConnectorSplitManager getSplitManager()
return jdbcSplitManager;
}

@Override
public ConnectorPageSourceProvider getPageSourceProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorRecordSetProvider getRecordSetProvider()
{
Expand All @@ -85,10 +77,4 @@ public ConnectorRecordSinkProvider getRecordSinkProvider()
{
return jdbcRecordSinkProvider;
}

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@

import com.facebook.presto.spi.Connector;
import com.facebook.presto.spi.ConnectorHandleResolver;
import com.facebook.presto.spi.ConnectorIndexResolver;
import com.facebook.presto.spi.ConnectorMetadata;
import com.facebook.presto.spi.ConnectorPageSourceProvider;
import com.facebook.presto.spi.ConnectorRecordSetProvider;
import com.facebook.presto.spi.ConnectorRecordSinkProvider;
import com.facebook.presto.spi.ConnectorSplitManager;
Expand Down Expand Up @@ -62,12 +60,6 @@ public ConnectorSplitManager getSplitManager()
return splitManager;
}

@Override
public ConnectorPageSourceProvider getPageSourceProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorRecordSetProvider getRecordSetProvider()
{
Expand All @@ -85,10 +77,4 @@ public ConnectorRecordSinkProvider getRecordSinkProvider()
{
return recordSinkProvider;
}

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,8 @@

import com.facebook.presto.spi.Connector;
import com.facebook.presto.spi.ConnectorHandleResolver;
import com.facebook.presto.spi.ConnectorIndexResolver;
import com.facebook.presto.spi.ConnectorMetadata;
import com.facebook.presto.spi.ConnectorPageSourceProvider;
import com.facebook.presto.spi.ConnectorRecordSetProvider;
import com.facebook.presto.spi.ConnectorRecordSinkProvider;
import com.facebook.presto.spi.ConnectorSplitManager;

import javax.inject.Inject;
Expand Down Expand Up @@ -59,12 +56,6 @@ public ConnectorSplitManager getSplitManager()
return splitManager;
}

@Override
public ConnectorPageSourceProvider getPageSourceProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorRecordSetProvider getRecordSetProvider()
{
Expand All @@ -76,16 +67,4 @@ public ConnectorHandleResolver getHandleResolver()
{
return handleResolver;
}

@Override
public ConnectorRecordSinkProvider getRecordSinkProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@

import com.facebook.presto.spi.Connector;
import com.facebook.presto.spi.ConnectorHandleResolver;
import com.facebook.presto.spi.ConnectorIndexResolver;
import com.facebook.presto.spi.ConnectorMetadata;
import com.facebook.presto.spi.ConnectorPageSourceProvider;
import com.facebook.presto.spi.ConnectorRecordSetProvider;
import com.facebook.presto.spi.ConnectorRecordSinkProvider;
import com.facebook.presto.spi.ConnectorSplitManager;

Expand Down Expand Up @@ -65,12 +63,6 @@ public ConnectorPageSourceProvider getPageSourceProvider()
return pageSourceProvider;
}

@Override
public ConnectorRecordSetProvider getRecordSetProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorRecordSinkProvider getRecordSinkProvider()
{
Expand All @@ -82,10 +74,4 @@ public ConnectorHandleResolver getHandleResolver()
{
return handleResolver;
}

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,8 @@

import com.facebook.presto.spi.Connector;
import com.facebook.presto.spi.ConnectorHandleResolver;
import com.facebook.presto.spi.ConnectorIndexResolver;
import com.facebook.presto.spi.ConnectorMetadata;
import com.facebook.presto.spi.ConnectorPageSourceProvider;
import com.facebook.presto.spi.ConnectorRecordSetProvider;
import com.facebook.presto.spi.ConnectorRecordSinkProvider;
import com.facebook.presto.spi.ConnectorSplitManager;

import javax.inject.Inject;
Expand Down Expand Up @@ -69,27 +66,9 @@ public ConnectorSplitManager getSplitManager()
return splitManager;
}

@Override
public ConnectorPageSourceProvider getPageSourceProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorRecordSetProvider getRecordSetProvider()
{
return recordSetProvider;
}

@Override
public ConnectorRecordSinkProvider getRecordSinkProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,8 @@
import com.facebook.presto.spi.Connector;
import com.facebook.presto.spi.ConnectorFactory;
import com.facebook.presto.spi.ConnectorHandleResolver;
import com.facebook.presto.spi.ConnectorIndexResolver;
import com.facebook.presto.spi.ConnectorMetadata;
import com.facebook.presto.spi.ConnectorPageSourceProvider;
import com.facebook.presto.spi.ConnectorRecordSetProvider;
import com.facebook.presto.spi.ConnectorRecordSinkProvider;
import com.facebook.presto.spi.ConnectorSplitManager;
import com.facebook.presto.spi.NodeManager;

Expand Down Expand Up @@ -73,29 +70,11 @@ public ConnectorSplitManager getSplitManager()
return new JmxSplitManager(new JmxConnectorId(connectorId), nodeManager);
}

@Override
public ConnectorPageSourceProvider getPageSourceProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorRecordSetProvider getRecordSetProvider()
{
return new JmxRecordSetProvider(mbeanServer, nodeManager);
}

@Override
public ConnectorRecordSinkProvider getRecordSinkProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,8 @@

import com.facebook.presto.spi.Connector;
import com.facebook.presto.spi.ConnectorHandleResolver;
import com.facebook.presto.spi.ConnectorIndexResolver;
import com.facebook.presto.spi.ConnectorMetadata;
import com.facebook.presto.spi.ConnectorPageSourceProvider;
import com.facebook.presto.spi.ConnectorRecordSetProvider;
import com.facebook.presto.spi.ConnectorRecordSinkProvider;
import com.facebook.presto.spi.ConnectorSplitManager;
import com.google.common.base.Preconditions;

Expand Down Expand Up @@ -63,27 +60,9 @@ public ConnectorHandleResolver getHandleResolver()
return new SystemHandleResolver();
}

@Override
public ConnectorPageSourceProvider getPageSourceProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorRecordSetProvider getRecordSetProvider()
{
return recordSetProvider;
}

@Override
public ConnectorRecordSinkProvider getRecordSinkProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,9 @@

import com.facebook.presto.spi.Connector;
import com.facebook.presto.spi.ConnectorHandleResolver;
import com.facebook.presto.spi.ConnectorIndexResolver;
import com.facebook.presto.spi.ConnectorMetadata;
import com.facebook.presto.spi.ConnectorPageSinkProvider;
import com.facebook.presto.spi.ConnectorPageSourceProvider;
import com.facebook.presto.spi.ConnectorRecordSetProvider;
import com.facebook.presto.spi.ConnectorRecordSinkProvider;
import com.facebook.presto.spi.ConnectorSplitManager;

import javax.inject.Inject;
Expand Down Expand Up @@ -80,22 +77,4 @@ public ConnectorSplitManager getSplitManager()
{
return splitManager;
}

@Override
public ConnectorRecordSinkProvider getRecordSinkProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorRecordSetProvider getRecordSetProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
}
30 changes: 24 additions & 6 deletions presto-spi/src/main/java/com/facebook/presto/spi/Connector.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,39 @@ public interface Connector
/**
* @throws UnsupportedOperationException if this connector does not support reading tables page at a time
*/
ConnectorPageSourceProvider getPageSourceProvider();
default ConnectorPageSourceProvider getPageSourceProvider()
{
throw new UnsupportedOperationException();
}

/**
* @throws UnsupportedOperationException if this connector does not support reading tables record at a time
*/
ConnectorRecordSetProvider getRecordSetProvider();
default ConnectorRecordSetProvider getRecordSetProvider()
{
throw new UnsupportedOperationException();
}

/**
* @throws UnsupportedOperationException if this connector does not support writing tables
* @throws UnsupportedOperationException if this connector does not support writing tables page at a time
*/
ConnectorRecordSinkProvider getRecordSinkProvider();
default ConnectorPageSinkProvider getPageSinkProvider()
{
throw new UnsupportedOperationException();
}

ConnectorIndexResolver getIndexResolver();
/**
* @throws UnsupportedOperationException if this connector does not support writing tables record at a time
*/
default ConnectorRecordSinkProvider getRecordSinkProvider()
{
throw new UnsupportedOperationException();
}

default ConnectorPageSinkProvider getPageSinkProvider()
/**
* @throws UnsupportedOperationException if this connector does not support indexes
*/
default ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,7 @@
import com.facebook.presto.spi.ConnectorHandleResolver;
import com.facebook.presto.spi.ConnectorIndexResolver;
import com.facebook.presto.spi.ConnectorMetadata;
import com.facebook.presto.spi.ConnectorPageSourceProvider;
import com.facebook.presto.spi.ConnectorRecordSetProvider;
import com.facebook.presto.spi.ConnectorRecordSinkProvider;
import com.facebook.presto.spi.ConnectorSplitManager;
import com.facebook.presto.spi.NodeManager;
import com.facebook.presto.tpch.TpchMetadata;
Expand Down Expand Up @@ -77,24 +75,12 @@ public ConnectorHandleResolver getHandleResolver()
return new TpchIndexHandleResolver(connectorId);
}

@Override
public ConnectorPageSourceProvider getPageSourceProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorRecordSetProvider getRecordSetProvider()
{
return new TpchRecordSetProvider();
}

@Override
public ConnectorRecordSinkProvider getRecordSinkProvider()
{
throw new UnsupportedOperationException();
}

@Override
public ConnectorIndexResolver getIndexResolver()
{
Expand Down
Loading

0 comments on commit d07c0b0

Please sign in to comment.