| Summary: | Utilize own Uri and Uri.Encoded class w/ proper encoding and differentiating encoded/decoded variants by type | ||
|---|---|---|---|
| Product: | [JogAmp] Gluegen | Reporter: | Sven Gothel <sgothel> |
| Component: | core | Assignee: | Sven Gothel <sgothel> |
| Status: | RESOLVED FIXED | ||
| Severity: | enhancement | CC: | askinner, brice.figureau, harvey.harrison, org.jogamp |
| Priority: | --- | ||
| Version: | 2.3.0 | ||
| Hardware: | All | ||
| OS: | all | ||
| Type: | --- | SCM Refs: |
5205e47e8a2e84e793b26305391b1c4f8648597c
2d615932505d4870f3fd0dd37f21fb3d308ab536
6322991799268166e46aeeacb142c11d45950f48
dde91a061cb0bc209442fe0e74a532b91d1bb4b8
6a466e3f1e92a1e831ea61d1bb72c32f56b2a28d
jogl 1bdc495c19d3c8798a56d8476247084f0c870b48
c97e35377aea70cb293cabdd205bcc5da64b95c6
|
| Workaround: | --- | ||
| Bug Depends on: | 908 | ||
| Bug Blocks: | 1103, 1109 | ||
|
Description
Sven Gothel
2014-09-07 08:03:44 CEST
commit 5205e47e8a2e84e793b26305391b1c4f8648597c
branch v2.3.0_branch
Utilize own Uri and Uri.Encoded class w/ proper encoding
and differentiating encoded/decoded variants by type [Part 1]
- Add immutable com.jogamp.common.net.Uri class impl.
RFC 2396 w/ encoding of RFC 3986
- Class Uri.Encoded is used to represent encoded parts
- IOUtil: Remove unused methods (residing in Uri)
and mark others deprecated (will move to Uri)
- Adopt usage of Uri: This must be completet in follow-up commits!
2d615932505d4870f3fd0dd37f21fb3d308ab536
- Uri.PATH_LEGAL: Remove reserved 'punct',
encoding all reserved chars but '!', allows removal of PATH_MIN_LEGAL
- Add comment for Harmony values for review
6322991799268166e46aeeacb142c11d45950f48
- Refine Uri
- remove System.err.print*
- scheme is of type Encode
- Refine Uri.Encode
- substring(..) shall return type Encode
- Fix unit tests (passing on GNU/Linux, OSX and Windows)
dde91a061cb0bc209442fe0e74a532b91d1bb4b8
Complete Uri impl. and adoption throughout GlueGen
- Uri:
- Add error correction (fix) of path at ctor
in case a a contained Uri is requested from an opaque one.
The latter might come from URI/URL and is not properly encoded!
See Uri.PARSE_HINT_FIX_PATH
- Simplify conversion methods:
- valueOf(URI/URL): Re-encode only if not opaque
- getNativeFilePath() -> toFile()
- Move IOUtil Uri related constants to class Uri
- Add DEBUG and DEBUG_SHOWFIX
- Complete adoption of URI -> Uri changes
- IOUtil, JarUtil and TempJarCache still holds some
left over deprecated methods, which will be removed
after officially starting 2.3.0 (JOGL dependencies)
- Otherwise not URI utilization left
- Tests
- Cleaned TestUri01 and TestUri03Resolving
- TestUri03Resolving also tests URL -> Uri,
and hence mentioned Uri.PARSE_HINT_FIX_PATH
6a466e3f1e92a1e831ea61d1bb72c32f56b2a28d
Further Uri completion - As a result of JOGL Uri adoption
jogl 1bdc495c19d3c8798a56d8476247084f0c870b48
Uri adoption
- ShaderCode:
- Using Uri
- Also encode the rel. 'includeFile' (was missing earlier)
- GLMediaPlayer
- Exposes Uri in API, removed URI
c97e35377aea70cb293cabdd205bcc5da64b95c6
- Refine API doc
- Add notion of {@code host} and {@code port} validation
- Add create(Encoded ..), allowing creation of variants w/o re-encoding
- Provide common impl. for getNormalized(), getDirectory(),
getParent() and getRelativeOf()
Above feature methods share common goals, hence use same implementation:
- If opaque, cut-off query and merge after operation
- cleanup path, i.e. /dummy/../test/ -> /test/
- cutoff file, dir - if requested
- append optional appendix and cleanup again
Return behavior various thought, i.e. null, this or allow exception.
Enhanced test of above features.
|