@Override public List<Lock> getLocks() { List<Lock> locks = new ArrayList(); for (Object lock : eGet(adaptee, "abstractQueryExpression", List.class)) { locks.add(new Lock.WFS20((EObject) lock)); } return locks; }
public LockFeatureResponseType lockFeature(LockFeatureType request) throws WFSException { LockFeature lockFeature = new LockFeature(getServiceInfo(), getCatalog(), filterFactory); LockFeatureRequest.WFS20 requestWrapper = new LockFeatureRequest.WFS20(request); if (request.getLockId() != null) { lockFeature.refresh(request.getLockId(), true); LockFeatureResponse response = requestWrapper.createResponse(); response.setLockId(request.getLockId()); return (LockFeatureResponseType) response.getAdaptee(); } else { // Need to perform some of the same Stored Query handling as GetFeature // ... expand eventual stored queries boolean getFeatureById = GetFeature.expandStoredQueries( requestWrapper, request.getAbstractQueryExpression(), getStoredQueryProvider()); // ... expand the typenames from feature id filters (the wrappers will modify the // underlying object List<Query> queries = GetFeatureRequest.WFS20.getQueries(request.getAbstractQueryExpression()); GetFeature.expandTypeNames(requestWrapper, queries, getFeatureById, getCatalog()); // ... lock cannot handle queries with multiple target typenames, need to expand them // into separate queries fixQueriesForLock(request.getAbstractQueryExpression()); // run the lock return (LockFeatureResponseType) lockFeature.lockFeature(requestWrapper).getAdaptee(); } }
@Override public Query createQuery() { return new Query.WFS20(((Wfs20Factory) getFactory()).createQueryType()); }
@Override public Lock createLock() { return new Lock.WFS20(((Wfs20Factory) getFactory()).createQueryType()); }
@Override public List<Query> getQueries() { List<Object> adaptedQueries = getAdaptedQueries(); return GetFeatureRequest.WFS20.getQueries(adaptedQueries); } }
public static LockFeatureRequest adapt(Object request) { if (request instanceof LockFeatureType) { return new WFS11((EObject) request); } else if (request instanceof net.opengis.wfs20.LockFeatureType) { return new WFS20((EObject) request); } return null; }
@Override public void addLock(Lock lock) { ((FeatureMap) eGet(adaptee, "abstractQueryExpressionGroup", List.class)) .add(Wfs20Package.Literals.DOCUMENT_ROOT__QUERY, lock.getAdaptee()); }
@Override public List<Object> getAdaptedQueries() { return eGet(adaptee, "abstractQueryExpression", List.class); }
@Override public LockFeatureResponse createResponse() { return new LockFeatureResponse.WFS20( ((Wfs20Factory) getFactory()).createLockFeatureResponseType()); }
@Override public LockFeatureRequest createLockRequest() { return new LockFeatureRequest.WFS20( ((Wfs20Factory) getFactory()).createLockFeatureType()); }