]>
git.mxchange.org Git - core.git/log
Roland Haeder [Sat, 24 May 2014 11:36:59 +0000 (13:36 +0200)]
Uh, need this method now, but does it work this way?
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 24 May 2014 11:34:17 +0000 (13:34 +0200)]
No iterator call here + added assertion.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 24 May 2014 11:32:04 +0000 (13:32 +0200)]
Also satisfied it here.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 24 May 2014 11:29:49 +0000 (13:29 +0200)]
Satisfied Pointer interface for this class.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 24 May 2014 11:26:18 +0000 (13:26 +0200)]
Moved analyzeFile() to BaseFile where a much better place is (and duplicate
code is avoided, too).
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 23 May 2014 23:53:14 +0000 (01:53 +0200)]
If the EOF is reached (means no block found or really reached the last block),
the whole loaded data needs to be set as currently loaded block. Only
setCurrentBlock() needs to be called then. :-)
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 23 May 2014 23:43:17 +0000 (01:43 +0200)]
Added assert() + noisy debug line + fixed double-implementation of an interface.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 23 May 2014 23:37:26 +0000 (01:37 +0200)]
EOF needs to be checked again.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 23 May 2014 23:35:07 +0000 (01:35 +0200)]
Syntax error fixed.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 23 May 2014 23:34:09 +0000 (01:34 +0200)]
Also satify these classes.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 23 May 2014 23:32:08 +0000 (01:32 +0200)]
Introduced isEndOfFileReached() + added a noisy debug line.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 23 May 2014 23:25:04 +0000 (01:25 +0200)]
Moved some code to BaseFrameworkSystem, and yes: getBlockSeparator() looks stupid. ;-)
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 23 May 2014 23:02:25 +0000 (01:02 +0200)]
Possible implementation for next().
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 23 May 2014 19:12:07 +0000 (21:12 +0200)]
Introduced CalculatableBlock + basic implementation for valid().
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 22 May 2014 20:56:40 +0000 (22:56 +0200)]
Satisfied Pointer interface, but it will throw an exception ... ;-)
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 22 May 2014 20:29:15 +0000 (22:29 +0200)]
Introduced interface Pointer, valid() is now used.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 22 May 2014 19:58:52 +0000 (21:58 +0200)]
Added simple loop for checking entries. This will change in the future which is
the reason for putting same code in 2 classes.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Häder [Thu, 22 May 2014 08:18:11 +0000 (10:18 +0200)]
This factory method requires a 2nd parameter, 'wb' should be okay.
Signed-off-by: Roland Häder <haeder@hmmdeutschland.de>
Roland Haeder [Wed, 21 May 2014 20:08:45 +0000 (22:08 +0200)]
Removed declarations + final.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 21 May 2014 19:45:48 +0000 (21:45 +0200)]
Moved all to BaseFile. This currently makes all inheriting classes "lifeless"
but this will change in the future.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 21 May 2014 19:35:49 +0000 (21:35 +0200)]
InputOutputPointer is the right interface.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 21:07:52 +0000 (23:07 +0200)]
Switched from unabstracted file pointer class to a better abstract approach (unfinished).
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 21:03:07 +0000 (23:03 +0200)]
Added abstraction classes for file-based stacks and index files, some setter
have now access level 'protected' as 'public' was not a such good idea.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 20:14:09 +0000 (22:14 +0200)]
Commented out debug lines, another branch may help? But how then when this
repository is referenced as GIT module?
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 20:12:14 +0000 (22:12 +0200)]
Introduced rewineUpdateSeekPosition() which needs to be called after
pre-allocation is done, else the seek position (pointer) shows to the end of
the file which is what you don't want.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 20:01:25 +0000 (22:01 +0200)]
Only seek back to old position if the header has been flushed.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 19:55:08 +0000 (21:55 +0200)]
If you don't rewind + update + flush header, the current seek position shows to
the end of the file. This is not what you want with empty files as the seek
position must show to zero (only "virgin" files).
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 19:50:27 +0000 (21:50 +0200)]
Also include stack name in type. This will allow more index files than one ...
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 19:45:58 +0000 (21:45 +0200)]
Opps. ;-(
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 19:41:41 +0000 (21:41 +0200)]
Introduced seekToOldPosition() and avoided endless loop.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 19:13:14 +0000 (21:13 +0200)]
Renamed method + flushFileHeader() must be callable and have protected access level.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 19:10:32 +0000 (21:10 +0200)]
Introduced: caluclateMinimumFileEntryLength() which calculates the minimum length for one file entry.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 18:56:33 +0000 (20:56 +0200)]
Added missing config entries.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 18:54:34 +0000 (20:54 +0200)]
Opps, needs to append index' file extension.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 18:47:37 +0000 (20:47 +0200)]
Had to rename more stuff.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 18:42:18 +0000 (20:42 +0200)]
Use print_r() instead of direct value.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 18:40:35 +0000 (20:40 +0200)]
readFileHeader() needs to have protected access level + assert on it.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 18:37:45 +0000 (20:37 +0200)]
And another one needs to be removed.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 18:35:30 +0000 (20:35 +0200)]
Removed duplicate methods.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 18:33:37 +0000 (20:33 +0200)]
Renamed one getSeekPosition() to determineSeekPosition().
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 18:30:00 +0000 (20:30 +0200)]
Remove duplicate super constructor.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 18:27:45 +0000 (20:27 +0200)]
Could generalize ("generic") more code which avoid some duplicate fields and methods in BaseIndex.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 17:27:58 +0000 (19:27 +0200)]
Added missing index instance with getter/setter.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 20 May 2014 17:25:08 +0000 (19:25 +0200)]
Added required interface, a special factories uses the Registry Pattern.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 21:31:13 +0000 (23:31 +0200)]
:-( :-(
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 21:27:07 +0000 (23:27 +0200)]
:-(
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 21:24:36 +0000 (23:24 +0200)]
Moved 'file_stack_' after $type to have a nice name.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 21:20:42 +0000 (23:20 +0200)]
Added missing setter.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 21:10:35 +0000 (23:10 +0200)]
Continued with indexes/stacks:
- The FileStackIndexFactory now uses the Registry Pattern to have one index
instance per given type.
- Passed through $prefix as "type"
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 20:35:25 +0000 (22:35 +0200)]
Added initIndex().
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 19:56:23 +0000 (21:56 +0200)]
Added basic classes (and unimplemented) for file-based indexes.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 18:57:05 +0000 (20:57 +0200)]
Some 'final' more, some 'final' less. ;-)
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 18:55:00 +0000 (20:55 +0200)]
Methods isStackFull() and isStackEmpty() needs to be overwritten, too.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 18:45:42 +0000 (20:45 +0200)]
This method can be supported:
- isStackEmpty() can use getStackCount() and compare it with zero.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 18:44:21 +0000 (20:44 +0200)]
These methods may never be supported as initialization of file-based stacks does
currently not work.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 17:52:20 +0000 (19:52 +0200)]
Added Registerable interface as the FileStackFactory is using it.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 17:52:20 +0000 (19:52 +0200)]
Added Registerable interface as the FileStackFactory is using it.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 19 May 2014 17:29:51 +0000 (19:29 +0200)]
Introduced validateFilePointer().
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sun, 18 May 2014 09:27:59 +0000 (11:27 +0200)]
Always read file header.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sun, 18 May 2014 09:23:55 +0000 (11:23 +0200)]
It is readFileHeader().
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sun, 18 May 2014 09:22:58 +0000 (11:22 +0200)]
More commented out.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sun, 18 May 2014 09:20:59 +0000 (11:20 +0200)]
Implemented rudely reading file header + commented out a lot noisy debug lines.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sun, 18 May 2014 08:58:28 +0000 (10:58 +0200)]
Fixed variable name ...
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sun, 18 May 2014 08:57:24 +0000 (10:57 +0200)]
Fixed constant name.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sun, 18 May 2014 08:56:30 +0000 (10:56 +0200)]
Fixed parser error.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sun, 18 May 2014 08:54:51 +0000 (10:54 +0200)]
Added read().
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sun, 18 May 2014 08:53:04 +0000 (10:53 +0200)]
Add stuff for reading header of a file-based stack.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 22:59:19 +0000 (00:59 +0200)]
Introduced writeData() (low-level method).
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 22:50:10 +0000 (00:50 +0200)]
Continued with hash-based stacks:
- added separator between count->seek position
- changed separators: chr(0) is for pre-allocation
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 22:44:56 +0000 (00:44 +0200)]
Pre-allocate way more ...
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 22:42:05 +0000 (00:42 +0200)]
Continued with file-based stacks:
- used writeAtPosition() instead of seek()
- added debug line
- updated documentation
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 22:37:05 +0000 (00:37 +0200)]
Fixed typo.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 22:34:50 +0000 (00:34 +0200)]
Continued with file-based stacks:
- implemented pre-allocation of the file (untested)
- renamed hashString() in BaseFrameworkSystem to hash() and made it static
- added static "getter" getHashLength() (this method's return value is "cached")
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 22:00:35 +0000 (00:00 +0200)]
Added debug lines.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 21:54:36 +0000 (23:54 +0200)]
Removed asserts as they seem to be to hard and returned status code instead.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 21:46:15 +0000 (23:46 +0200)]
Much easier (but not reliable) test.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 21:30:48 +0000 (23:30 +0200)]
The 'c' mode will do the following:
- open file for writing (with + also for reading aka "random access mode")
- if file does not exist, create it
- if file exists, don't truncate (unlike 'w' does) and don't fail (unlike 'x'
does).
- set seek position to beginning of file
- 'b' is for binary data
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 21:28:07 +0000 (23:28 +0200)]
Renamed getPosition() -> getSeekPosition().
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 21:22:23 +0000 (23:22 +0200)]
Typo fixed. ;-(
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 21:21:16 +0000 (23:21 +0200)]
Opps, don't use instance here, file pointer is okay. ;-)
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 21:13:07 +0000 (23:13 +0200)]
Fixed parser error.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 21:11:24 +0000 (23:11 +0200)]
Continued with file-based hash:
- added a lot stuff, such as getter/setter, seek(), rewind()
- moved class fields totalEntries and seekPosition to BaseFileStack
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 17 May 2014 20:41:22 +0000 (22:41 +0200)]
Continued with file-based stacks:
- added flushFileHeader()
- still there will be a lot stub messages
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 16 May 2014 23:05:17 +0000 (01:05 +0200)]
Re-added them again ...
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 16 May 2014 23:02:58 +0000 (01:02 +0200)]
Moved to correct method.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 16 May 2014 23:00:36 +0000 (01:00 +0200)]
Added missing methods from Streamable interface.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 16 May 2014 22:57:00 +0000 (00:57 +0200)]
Opps, had 2 Streamable interfaces ...
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 16 May 2014 22:45:58 +0000 (00:45 +0200)]
Continued with file i/o:
- added saveStreamToFile() to IoHandler
- added saveFile() as unsupported method to FileIoHandler
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 16 May 2014 22:39:55 +0000 (00:39 +0200)]
Maybe more classes needs to have these methods (with thrown exception) as they
may implement any sub interface of Streamable. Please report any you can find.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 16 May 2014 22:34:12 +0000 (00:34 +0200)]
Continued with file-based stacks and file i/o:
- added new interfaces (with some methods)
- added those methods to BaseFileIo so all implementations can have it. Still I
need to find out if really all can e.g. seek.
- Used those new interfaces accordingly
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 16 May 2014 21:49:45 +0000 (23:49 +0200)]
Added new interfaces for file i/o classes.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 16 May 2014 21:26:09 +0000 (23:26 +0200)]
Continued on file-based stack:
- renamed path file_stack -> file
- added (stubs) seek() and size()
- some improvements on format "documentation"
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 21:31:41 +0000 (23:31 +0200)]
Added some class fields/attributes.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 21:00:49 +0000 (23:00 +0200)]
Fixed assertion.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 20:56:49 +0000 (22:56 +0200)]
Fixed type-hint (still no interface).
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 20:54:38 +0000 (22:54 +0200)]
Mode must be 'a+b' (append, binary-safe).
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 20:46:16 +0000 (22:46 +0200)]
Revert "Use realpath() to secure file and path names."
This reverts commit
be3ab368cc0fc436205faf22c910c96a5937bf5e .
Roland Haeder [Thu, 15 May 2014 20:41:23 +0000 (22:41 +0200)]
Use realpath() to secure file and path names.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 20:34:35 +0000 (22:34 +0200)]
Continued:
- added new (and missing) exception FileIsEmptyException
- renamed 'io' -> 'file_directory'.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 20:29:36 +0000 (22:29 +0200)]
Renamed initStack() -> initFileStack() in BaseFileStack + added initStack()
from BaseStacker to overwrite it.
Signed-off-by: Roland Häder <roland@mxchange.org>