@Override public void configure(JobConf job) { super.configure(job); try { String queryShapeClassName = job.get(QUERY_SHAPE_CLASS); Class<? extends Shape> queryShapeClass = Class.forName(queryShapeClassName).asSubclass(Shape.class); queryShape = queryShapeClass.newInstance(); queryShape.fromText(new Text(job.get(QUERY_SHAPE))); queryMbr = queryShape.getMBR(); queryField = job.get(QUERY_FIELD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } }