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.
Expand Up @@ -15,9 +15,7 @@


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


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

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

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
} }
Expand Up @@ -15,9 +15,7 @@


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


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

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

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
} }
Expand Up @@ -15,11 +15,8 @@


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


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


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

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

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

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
} }
Expand Up @@ -15,10 +15,8 @@


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


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


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

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

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
} }
Expand Up @@ -15,11 +15,8 @@


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


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


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

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

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

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


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


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

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

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

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
}; };
} }
} }
Expand Up @@ -15,11 +15,8 @@


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


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


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

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

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

@Override
public ConnectorIndexResolver getIndexResolver()
{
throw new UnsupportedOperationException();
}
} }
Expand Up @@ -15,12 +15,9 @@


import com.facebook.presto.spi.Connector; import com.facebook.presto.spi.Connector;
import com.facebook.presto.spi.ConnectorHandleResolver; import com.facebook.presto.spi.ConnectorHandleResolver;
import com.facebook.presto.spi.ConnectorIndexResolver;
import com.facebook.presto.spi.ConnectorMetadata; import com.facebook.presto.spi.ConnectorMetadata;
import com.facebook.presto.spi.ConnectorPageSinkProvider; import com.facebook.presto.spi.ConnectorPageSinkProvider;
import com.facebook.presto.spi.ConnectorPageSourceProvider; 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.ConnectorSplitManager;


import javax.inject.Inject; import javax.inject.Inject;
Expand Down Expand Up @@ -80,22 +77,4 @@ public ConnectorSplitManager getSplitManager()
{ {
return splitManager; 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
Expand Up @@ -24,21 +24,39 @@ public interface Connector
/** /**
* @throws UnsupportedOperationException if this connector does not support reading tables page at a time * @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 * @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(); throw new UnsupportedOperationException();
} }
Expand Down
Expand Up @@ -18,9 +18,7 @@
import com.facebook.presto.spi.ConnectorHandleResolver; import com.facebook.presto.spi.ConnectorHandleResolver;
import com.facebook.presto.spi.ConnectorIndexResolver; import com.facebook.presto.spi.ConnectorIndexResolver;
import com.facebook.presto.spi.ConnectorMetadata; import com.facebook.presto.spi.ConnectorMetadata;
import com.facebook.presto.spi.ConnectorPageSourceProvider;
import com.facebook.presto.spi.ConnectorRecordSetProvider; import com.facebook.presto.spi.ConnectorRecordSetProvider;
import com.facebook.presto.spi.ConnectorRecordSinkProvider;
import com.facebook.presto.spi.ConnectorSplitManager; import com.facebook.presto.spi.ConnectorSplitManager;
import com.facebook.presto.spi.NodeManager; import com.facebook.presto.spi.NodeManager;
import com.facebook.presto.tpch.TpchMetadata; import com.facebook.presto.tpch.TpchMetadata;
Expand Down Expand Up @@ -77,24 +75,12 @@ public ConnectorHandleResolver getHandleResolver()
return new TpchIndexHandleResolver(connectorId); return new TpchIndexHandleResolver(connectorId);
} }


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

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


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

@Override @Override
public ConnectorIndexResolver getIndexResolver() public ConnectorIndexResolver getIndexResolver()
{ {
Expand Down

0 comments on commit d07c0b0

Please sign in to comment.