/** * WFS transaction operation. * * @param request The transaction request. * @return A transaction response instance. * @throws WFSException Any service exceptions. */ public TransactionResponseType transaction(TransactionType request) throws WFSException { Transaction transaction = new Transaction(getServiceInfo(), catalog, context); transaction.setFilterFactory(filterFactory); return (TransactionResponseType) transaction.transaction(new TransactionRequest.WFS11(request)).getAdaptee(); }
public TransactionResponse transaction(TransactionRequest request) throws WFSException { // make sure server is supporting transactions if (!wfs.getServiceLevel().contains(WFSInfo.ServiceLevel.TRANSACTIONAL)) { throw new WFSException(request, "Transaction support is not enabled"); } try { return execute(request); } catch (WFSException e) { abort(request); // release any locks throw e; } catch (Throwable t) { abort(request); // release any locks throw new WFSException(request, t); } }
/** * Looks up the element handlers to be used for each element * * @param group */ private Map gatherElementHandlers(TransactionRequest request) throws WFSTransactionException { // JD: use a linked hashmap since the order of elements in a transaction // must be respected Map map = new LinkedHashMap(); List<TransactionElement> elements = request.getElements(); for (TransactionElement element : elements) { map.put(element, findElementHandler(element.getClass())); } return map; }
public TransactionResponseType transaction(TransactionType request) throws WFSException { VersioningTransaction transaction = new VersioningTransaction(wfs, catalog, context); transaction.setFilterFactory(filterFactory); return transaction.transaction(request); }
request = fireBeforeTransaction(request); transaction = getDatastoreTransaction(request); request.setTransaction(transaction); Map elementHandlers = gatherElementHandlers(request); if (!lockExists(authorizationID)) { String mesg = "Attempting to use a lockID that does not exist" transaction.rollback(); } else { fireBeforeCommit(request); if (lockId != null) { if (request.isReleaseActionAll()) { lockRelease(lockId); } else if (request.isReleaseActionSome()) { lockRefresh(lockId); fireAfterTransaction(request, result, committed);
Transaction transaction = new Transaction(getWFS(), getCatalog(), context); gtTransaction = transaction.getDatastoreTransaction(request); } finally { SecurityContextHolder.setContext(ctxBackup);
public TransactionResponseType transaction(TransactionType request) throws WFSException { Transaction tx = new Transaction(getServiceInfo(), getCatalog(), context); tx.setFilterFactory(filterFactory); return (TransactionResponseType) tx.transaction(new TransactionRequest.WFS20(request)).getAdaptee(); }