public abstract class OGCRequestHandler extends Object implements RequestHandler
| Modifier and Type | Field and Description |
|---|---|
protected int |
maxResponseTime |
protected String |
url |
protected User |
user |
| Constructor and Description |
|---|
OGCRequestHandler() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addToServerProviderList(List<nl.b3p.ogc.utils.SpLayerSummary> eventualSPList,
nl.b3p.ogc.utils.SpLayerSummary layerInfo,
boolean maintainOrder)
methode om nieuwe layer toe te voegen aan lijst met service providers. eerst wordt
de laatste service provider opgezocht. als de nieuwe layer bij deze
service provider hoort dan kan de layer aan deze service provider worden
toegevoegd.
|
protected abstract LayerPriceComposition |
calculateLayerPriceComposition(DataWrapper dw,
ExtLayerCalculator lc,
String spAbbr,
String layerName)
abstracte methode die voor wms en wfs specifiek geimplmenteerd word.
|
protected void |
configB3pLayering(List<nl.b3p.ogc.utils.LayerSummary> lsl,
Map config)
methode doorloopt alle layers om te zien of er service layers bij zitten
(b3playering). als zo'n layer wordt gevonden dan wordt de processConfig van
die service layer aangeroepen.
|
void |
doAccounting(Integer orgId,
DataWrapper data,
User user)
methode sluit transactie van AccountManager af waarbij alle aangemelde
betalingen daadwerkelijk worden afgeboekt en de transactie wordt gesloten.
|
protected nl.b3p.wms.capabilities.Layer |
getLayerByUniqueName(String uniqueName) |
int |
getMaxResponseTime() |
protected List |
getServiceProviderURLS(List<nl.b3p.ogc.utils.LayerSummary> lsl,
Integer[] orgIds,
boolean checkForQueryable,
DataWrapper dw,
boolean maintainOrder)
methode is complexer dan op het eerste gezicht nodig lijkt. per service provider
worden de layers opgezocht. echter de volgorde van de layers moet bewaard blijven.
|
protected abstract nl.b3p.ogc.utils.SpLayerSummary |
getValidLayerObjects(javax.persistence.EntityManager em,
nl.b3p.ogc.utils.LayerSummary m,
Integer[] orgIds,
boolean b3pLayering)
abstracte methode die door implementatie van handler moet worden gedefinieerd.
|
protected nl.b3p.ogc.utils.SpLayerSummary |
getValidLayerObjects(javax.persistence.EntityManager em,
String query,
nl.b3p.ogc.utils.LayerSummary m,
Integer[] orgIds,
boolean b3pLayering)
methode die alleen een query nodig heeft om bestaan en rechten van layer
te bepalen.
|
boolean |
isConfigInUrlAndAdmin(DataWrapper data,
User user) |
protected List<nl.b3p.ogc.utils.SpLayerSummary> |
prepareAccounting(Integer orgId,
DataWrapper dw,
List<nl.b3p.ogc.utils.SpLayerSummary> foundSpList)
deze methode doorloopt alle service providers en daarbinnen weer alle layers
om vast te stellen of er betaling noodzakelijk is. de bepaalde beprijzing wordt
opgenomen in een transactie van de AccountManager. later wordt de daadwerkelijke
afrekening geeffectueerd als het vervolgproces goed verlopen is.
|
void |
setMaxResponseTime(int maxResponseTime) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetRequest, mayDirectWriteprotected User user
protected String url
protected int maxResponseTime
protected abstract nl.b3p.ogc.utils.SpLayerSummary getValidLayerObjects(javax.persistence.EntityManager em,
nl.b3p.ogc.utils.LayerSummary m,
Integer[] orgIds,
boolean b3pLayering)
throws Exception
em - EntityManagerlayer - layer naam met sp abbrr (abbr_layer)orgId - organisatie idb3pLayering - bepaalt of service layers toegevoegd worden, true = alleen service layers,
false = alleen echte layers.Exception - indien gezochte layer niet bestaat of er geen rechten op zijngetValidLayerObjects(EntityManager em, String query, String layer, Integer orgId, boolean b3pLayering) throws Exceptionprotected nl.b3p.ogc.utils.SpLayerSummary getValidLayerObjects(javax.persistence.EntityManager em,
String query,
nl.b3p.ogc.utils.LayerSummary m,
Integer[] orgIds,
boolean b3pLayering)
throws Exception
em - EntityManagerquery - query waarmee rechten en bestaan gecheckt kan wordenm - orgIds - b3pLayering - bepaalt of service layers toegevoegd worden, true = alleen service layers,
false = alleen echte layers.spAbbrUrl - Exception - indien gezochte layer niet bestaat of er geen rechten op zijngetValidLayerObjects(EntityManager em, String query, String layer, Integer orgId, boolean b3pLayering) throws Exceptionpublic boolean isConfigInUrlAndAdmin(DataWrapper data, User user)
protected List getServiceProviderURLS(List<nl.b3p.ogc.utils.LayerSummary> lsl, Integer[] orgIds, boolean checkForQueryable, DataWrapper dw, boolean maintainOrder) throws Exception
een en ander is nodig bij map images om layers in exact de juiste volgorde op elkaar te plaatsen. bij featureinfo dient de volgorde in het xml ook overeen te komen met de volgorde in de request.
er zijn 2 soorten layers: normale layers zoals deze door de gebruiker zijn geselecteerd en service layers (b3playering) welke gebruikt worden door kaartenbalie om gebruikers in de gelegenheid te stellen afrekenen toe te staan, hun credit hoeveelheid te zien en om over-head-display foutmeldingen te geven. de layers van b3playering worden altijd boven op geplaatst, zodat de layers 2x door lopen moeten worden.
layers - array van layers waarvan de serviceprovider moet worden opgezochtorgId - organbisatie idcheckForQueryable - true = zoek alleen layers die queryable zijndw - datawrapperException - fout bij ophalen layer informatieprotected abstract LayerPriceComposition calculateLayerPriceComposition(DataWrapper dw, ExtLayerCalculator lc, String spAbbr, String layerName) throws Exception
dw - datawrapperlc - LayerCalculator bepaalt de calculatie methodelayerId - laag id waarvoor prijs berekend moet wordenException - fout bij prijsbepalingprotected List<nl.b3p.ogc.utils.SpLayerSummary> prepareAccounting(Integer orgId, DataWrapper dw, List<nl.b3p.ogc.utils.SpLayerSummary> foundSpList) throws Exception
indien wel betaling noodzakelijk is, maar er is geen toestemming of credit dan wordt een over-head-display image aangemaakt met melding.
orgId - organisatie iddw - datawrapperfoundSpList - lijst van service providers die doorlopen moet wordenException - fout bij bepaling prijspublic void doAccounting(Integer orgId, DataWrapper data, User user) throws Exception
orgId - organisatie iddata - datawrapperuser - user objectException - fout bij afronden transactieprotected nl.b3p.wms.capabilities.Layer getLayerByUniqueName(String uniqueName) throws Exception
Exceptionprotected void addToServerProviderList(List<nl.b3p.ogc.utils.SpLayerSummary> eventualSPList, nl.b3p.ogc.utils.SpLayerSummary layerInfo, boolean maintainOrder)
een nieuwe layer mag niet aan een eerder in de lijst geplaatste service provider worden toegevoegd (ook al is dat wel de zelfde) omdat dan de volgorde van de layers niet meer klopt. Consequentie is dat service providers soms meerdere keren worden aangeroepen.
eventualSPList - lijst met service providers in juiste volgorelayerInfo - maintainOrder - protected void configB3pLayering(List<nl.b3p.ogc.utils.LayerSummary> lsl, Map config) throws Exception
de service layer AllowTransactionsLayer plaatst bv een boolean in de config map, zodat verder op de accouting methodes weten dan de gebruiker afrekenen heeft toegestaan.
layers - lijst van alle layersconfig - map met configuratie infoException - fout bij configurerenpublic int getMaxResponseTime()
public void setMaxResponseTime(int maxResponseTime)
maxResponseTime - the maxResponseTime to setCopyright © 2015. All rights reserved.