// javadoc inherited public String perform(Map params) throws IllegalArgumentException, Exception { String direction = WidgetServiceHelper.getParameter(params, P_DIR); Integer x = WidgetServiceHelper.getIntParameter(params, P_X); Integer y = WidgetServiceHelper.getIntParameter(params, P_Y); String t = WidgetServiceHelper.getParameter(params, P_T); Integer offx = WidgetServiceHelper.getIntParameter(params, P_OFFX); Integer offy = WidgetServiceHelper.getIntParameter(params, P_OFFY); Integer zoom = WidgetServiceHelper.getIntParameter(params, P_ZOOM); if (null == direction) { throw new IllegalArgumentException(exceptionLocalizer.format("widget-missing-dir-parameter")); } if (null == zoom) { throw new IllegalArgumentException( exceptionLocalizer.format("widget-missing-zoom-parameter")); } if (null != t && null != offx && null != offy && DIR_IN.equals(direction)) { return zoomInPhoto(zoom.intValue(), t, offx.intValue(), offy.intValue()); } if (null != t && null != offx && null != offy && DIR_OUT.equals(direction)) { return zoomOutPhoto(zoom.intValue(), t, offx.intValue(), offy.intValue()); } else if ((null != x) && (null != y) && DIR_IN.equals(direction)) { return zoomInMap(zoom.intValue(), x.intValue(), y.intValue()); } else if ((null != x) && (null != y) && DIR_OUT.equals(direction)) { return zoomOutMap(zoom.intValue(), x.intValue(), y.intValue()); } throw new IllegalArgumentException( exceptionLocalizer.format("widet-invalid-zoom-operation-params")); }
public LocalRepository createJDBCRepository(JDBCRepositoryConfiguration configuration) throws RepositoryException { JDBCDriverVendor vendor = configuration.getDriverVendor(); DataSource dataSource = configuration.getDataSource(); if (vendor == null) { vendor = getVendorFromDatabase(dataSource); } VendorFactory factory = (VendorFactory) VENDOR_2_FACTORY.get(vendor); if (factory == null) { throw new JDBCRepositoryException(EXCEPTION_LOCALIZER.format("jdbc-unknown-vendor", vendor)); } InternalJDBCRepository repository = factory.createRepository((InternalJDBCRepositoryConfiguration) configuration); JDBCRepositoryConnection connection = null; try { connection = (JDBCRepositoryConnection) repository.connect(); connection.getConnection(); } finally { connection.disconnect(); } return repository; }
public DataSource createMCSDriverDataSource(MCSDriverConfiguration configuration) throws JDBCRepositoryException, RepositoryException { // Get the vendor string. JDBCDriverVendor vendor = configuration.getDriverVendor(); if (vendor == null) { throw new JDBCRepositoryException(EXCEPTION_LOCALIZER.format("jdbc-missing-vendor")); } VendorFactory factory = (VendorFactory) VENDOR_2_FACTORY.get(vendor); if (factory == null) { throw new JDBCRepositoryException(EXCEPTION_LOCALIZER.format("jdbc-unknown-vendor", vendor)); } DataSource dataSource = factory.createDriverDataSource(configuration); return createMCSConnectionPool(configuration.getConnectionPoolConfiguration(), dataSource); }
private JDBCDriverVendor getVendorFromDatabase(DataSource dataSource) throws JDBCRepositoryException { JDBCDriverVendor vendor; if (dataSource instanceof VendorDataSource) { VendorDataSource vendorDataSource = (VendorDataSource) dataSource; vendor = vendorDataSource.getVendor(); } else { String databaseProduct = null; Connection con = null; try { con = dataSource.getConnection(); DatabaseMetaData metaData = con.getMetaData(); databaseProduct = metaData.getDatabaseProductName(); con.close(); } catch (SQLException sqle) { throw new JDBCRepositoryException(EXCEPTION_LOCALIZER.format("sql-exception"), sqle); } if (PRODUCT_ORACLE.equalsIgnoreCase(databaseProduct)) { vendor = JDBCDriverVendor.ORACLE8; } else if (databaseProduct != null && databaseProduct.regionMatches(true, 0, PRODUCT_DB2, 0, PRODUCT_DB2.length())) { vendor = JDBCDriverVendor.DB2; } else if (PRODUCT_MSSQL.equalsIgnoreCase(databaseProduct)) { vendor = JDBCDriverVendor.MSSQL_JSQL; } else if (PRODUCT_SYBASE.equalsIgnoreCase(databaseProduct)) { vendor = JDBCDriverVendor.SYBASE; } else if (PRODUCT_POSTGRES.equalsIgnoreCase(databaseProduct)) { vendor = JDBCDriverVendor.POSTGRESQL; } else if (PRODUCT_HYPERSONIC.equalsIgnoreCase(databaseProduct)) { vendor = JDBCDriverVendor.HYPERSONIC; } else if (PRODUCT_MYSQL.equalsIgnoreCase(databaseProduct)) { vendor = JDBCDriverVendor.MYSQL; } else if (PRODUCT_DERBY.equalsIgnoreCase(databaseProduct)) { vendor = JDBCDriverVendor.DERBY_SERVER; } else { throw new JDBCRepositoryException( EXCEPTION_LOCALIZER.format("jdbc-unknown-vendor", databaseProduct)); } } return vendor; }
/** * Accepts a localization key a substitution parameter (or an array of substitution parameters, * and a cause exception * * @param key the message localization key * @param param the substitution parameter or array of substitution params * @param cause the cause excception */ public ResourceRetrieverException(String key, Object param, Throwable cause) { super(EXCEPTION_LOCALIZER.format(key, param), cause); }
// Javadoc inherited. protected int exprElementEnd(MarinerRequestContext context, PAPIAttributes papiAttributes) throws PAPIException { IncludeAttributes attributes = (IncludeAttributes) papiAttributes; if (attributes.getHref() == null) { throw new PAPIException(exceptionLocalizer.format("include-href-missing")); } else { // @todo this is a bit duff since it relies on markup naming not to change; do this a // different way // Set up the markup that will be sent down the pipeline StringBuffer markup = new StringBuffer(); InputSource inputSource; markup.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"); markup .append("<urid:fetch xmlns:urid=\"") .append(Namespace.URID.getURI()) .append("\" href=\"") .append(attributes.getHref()) .append("\""); if (attributes.getParse() != null) { markup.append(" parse=\"").append(attributes.getParse()).append("\""); } if (attributes.getEncoding() != null) { markup.append(" encoding=\"").append(attributes.getEncoding()).append("\""); } markup.append("/>"); if (logger.isDebugEnabled()) { logger.debug("Set up inclusion command as: " + markup.toString()); } inputSource = new InputSource(new StringReader(markup.toString())); // Set up and execute the pipeline to perform the required // inclusion MarinerPageContext pageContext = ContextInternals.getMarinerPageContext(context); XMLReader reader = MarlinSAXHelper.getXMLReader(context); reader.setContentHandler(MarlinSAXHelper.getContentHandler(context)); // @todo this is nasty: we assume that the reader is actually an XMLPipelineFilter XMLPipelineFilter filter = (XMLPipelineFilter) reader; XMLPipelineContext pipelineContext = filter.getPipelineContext(); // set the Base URI in the pipeline's context try { URL baseURI = pageContext.getAbsoluteURL(pageContext.getRequestURL(false)); if (logger.isDebugEnabled()) { logger.debug("Setting Base URI " + baseURI); } pipelineContext.pushBaseURI(baseURI.toExternalForm()); } catch (MalformedURLException e) { throw new PAPIException(e); } PipelineIntegrationUtilities.setUpIntegration( filter, pageContext.getCurrentElement(), context, pageContext.getCurrentOutputBuffer()); if (logger.isDebugEnabled()) { logger.debug("Executing inclusion"); } // Execute the inclusion try { reader.parse(inputSource); } catch (IOException e) { throw new PAPIException(e); } catch (SAXException e) { throw new PAPIException(e); } finally { PipelineIntegrationUtilities.tearDownIntegration(filter); } } if (logger.isDebugEnabled()) { logger.debug("Successful execution of inclusion"); } return CONTINUE_PROCESSING; }