setattr(store, name, valu)

     cat.add(store)
     return store

  def keys(self):
     stores = self.catalog._catalog.getDataStoresByWorkspace(self._info);
     return [s.name for s in stores]

  def __getitem__(self, key):
     store = self.catalog._catalog.getDataStoreByName(self._info, key)
     if store:
       return Store(store, self.catalog)

     raise KeyError('No such store %s' % key)

  def __setitem__(self, key, val):
    self.add(key, val)

  def __iter__(self):
    return self.keys().__iter__()    

  def iterkeys(self):
    return self.keys().__iter__()

  def iteritems(self):
    for st in self.keys():
      yield (st, self.get(st))

Workspace = info(Workspace)
Exemple #2
0
            else:
                raise Exception('Unable to create store from %s' % str(store))

    @lazy
    def data(self):
        return GeoScriptWorkspace(ds=self._info.getDataStore(None))

    def keys(self):
        featureTypes = self.catalog._catalog.getFeatureTypesByStore(self._info)
        return [ft.getName() for ft in featureTypes]

    def __getitem__(self, key):
        layer = self.catalog._catalog.getFeatureTypeByStore(self._info, key)
        if layer:
            return Layer(layer, self)

        raise KeyError('No such layer %s' % (key))

    def __iter__(self):
        return self.layers().__iter__()

    def iterkeys(self):
        return self.layers().__iter__()

    def iteritems(self):
        for l in self.layers():
            return (l, self.__getitem__(l))


Store = info(Store)
Exemple #3
0
           self._info = ds
        else:
           raise Exception('Unable to create store from %s' % str(store))

   @lazy
   def data(self):
     return GeoScriptWorkspace(ds=self._info.getDataStore(None))

   def keys(self):
     featureTypes = self.catalog._catalog.getFeatureTypesByStore(self._info)
     return [ft.getName() for ft in featureTypes]

   def __getitem__(self, key):
     layer = self.catalog._catalog.getFeatureTypeByStore(self._info, key)
     if layer:
       return Layer(layer, self)

     raise KeyError('No such layer %s' % (key))

   def __iter__(self):
     return self.layers().__iter__()

   def iterkeys(self):
     return self.layers().__iter__()

   def iteritems(self):
     for l in self.layers():
       return (l, self.__getitem__(l))

Store = info(Store)
Exemple #4
0
                store = Store(store)

            if not store:
                raise Exception('Unable to find store for layer %s' %
                                str(layer))

            self.store = store

        if not self._info:
            if isinstance(layer, (str, unicode)):
                cat = self.catalog
                ft = cat._catalog.getFeatureTypeByDataStore(
                    self.store._info, layer)

                if not ft:
                    b = cat.builder()
                    b.setStore(store._info)
                    ft = b.buildFeatureType(Name(layer))

                self._info = ft
            else:
                raise Exception('Unable to create layer from %s' % str(layer))

    @lazy
    def data(self):
        fs = self._info.getFeatureSource(None, None)
        return GeoScriptLayer(workspace=self.store.data, fs=fs)


Layer = info(Layer)
Exemple #5
0
        cat.add(store)
        return store

    def keys(self):
        stores = self.catalog._catalog.getDataStoresByWorkspace(self._info)
        return [s.name for s in stores]

    def __getitem__(self, key):
        store = self.catalog._catalog.getDataStoreByName(self._info, key)
        if store:
            return Store(store, self, self.catalog)

        raise KeyError('No such store %s' % key)

    def __setitem__(self, key, val):
        self.add(key, val)

    def __iter__(self):
        return self.keys().__iter__()

    def iterkeys(self):
        return self.keys().__iter__()

    def iteritems(self):
        for st in self.keys():
            yield (st, self.get(st))


Workspace = info(Workspace)
Exemple #6
0
from geoscript.layer import Layer as GeoScriptLayer
from org.geotools.feature import NameImpl as Name

class Layer(object):
  """
  A GeoServer layer.
  """

  def __init__(self, layer, store):
    self.store = store
    self.catalog = store.catalog

    if isinstance(layer, (str,unicode)):
      cat = self.catalog
      ft = cat._catalog.getFeatureTypeByDataStore(self.store._info, layer)
      if not ft:
        b = cat.builder()
        b.setStore(store._info)
        ft = b.buildFeatureType(Name(layer))

      self._info = ft
    else:
      self._info = layer

  @lazy
  def data(self):
    fs = self._info.getFeatureSource(None, None)
    return GeoScriptLayer(workspace=self.store.data, fs=fs)

Layer = info(Layer)