Well, I have pushed this (and many other) changes just now. If anyone feels that a different implementation is needed, speak up before 2.1 is released.
On Wed, Jul 8, 2015 at 9:29 AM, Niclas Hedhman (JIRA) <[email protected]> wrote: > > [ > https://issues.apache.org/jira/browse/ZEST-41?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14618054#comment-14618054 > ] > > Niclas Hedhman edited comment on ZEST-41 at 7/8/15 6:28 AM: > ------------------------------------------------------------ > > The following implementation has been done and tested. I seeking feedback > to whether it makes sense or not; > > {code:java} > private String replaceInvalidChars( String identity ) > { > StringBuilder b = new StringBuilder( identity.length() + 30 ); > for( int i = 0; i < identity.length(); i++ ) > { > char ch = identity.charAt( i ); > if( ( ch >= 'a' && ch <= 'z' ) > || ( ch >= 'A' && ch <= 'Z' ) > || ( ch >= '0' && ch <= '9' ) > || ch == '_' || ch == '.' || ch == '-' ) > { > b.append( ch ); > } > else > { > int value = (int) ch; > b.append( '~' ); > b.append( toHex( value ) ); > } > > } > return b.toString(); > } > {code} > > > was (Author: niclas): > The following implementation has been done and tested. I seeking feedback > to whether it makes sense or not; > > <pre><code> > private String replaceInvalidChars( String identity ) > { > StringBuilder b = new StringBuilder( identity.length() + 30 ); > for( int i = 0; i < identity.length(); i++ ) > { > char ch = identity.charAt( i ); > if( ( ch >= 'a' && ch <= 'z' ) > || ( ch >= 'A' && ch <= 'Z' ) > || ( ch >= '0' && ch <= '9' ) > || ch == '_' || ch == '.' || ch == '-' ) > { > b.append( ch ); > } > else > { > int value = (int) ch; > b.append( '~' ); > b.append( toHex( value ) ); > } > > } > return b.toString(); > } > </code></pre> > > > FileEntityStore doesn't work on Windows > > --------------------------------------- > > > > Key: ZEST-41 > > URL: https://issues.apache.org/jira/browse/ZEST-41 > > Project: Zest > > Issue Type: Bug > > Reporter: Niclas Hedhman > > Assignee: Niclas Hedhman > > > > The FileEntityStore has a bug in that it doesn't replace/escape invalid > filesystem characters from the Identity. > > And for instance the Scheduler library uses colon, which works fine on > Linux but fails (silently!!) on Windows. > > > > -- > This message was sent by Atlassian JIRA > (v6.3.4#6332) > -- Niclas Hedhman, Software Developer http://zest.apache.org - New Energy for Java
