Hi all,

I use a custom security wrapper which among other things makes workspaces
(& therefore datastores) read-only:

    public WorkspaceAccessLimits getAccessLimits(Authentication user,
WorkspaceInfo workspace) {
        // canRead=true, canWrite=false
        return new WorkspaceAccessLimits(CatalogMode.HIDE, true, false);
    }

Messing with SQL Views recently, I discovered that the Create SQL View link
never appeared for a PostGIS datastore. Turns out this is because of the
following check:

    createSQLViewContainer.setVisible(da instanceof JDBCDataStore);

and da is a ReadOnlyDataStore (DecoratingDataStore) which delegates to the
original JDBCDataStore.

It's not just enough to change that line/view, the SQL Views implementation
uses JDBCDataStore everywhere.

Not sure of the best approach here - Andrea's initial thoughts in IRC were
"we'd need a new interface for JDBCDataStore and a ready only wrapper that
maintains it", but he suggested I bring it here first. If this is likely to
be a more widespread problem, is it better to start moving away from
instanceof to another comparison that checks through wrappers?

Cheers,

Rob :)
-- 
Koordinates Ltd.
PO Box 1604, Shortland St, Auckland 1140, New Zealand
Phone +64-9-966 0433 Fax +64-9-969 0045
Web http://koordinates.com/
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to