private void AssertAllRerefencesAvailableOnCommit(IReferenceSystem referenceSystem ) { FillReferenceSystem(referenceSystem); referenceSystem.Commit(); AssertAllReferencesAvailable(referenceSystem); }
private void FillReferenceSystem(IReferenceSystem referenceSystem) { for (var i = 0; i < References.Length; i++) { referenceSystem.AddNewReference((ObjectReference) References[i]); } }
public Transaction(ObjectContainerBase container, Transaction systemTransaction, IReferenceSystem referenceSystem) { // contains DeleteInfo nodes _container = container; _systemTransaction = systemTransaction; _referenceSystem = referenceSystem; }
public LocalTransaction(ObjectContainerBase container, Transaction parentTransaction , ITransactionalIdSystem idSystem, IReferenceSystem referenceSystem) : base(container , parentTransaction, referenceSystem) { _file = (LocalObjectContainer) container; _committedCallbackDispatcher = new _ICommittedCallbackDispatcher_39(this); _idSystem = idSystem; }
/// <exception cref="System.Exception"></exception> public virtual void SetUp() { _registry = new ReferenceSystemRegistry(); _referenceSystem1 = new TransactionalReferenceSystem(); _referenceSystem2 = new TransactionalReferenceSystem(); _registry.AddReferenceSystem(_referenceSystem1); _registry.AddReferenceSystem(_referenceSystem2); }
private void UnbindAll(IInternalObjectContainer container) { Db4objects.Db4o.Internal.Transaction transaction = container.Transaction; // FIXME should that ever happen? if (transaction == null) { return; } IReferenceSystem referenceSystem = transaction.ReferenceSystem(); referenceSystem.TraverseReferences(new _IVisitor4_95(this)); }
/// <summary> /// Initializes a new instance of the <see cref="GeometryList{T}" /> class. /// </summary> /// <param name="capacity">The number of elements that the list can initially store.</param> /// <param name="precisionModel">The precision model.</param> /// <param name="referenceSystem">The reference system.</param> /// <param name="metadata">The metadata.</param> /// <exception cref="System.ArgumentOutOfRangeException">The capacity is less than 0.</exception> public GeometryList(Int32 capacity, PrecisionModel precisionModel, IReferenceSystem referenceSystem, IDictionary <String, Object> metadata) : base(precisionModel, referenceSystem, metadata) { if (capacity < 0) { throw new ArgumentOutOfRangeException("capacity", "The capacity is less than 0."); } _geometries = new T[capacity]; _size = 0; _version = 0; }
/// <summary> /// Writes the Coordinate Reference System to GeoJSON file. /// </summary> /// <param name="system">The ReferenceSystem.</param> private void WriteCoordinateReferenceSystem(IReferenceSystem system) { _jsonwriter.WritePropertyName("crs"); _jsonwriter.WriteStartObject(); _jsonwriter.WritePropertyName("type"); _jsonwriter.WriteValue("name"); _jsonwriter.WritePropertyName("properties"); _jsonwriter.WriteStartObject(); _jsonwriter.WritePropertyName("name"); _jsonwriter.WriteValue(system.Identifier); _jsonwriter.WriteEndObject(); _jsonwriter.WriteEndObject(); }
public override Transaction NewTransaction(Transaction parentTransaction, IReferenceSystem referenceSystem, bool isSystemTransaction) { ITransactionalIdSystem systemIdSystem = null; if (!isSystemTransaction) { systemIdSystem = SystemTransaction().IdSystem(); } IClosure4 idSystem = new _IClosure4_58(this); ITransactionalIdSystem transactionalIdSystem = NewTransactionalIdSystem(systemIdSystem , idSystem); return new LocalTransaction(this, parentTransaction, transactionalIdSystem, referenceSystem ); }
/// <summary> /// Reads the reference system. /// </summary> private void ReadReferenceSystem() { // read the reference system from the WKT text using (StreamReader reader = new StreamReader(OpenPath(ReferenceSystemFilePath))) { StringBuilder builder = new StringBuilder(); while (!reader.EndOfStream) { builder.Append(reader.ReadLine().Trim()); } _referenceSystem = WellKnownTextConverter.ToReferenceSystem(builder.ToString()); } }
/// <summary> /// Reads the reference system. /// </summary> private void ReadReferenceSystem() { // read the reference system from the WKT text using (StreamReader reader = new StreamReader(_fileSystem.OpenFile(_basePath + _fileSystem.DirectorySeparator + _baseFileName + ".prj", FileMode.Open))) { StringBuilder builder = new StringBuilder(); while (!reader.EndOfStream) { builder.Append(reader.ReadLine().Trim()); } _referenceSystem = WellKnownTextConverter.ToReferenceSystem(builder.ToString()); } }
/// <summary> /// Apply the read operation for a geometry. /// </summary> /// <returns>The geometry read from the stream.</returns> protected override IGeometry ApplyReadGeometry() { try { IReferenceSystem referenceSystem = ReadGeometryReferenceSystem(); IRaster raster = ReadRasterContent(referenceSystem); IDictionary <String, Object> metadata = ReadGeometryMetadata(); return(ResolveFactory(referenceSystem).CreateSpectralPolygon(raster, metadata)); } catch (Exception ex) { throw new InvalidDataException("Stream content is invalid.", ex); } }
private void RemoveReference(ReferenceSystemRegistry.IReferenceSource referenceSource ) { IEnumerator i = _referenceSystems.GetEnumerator(); while (i.MoveNext()) { IReferenceSystem referenceSystem = (IReferenceSystem)i.Current; ObjectReference reference = referenceSource.ReferenceFrom(referenceSystem); if (reference != null) { referenceSystem.RemoveReference(reference); } } }
public virtual void TestRemoveReferenceSystemOnClose() { LocalObjectContainer container = (LocalObjectContainer)Db(); IReferenceSystem referenceSystem = container.CreateReferenceSystem(); Transaction transaction = container.NewTransaction(container.SystemTransaction(), referenceSystem, false); referenceSystem.AddNewReference(new ObjectReference(TestId)); referenceSystem.AddNewReference(new ObjectReference(TestId + 1)); container.ReferenceSystemRegistry().RemoveId(TestId); Assert.IsNull(referenceSystem.ReferenceForId(TestId)); transaction.Close(false); container.ReferenceSystemRegistry().RemoveId(TestId + 1); Assert.IsNotNull(referenceSystem.ReferenceForId(TestId + 1)); }
public override Transaction NewTransaction(Transaction parentTransaction, IReferenceSystem referenceSystem, bool isSystemTransaction) { ITransactionalIdSystem systemIdSystem = null; if (!isSystemTransaction) { systemIdSystem = SystemTransaction().IdSystem(); } IClosure4 idSystem = new _IClosure4_58(this); ITransactionalIdSystem transactionalIdSystem = NewTransactionalIdSystem(systemIdSystem , idSystem); return(new LocalTransaction(this, parentTransaction, transactionalIdSystem, referenceSystem )); }
/// <summary> /// Adds an era. /// </summary> /// <param name="identifier">The identifier.</param> /// <param name="name">The name.</param> /// <param name="begin">The beginning date.</param> /// <param name="end">The ending date.</param> /// <exception cref="System.ArgumentException"> /// The beginning date has a different reference system to the eras. /// or /// The ending date has a different reference system to the eras. /// </exception> public void AddEra(String identifier, String name, DateAndTime begin, Positioning.DateAndTime end) { if (_beginEndReferenceSystem == null) { _beginEndReferenceSystem = begin.ReferenceSystem; } if (!_beginEndReferenceSystem.Equals(begin.ReferenceSystem)) { throw new ArgumentException("The beginning date has a different reference system to the eras.", "begin"); } if (!_beginEndReferenceSystem.Equals(end.ReferenceSystem)) { throw new ArgumentException("The ending date has a different reference system to the eras.", "end"); } _eras.Add(new OrdinalEra(identifier, name, this, begin, end)); }
/// <summary> /// Converts the geometry from Geography Markup Language (GML) representation. /// </summary> /// <param name="source">The source XML element.</param> /// <param name="geometryFactory">The geometry factory.</param> /// <param name="referenceSystemFactory">The reference system factory.</param> /// <returns>The converted geometry.</returns> /// <remarks> /// The <see cref="XElement" /> does not contain the namespace attribute for <code>gml</code> /// (<code>xmlns:gml="http://www.opengis.net/gml/"</code>), which should be added to a parent node before usage. /// </remarks> /// <exception cref="System.ArgumentNullException"> /// The source is null. /// or /// The geometry factory is null. /// or /// The reference system factory is null. /// </exception> /// <exception cref="System.ArgumentException">The specified source is invalid.</exception> public static IGeometry ToGeometry(this XElement source, IGeometryFactory geometryFactory, IReferenceSystemFactory referenceSystemFactory) { if (source == null) { throw new ArgumentNullException(nameof(source)); } if (geometryFactory == null) { throw new ArgumentNullException(nameof(geometryFactory)); } if (referenceSystemFactory == null) { throw new ArgumentNullException(nameof(referenceSystemFactory)); } IReferenceSystem referenceSystem = GetReferenceSystem(source.Attribute("srsName"), referenceSystemFactory); return(ToGeometry(source, geometryFactory.WithReferenceSystem(referenceSystem))); }
public virtual void TestClose() { Transaction trans = null; lock (_server.Lock()) { trans = _server.NewUserTransaction(); } IReferenceSystem referenceSystem = trans.ReferenceSystem(); ObjectContainerSession client = new ObjectContainerSession(_server, trans); // FIXME: Need to unregister reference system also // for crashed clients that never get closed. client.Close(); // should have been removed on close. bool wasNotRemovedYet = _server.ReferenceSystemRegistry().RemoveReferenceSystem(referenceSystem ); Assert.IsFalse(wasNotRemovedYet); }
/// <summary> /// Initializes a new instance of the <see cref="Polygon" /> class. /// </summary> /// <param name="precisionModel">The precision model.</param> /// <param name="referenceSystem">The reference system.</param> /// <param name="shell">The shell.</param> /// <param name="holes">The collection of holes.</param> /// <exception cref="System.ArgumentNullException">The shell is null.</exception> public Polygon(PrecisionModel precisionModel, IReferenceSystem referenceSystem, LinearRing shell, IEnumerable <LinearRing> holes) : base(precisionModel, referenceSystem) { // initialize shell this.Shell = shell ?? throw new ArgumentNullException(nameof(shell)); // initialize holes this.holes = new List <LinearRing>(); if (holes != null) { foreach (LinearRing hole in holes) { if (hole == null) { continue; } this.holes.Add(hole); } } }
/// <summary> /// Resolves the geometry factory. /// </summary> /// <param name="referenceSystem">The reference system.</param> /// <returns>The factory for producing geometries.</returns> protected IGeometryFactory ResolveFactory(IReferenceSystem referenceSystem) { if (_factory == null) { if (_factoryType == null) { _factory = FactoryRegistry.GetFactory <IGeometryFactory>(referenceSystem); } else { _factory = (IGeometryFactory)FactoryRegistry.GetFactory(_factoryType, referenceSystem); } } if (referenceSystem != null && !_factory.ReferenceSystem.Equals(referenceSystem)) { _factory = (IGeometryFactory)FactoryRegistry.GetFactory(_factory.GetType(), referenceSystem); } return(_factory); }
/// <summary> /// Reads the raster of the geometry. /// </summary> /// <param name="referenceSystem">The reference system.</param> /// <returns>The raster of the geometry.</returns> private IRaster ReadRasterContent(IReferenceSystem referenceSystem) { IRaster raster = ResolveFactory(referenceSystem).GetFactory <ISpectralGeometryFactory>().GetFactory <IRasterFactory>().CreateRaster(_numberOfBands, _numberOfRows, _numberOfColumns, _radiometricResolution, _mapper); _baseStream.Seek(_bytesSkipped, SeekOrigin.Begin); Int32 numberOfStrips; switch (_layout) { case RawImageLayout.BandInterlevedByLine: case RawImageLayout.BandInterlevedByPixel: // prevent from reading too much bytes into the memory at once numberOfStrips = _bytesPerBandRow / MaxReadableByteCount; for (Int32 i = 0; i < numberOfStrips; i++) { ReadStrip(MaxReadableByteCount, raster); } ReadStrip(_bytesPerRow - numberOfStrips * MaxReadableByteCount, raster); break; case RawImageLayout.BandSequential: // prevent from reading too much bytes into the memory at once numberOfStrips = _bytesPerRow / MaxReadableByteCount; for (Int32 i = 0; i < numberOfStrips; i++) { ReadStrip(MaxReadableByteCount, raster); } ReadStrip(_bytesPerRow - numberOfStrips * MaxReadableByteCount, raster); break; } return(raster); }
public virtual void SetUp() { _refSys = CreateReferenceSystem(); }
private void AssertContains(IReferenceSystem referenceSystem, object[] objects) { var expectingVisitor = new ExpectingVisitor(objects); referenceSystem.TraverseReferences(expectingVisitor); expectingVisitor.AssertExpectations(); }
internal TransactionObjectCarrier(ObjectContainerBase container, Transaction parentTransaction , ITransactionalIdSystem idSystem, IReferenceSystem referenceSystem) : base(container , parentTransaction, idSystem, referenceSystem) { _idSystem = idSystem; }
public ObjectReference ReferenceFrom(IReferenceSystem referenceSystem) { return referenceSystem.ReferenceForId(id); }
private void AssertAllReferencesAvailable(IReferenceSystem referenceSystem) { AssertContains(referenceSystem, References); }
public TransactionalReferenceSystemBase() { CreateNewReferences(); _committedReferences = NewReferenceSystem(); }
/// <summary> /// Initializes a new instance of the <see cref="StoredGeometryCollection{GeometryType}" /> class. /// </summary> /// <param name="precisionModel">The precision model.</param> /// <param name="referenceSystem">The reference system.</param> /// <param name="driver">The geometry driver.</param> /// <param name="identifier">The feature identifier.</param> /// <param name="indexes">The indexes of the geometry within the feature.</param> /// <exception cref="System.ArgumentNullException"> /// The driver is null. /// or /// The identifier is null. /// </exception> public StoredGeometryCollection(PrecisionModel precisionModel, IReferenceSystem referenceSystem, IGeometryDriver driver, String identifier, IEnumerable <Int32> indexes) : base(precisionModel, referenceSystem, driver, identifier, indexes) { }
protected virtual void CreateNewReferences() { _newReferences = NewReferenceSystem(); }
// do nothing here public override sealed Transaction NewTransaction(Transaction parentTransaction, IReferenceSystem referenceSystem, bool isSystemTransaction) { if (null != parentTransaction) { return parentTransaction; } return new TransactionObjectCarrier(this, null, new TransportIdSystem(this), referenceSystem ); }
public virtual bool RemoveReferenceSystem(IReferenceSystem referenceSystem) { bool res = _referenceSystems.Remove(referenceSystem); referenceSystem.Discarded(); return res; }
public ObjectReference ReferenceFrom(IReferenceSystem referenceSystem) { return reference; }
/// <summary> /// Initializes a new instance of the <see cref="Triangle" /> class. /// </summary> /// <param name="first">The first coordinate.</param> /// <param name="second">The second coordinate.</param> /// <param name="third">The third coordinate.</param> /// <param name="precisionModel">The precision model.</param> /// <param name="referenceSystem">The reference system.</param> /// <param name="metadata">The metadata.</param> public Triangle(Coordinate first, Coordinate second, Coordinate third, PrecisionModel precisionModel, IReferenceSystem referenceSystem, IDictionary <String, Object> metadata) : base(new Coordinate[] { first, second, third }, null, precisionModel, referenceSystem, metadata) { }
private void AssertAllRerefencesAvailableOnNew(IReferenceSystem referenceSystem) { FillReferenceSystem(referenceSystem); AssertAllReferencesAvailable(referenceSystem); }
/// <summary> /// Initializes a new instance of the <see cref="Point" /> class. /// </summary> /// <param name="precisionModel">The precision model.</param> /// <param name="referenceSystem">The reference system.</param> /// <param name="coordinate">The coordinate.</param> public Point(PrecisionModel precisionModel, IReferenceSystem referenceSystem, Coordinate coordinate) : base(precisionModel, referenceSystem) { this.coordinate = this.PrecisionModel.MakePrecise(coordinate); }
private void AssertEmpty(IReferenceSystem referenceSystem) { AssertContains(referenceSystem, new object[] {}); }
public ObjectReference ReferenceFrom(IReferenceSystem referenceSystem) { return(referenceSystem.ReferenceForId(id)); }
public ObjectReference ReferenceFrom(IReferenceSystem referenceSystem) { return(referenceSystem.ReferenceForObject(obj)); }
public ObjectReference ReferenceFrom(IReferenceSystem referenceSystem) { return(reference); }
/// <summary> /// Initializes a new instance of the <see cref="MultiPoint" /> class. /// </summary> /// <param name="precisionModel">The precision model.</param> /// <param name="referenceSystem">The reference system.</param> public MultiPoint(PrecisionModel precisionModel, IReferenceSystem referenceSystem) : base(precisionModel, referenceSystem) { }
public virtual void AddReferenceSystem(IReferenceSystem referenceSystem) { _referenceSystems.Add(referenceSystem); }
/// <summary> /// Initializes a new instance of the <see cref="MultiPoint" /> class. /// </summary> /// <param name="precisionModel">The precision model.</param> /// <param name="referenceSystem">The reference system.</param> /// <param name="source">The source of points.</param> /// <exception cref="System.ArgumentNullException">The source is null.</exception> public MultiPoint(PrecisionModel precisionModel, IReferenceSystem referenceSystem, IEnumerable <IPoint> source) : base(precisionModel, referenceSystem, source) { }
public ObjectReference ReferenceFrom(IReferenceSystem referenceSystem) { return referenceSystem.ReferenceForObject(obj); }
/// <summary> /// Initializes a new instance of the <see cref="MultiLineString" /> class. /// </summary> /// <param name="precisionModel">The precision model.</param> /// <param name="referenceSystem">The reference system.</param> public MultiLineString(PrecisionModel precisionModel, IReferenceSystem referenceSystem) : base(precisionModel, referenceSystem) { }
/// <summary> /// Initializes a new instance of the <see cref="MultiLineString" /> class. /// </summary> /// <param name="precisionModel">The precision model.</param> /// <param name="referenceSystem">The reference system.</param> /// <param name="source">The source of line strings.</param> /// <exception cref="System.ArgumentNullException"> /// The factory is null. /// or /// The source is null. /// </exception> public MultiLineString(PrecisionModel precisionModel, IReferenceSystem referenceSystem, IEnumerable <ILineString> source) : base(precisionModel, referenceSystem, source) { }
public sealed override Transaction NewTransaction(Transaction parentTransaction, IReferenceSystem referenceSystem, bool isSystemTransaction) { return new ClientTransaction(this, parentTransaction, referenceSystem); }
internal ClientTransaction(ClientObjectContainer container, Transaction parentTransaction , IReferenceSystem referenceSystem) : base(container, parentTransaction, referenceSystem ) { _client = container; }
public abstract Transaction NewTransaction(Transaction parentTransaction, IReferenceSystem referenceSystem, bool isSystemTransaction);