]>
git.mxchange.org Git - core.git/log
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>
Roland Haeder [Thu, 15 May 2014 20:24:55 +0000 (22:24 +0200)]
Continued with file-based stacks:
- BaseFileStack now extends BaseStacker and overwrites some methods to have own implementations
- renamed 'io' to 'file_directory'
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 19:40:41 +0000 (21:40 +0200)]
Fixed, opps.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 19:35:09 +0000 (21:35 +0200)]
Continued with loader and file i/o stuff:
- renamed interface to SeekableWritableFileIterator as this interface allows
write operations (such calls are forwarded to the wrapped
file_raw_input_output_pointer_class instance).
- Removed .svn from excepted paths as this won't be the case.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 19:23:04 +0000 (21:23 +0200)]
Fixed calling ObjectFactory::createObjectByConfiguredName() as 2nd parameter must be an array.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 19:20:29 +0000 (21:20 +0200)]
Check if path can be loadded before attempting it.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 19:17:20 +0000 (21:17 +0200)]
Added scanApplicationClasses().
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 15 May 2014 18:56:12 +0000 (20:56 +0200)]
Continued:
- added FileIoIterator class and rewrote BaseFileStack to use it.
- added BaseIterator class from 'hub' project.
- added SeekableFileIterator which extends SPLs SeekableIterator.
- assertion added for above interface to make sure that 'file_io_iterator'
is a valid instance.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 14 May 2014 21:42:53 +0000 (23:42 +0200)]
Initialize the file-based stack with initStack() where e.g. the file i/o
pointer instance can be set.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 14 May 2014 20:58:48 +0000 (22:58 +0200)]
Added fileName parameter.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 14 May 2014 19:39:18 +0000 (21:39 +0200)]
Don't call the class' factory method directly, use ObjectFactory and
createObjectByConfiguredName() instead. This makes reimplementing classes much
easier.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 14 May 2014 19:38:59 +0000 (21:38 +0200)]
Introduced scanFrameworkClasses().
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 14 May 2014 19:29:38 +0000 (21:29 +0200)]
Reverted some last changes + added FrameworkFileInputOutputPointer which allows reading and writing.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 14 May 2014 19:17:21 +0000 (21:17 +0200)]
Rewrote both file i/o classes to have a common BaseFileIo class.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 14 May 2014 18:54:32 +0000 (20:54 +0200)]
Added explanation and improved format (idea).
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 13 May 2014 21:09:09 +0000 (23:09 +0200)]
Continued with file-based stacks:
- added first draft of file-based stacks (hash sums are missing)
- added initial base class and stub for file-based stacks
- ignored chash.pos (file created by chash.php)
- ignored any backup files (*.*~)
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Häder [Tue, 13 May 2014 06:41:45 +0000 (08:41 +0200)]
Fixed reading directories.
Signed-off-by: Roland Häder <haeder@hmmdeutschland.de>
Roland Haeder [Mon, 12 May 2014 21:14:35 +0000 (23:14 +0200)]
Commented out noisy debug lines.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 12 May 2014 20:48:19 +0000 (22:48 +0200)]
Improved directory (non-recursive) reading:
- Refactured FrameworkDirectoryPointer to use DirectoryIterator (SPL).
- The use of isDot() makes excluding '.' and '..' obsolete (would be double),
so more classes can be improved here.
- Also use ObjectFactory instead of direct class name for better flexibility.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 12 May 2014 20:47:31 +0000 (22:47 +0200)]
Rewrites for client factory, added methods for HttpClient (mostly from ConsoleClient).
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 12 May 2014 20:44:35 +0000 (22:44 +0200)]
Added first client (HTTP) classes and interfaces for rewrite of the very simple methods in ConsoleTools and later for many places more.
Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Häder [Mon, 28 Apr 2014 15:10:25 +0000 (17:10 +0200)]
Not the string again.
Signed-off-by: Roland Häder <haeder@hmmdeutschland.de>