Skip to content

issueRecords

David Sowerby edited this page Oct 3, 2017 · 1 revision

{"https://github.com/davidsowerby/krail/issues/636":{"title":"KayTee build: Merge to Master failed","labels":["bug"],"body":"\nFAILURE: Build failed with an exception.\n\n* What went wrong:\nExecution failed for task ':mergeToMaster'.\n> Merge to master branch failed\n\n* Try:\nRun with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.\n\n* Get more help at https://help.gradle.org\n\nBUILD FAILED in 0s\n","number":636,"htmlUrl":"https://github.com/davidsowerby/krail/issues/636","pullRequest":false},"https://github.com/davidsowerby/krail/issues/633":{"title":"KayTee build: Merge to Master failed","labels":["bug"],"body":"\nFAILURE: Build failed with an exception.\n\n* What went wrong:\nExecution failed for task ':mergeToMaster'.\n> Merge to master branch failed\n\n* Try:\nRun with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.\n\n* Get more help at https://help.gradle.org\n\nBUILD FAILED in 0s\n","number":633,"htmlUrl":"https://github.com/davidsowerby/krail/issues/633","pullRequest":false},"https://github.com/davidsowerby/krail/issues/631":{"title":"Collaborators unable to build without API token","labels":["bug"],"body":"","number":631,"htmlUrl":"https://github.com/davidsowerby/krail/issues/631","pullRequest":false},"https://github.com/davidsowerby/krail/issues/622":{"title":"KayTee build: Generate Change Log failed","labels":["bug"],"body":"\nFAILURE: Build failed with an exception.\n\n* What went wrong:\nExecution failed for task ':generateChangeLog'.\n> org.hamcrest.Matcher.describeMismatch(Ljava/lang/Object;Lorg/hamcrest/Description;)V\n\n* Try:\nRun with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.\n","number":622,"htmlUrl":"https://github.com/davidsowerby/krail/issues/622","pullRequest":false},"https://github.com/davidsowerby/krail/issues/629":{"title":"Test failures after upgrade to Vaadin 8","labels":["bug"],"body":"DefaultOptionPopupTest. component and button presented for an OptionKey, component contains option value\r\nDefaultOptionPopupTest. reset to default button resets the option value\r\nDefaultOptionPopupTest. reset to default button resets the option value, using a converted value\r\nDefaultOptionPopupTest. user changes value in UI component, option is updated\r\nTreeCopyTest2. add-remove source filters\r\nTreeCopyTest2. extension is invoked\r\nTreeCopyTest2. getMaxDepth\r\n","number":629,"htmlUrl":"https://github.com/davidsowerby/krail/issues/629","pullRequest":false},"https://github.com/davidsowerby/krail/pull/628":{"title":"Vaadin8","labels":[],"body":"- Made to compile with only the one failed test as before\r\n- All relevant Vaadin8 components have been replaced by the ones in com.vaadin.v7.* compatibility packages. This was done by the migration tool mostly, but also had to make some manual fixes.\r\n- AbstractComponent.setImmediate() doesn't exist anymore, had to remove it in a few places. All Vaadin8 components are immediate, see https://vaadin.com/forum#!/thread/15341687/15366857\r\n","number":628,"htmlUrl":"https://github.com/davidsowerby/krail/pull/628","pullRequest":true},"https://github.com/davidsowerby/krail/issues/607":{"title":"Consider running as embedded","labels":["duplicate","enhancement"],"body":"Would make execution and functional testing simpler, but it may not be so simple:\r\n\r\n- Using the vaadin-gradle plugin, Payara refuses to run, it doe not like a checked exception in Shiro, Jetty will not run in debug mode, and with debug turned off, starts Ok, but then we get:\r\n\r\n> Jul 29, 2017 8:04:44 AM org.atmosphere.websocket.protocol.SimpleHttpProtocol onError\r\nWARNING: java.lang.NullPointerException. Unable to deliver the websocket messages to installed component. Status 500 Message Server Error\r\n\r\n- embedded Tomcat might work ..","number":607,"htmlUrl":"https://github.com/davidsowerby/krail/issues/607","pullRequest":false},"https://github.com/davidsowerby/krail/issues/627":{"title":"com.vaadin:vaadin-server 8.1.3","labels":["task"],"body":"","number":627,"htmlUrl":"https://github.com/davidsowerby/krail/issues/627","pullRequest":false},"https://github.com/davidsowerby/krail/issues/626":{"title":"Gradle wrapper missing","labels":["build"],"body":"","number":626,"htmlUrl":"https://github.com/davidsowerby/krail/issues/626","pullRequest":false},"https://github.com/davidsowerby/krail/issues/603":{"title":"Apply KayTee","labels":[],"body":"","number":603,"htmlUrl":"https://github.com/davidsowerby/krail/issues/603","pullRequest":false},"https://github.com/davidsowerby/krail/issues/543":{"title":"net.jodah:typetools 0.4.5","labels":["task"],"body":"","number":543,"htmlUrl":"https://github.com/davidsowerby/krail/issues/543","pullRequest":false},"https://github.com/davidsowerby/krail/issues/596":{"title":"org.assertj:assertj-core 3.7.0","labels":["task"],"body":"","number":596,"htmlUrl":"https://github.com/davidsowerby/krail/issues/596","pullRequest":false},"https://github.com/davidsowerby/krail/issues/595":{"title":"org.spockframework:spock-core 1.1-groovy-2.4","labels":["task"],"body":"","number":595,"htmlUrl":"https://github.com/davidsowerby/krail/issues/595","pullRequest":false},"https://github.com/davidsowerby/krail/issues/619":{"title":"ReadTheDocs failed","labels":["bug","documentation"],"body":"Failed: krail (43fca370)\r\n\r\nkrail build #5868438 - failed\r\n\r\nIf you have questions, a good place to start is the FAQ:\r\n\r\nhttps://docs.readthedocs.io/en/latest/faq.html","number":619,"htmlUrl":"https://github.com/davidsowerby/krail/issues/619","pullRequest":false},"https://github.com/davidsowerby/krail/issues/600":{"title":" com.vaadin:vaadin-server 7.7.10","labels":["task"],"body":"","number":600,"htmlUrl":"https://github.com/davidsowerby/krail/issues/600","pullRequest":false},"https://github.com/davidsowerby/krail/issues/598":{"title":"org.apache.shiro:shiro-all 1.4.0","labels":["task"],"body":"Include org.apache.shiro:shiro-guice 1.4.0","number":598,"htmlUrl":"https://github.com/davidsowerby/krail/issues/598","pullRequest":false},"https://github.com/davidsowerby/krail/issues/553":{"title":"com.google.inject:guice 4.1.0","labels":["task"],"body":"","number":553,"htmlUrl":"https://github.com/davidsowerby/krail/issues/553","pullRequest":false},"https://github.com/davidsowerby/krail/issues/539":{"title":"Vaadin 7.6.3","labels":["task"],"body":"","number":539,"htmlUrl":"https://github.com/davidsowerby/krail/issues/539","pullRequest":false},"https://github.com/davidsowerby/krail/issues/537":{"title":"Gradle (only) fails to find OptionDaoTestBase","labels":["build"],"body":"This failure only occurs only from Gradle - tests through IDE work fine\n\n> :compileTestGroovystartup failed:\n> /home/travis/build/davidsowerby/krail/src/test/groovy/uk/q3c/krail/core/persist/inmemory/option/InMemoryOptionDaoDelegateTest.groovy: 22: unable to resolve class uk.q3c.krail.testutil.option.OptionDaoTestBase\n> @ line 22, column 1.\n> import uk.q3c.krail.testutil.option.OptionDaoTestBase\n> ^\n","number":537,"htmlUrl":"https://github.com/davidsowerby/krail/issues/537","pullRequest":false},"https://github.com/davidsowerby/krail/issues/536":{"title":"Tutorial should reference push config info in Vaadin documentation","labels":["documentation"],"body":"","number":536,"htmlUrl":"https://github.com/davidsowerby/krail/issues/536","pullRequest":false},"https://github.com/davidsowerby/krail/issues/535":{"title":"Broadcaster.broadcast() needs to be easier to call","labels":["task"],"body":"Adding the UIKey parameter is great for logging, but makes the caller find the UIKey.\n\nProvide an easier way of making the call but retain the key information\n","number":535,"htmlUrl":"https://github.com/davidsowerby/krail/issues/535","pullRequest":false},"https://github.com/davidsowerby/krail/issues/534":{"title":"Translation tests failing","labels":["bug","quality"],"body":"DefaultTranslateTest, DefaultNavigationMenuTest and DefaultNavigationTreeTest\nLooks like a problem with unit test setup rather than code failure\n","number":534,"htmlUrl":"https://github.com/davidsowerby/krail/issues/534","pullRequest":false},"https://github.com/davidsowerby/krail/issues/533":{"title":"Improve logging for push","labels":["task"],"body":"Use the UIKey to identify the source UI\nRemove logging the actual message from DefaultBroadcaster, use a hash or similar to avoid plain language in the logs\nMay assist in resolving #527 \n","number":533,"htmlUrl":"https://github.com/davidsowerby/krail/issues/533","pullRequest":false},"https://github.com/davidsowerby/krail/issues/524":{"title":"Check Tutorial","labels":["task","documentation"],"body":"","number":524,"htmlUrl":"https://github.com/davidsowerby/krail/issues/524","pullRequest":false},"https://github.com/davidsowerby/krail/issues/532":{"title":"Translate must be visible in ViewBase sub-classes","labels":["bug"],"body":"There is not getter to allow sub-classes to use translate\n","number":532,"htmlUrl":"https://github.com/davidsowerby/krail/issues/532","pullRequest":false},"https://github.com/davidsowerby/krail/issues/530":{"title":"ConfigurationModuleBase.addConfig() needs to be public","labels":["bug"],"body":"Cannot be used as a fluent method otherwsie\n","number":530,"htmlUrl":"https://github.com/davidsowerby/krail/issues/530","pullRequest":false},"https://github.com/davidsowerby/krail/issues/526":{"title":"Move test base and helpers to enable JPA separation","labels":["task"],"body":"Some are not accessible to separated krail-jpa unless placed in testUtil\n","number":526,"htmlUrl":"https://github.com/davidsowerby/krail/issues/526","pullRequest":false},"https://github.com/davidsowerby/krail/issues/525":{"title":"Travis build 13 fails","labels":["build"],"body":"Multiple instances of:\n\n/home/travis/build/davidsowerby/krail/src/test/groovy/uk/q3c/util/DefaultClassNameUtilsTest.groovy: 19: unable to resolve class uk.q3c.krail.UnitTestFor\n @ line 19, column 1.\n import uk.q3c.krail.UnitTestFor\n","number":525,"htmlUrl":"https://github.com/davidsowerby/krail/issues/525","pullRequest":false},"https://github.com/davidsowerby/krail/issues/513":{"title":"Set up for Travis","labels":["task","wontfix"],"body":"","number":513,"htmlUrl":"https://github.com/davidsowerby/krail/issues/513","pullRequest":false},"https://github.com/davidsowerby/krail/issues/522":{"title":"Gitter tag on README","labels":["task"],"body":"","number":522,"htmlUrl":"https://github.com/davidsowerby/krail/issues/522","pullRequest":false},"https://github.com/davidsowerby/krail/issues/521":{"title":"Improve NavigationState","labels":["task"],"body":"1. the method for updating the fragment (using URIFragmentHandler) is not obvious\n2. Parts of the state can be left in a null condition - that may not be avoidable without insisting on creation with a URIFragmentHandler parameter - but that state should produce a meaningful exception when accessed\n3. deprecate URIFragmentHandler update method and replace with a NavigationState.update(URIFragmentHandler) method, which should work out whether to update the fragment or the parts, depending on what was last changed\n","number":521,"htmlUrl":"https://github.com/davidsowerby/krail/issues/521","pullRequest":false},"https://github.com/davidsowerby/krail/issues/500":{"title":"Improve unit test coverage","labels":["quality"],"body":"","number":500,"htmlUrl":"https://github.com/davidsowerby/krail/issues/500","pullRequest":false},"https://github.com/davidsowerby/krail/issues/520":{"title":"Merge ViewBaseI18N into ViewBase","labels":["task"],"body":"","number":520,"htmlUrl":"https://github.com/davidsowerby/krail/issues/520","pullRequest":false},"https://github.com/davidsowerby/krail/issues/459":{"title":"DefaultOptionPopup not converting data types","labels":["bug"],"body":"","number":459,"htmlUrl":"https://github.com/davidsowerby/krail/issues/459","pullRequest":false},"https://github.com/davidsowerby/krail/issues/518":{"title":"ConverterFactory and DefaultOptionElementConverter","labels":["task"],"body":"Are doing almost the same thing - could DefaultOptionElementConverter just be an implementation of ConverterFactory?\n","number":518,"htmlUrl":"https://github.com/davidsowerby/krail/issues/518","pullRequest":false},"https://github.com/davidsowerby/krail/issues/514":{"title":"Vaadin 7.6.2","labels":["task"],"body":"","number":514,"htmlUrl":"https://github.com/davidsowerby/krail/issues/514","pullRequest":false},"https://github.com/davidsowerby/krail/issues/517":{"title":"DefaultClassPatternDao test fails","labels":["bug","quality"],"body":"Probably a test error from fixing for Travis build\n","number":517,"htmlUrl":"https://github.com/davidsowerby/krail/issues/517","pullRequest":false},"https://github.com/davidsowerby/q3c-testutils/issues/15":{"title":"Separate from master (individually)","labels":["task"],"body":"","number":15,"htmlUrl":"https://github.com/davidsowerby/q3c-testutils/issues/15","pullRequest":false},"https://github.com/davidsowerby/krail/issues/515":{"title":"Cannot test "destroy context with null injector"","labels":["bug","quality"],"body":"DefaultBindingManager_IntegrationTest "destroy context with null injector" will not work consistently because static injector field may or may not be null depending on test running order.\n","number":515,"htmlUrl":"https://github.com/davidsowerby/krail/issues/515","pullRequest":false},"https://github.com/davidsowerby/krail-master/issues/36":{"title":"Travis preparation","labels":["task"],"body":"Seems that Travis can only accept build.gradle as the build file, which means changing the individual build file names currently used (krail.gradle for example)\n\nNot ideal, but would like to use Travis\n","number":36,"htmlUrl":"https://github.com/davidsowerby/krail-master/issues/36","pullRequest":false},"https://github.com/davidsowerby/krail/issues/499":{"title":"benefit in separate testUtil module?","labels":["task"],"body":"Not sure whether there is benefit in keeping this separate - does it get used outside of Krail core?\n","number":499,"htmlUrl":"https://github.com/davidsowerby/krail/issues/499","pullRequest":false},"https://github.com/davidsowerby/krail/issues/400":{"title":"Navigation components, confused when parent has all children hidden","labels":["bug"],"body":"- When an item in the DefaultUserNavigationTree has a single child, which is excluded, then the parent item shows the 'expand' widget, even though there is nothing to expand to\n- The DefaultNavigationMenu behaves incorrectly because clicking on the parent item should expand the menu - but of course there is nothing to expand.\n\nThere are two workaround options:\n1. place excluded pages at the Sitemap root, either individually or under a single excluded root.\n2. only exclude a page when it has a non-excluded sibling\n","number":400,"htmlUrl":"https://github.com/davidsowerby/krail/issues/400","pullRequest":false},"https://github.com/davidsowerby/krail/issues/502":{"title":"Review use of exceptionToThrow in ShiroMethodInterceptor","labels":["task"],"body":"This does not seem to be adding any value, just complexity\n","number":502,"htmlUrl":"https://github.com/davidsowerby/krail/issues/502","pullRequest":false},"https://github.com/davidsowerby/krail/issues/512":{"title":"OptionKey should be immutable","labels":["task"],"body":"Currently allows setting the default dynamically, which defeats the object of a coded default\n","number":512,"htmlUrl":"https://github.com/davidsowerby/krail/issues/512","pullRequest":false},"https://github.com/davidsowerby/krail/issues/509":{"title":"Reduce duplication in Option handling","labels":["task"],"body":"Structure of Option classes has created a level of duplication in krail-jpa.\n","number":509,"htmlUrl":"https://github.com/davidsowerby/krail/issues/509","pullRequest":false},"https://github.com/davidsowerby/krail/issues/503":{"title":"OptionList and AnnotationOptionList missing from DefaultOptionStringConverter.convertStringToValue","labels":["bug"],"body":"There may also be an issue with generics in converting back from String - there may be no easy way to identify the element class without explicit declaration - which may then lead to an inconsistent interface.\n\nIt may be better to use the option default value in convertStringToValue instead of the value class\n","number":503,"htmlUrl":"https://github.com/davidsowerby/krail/issues/503","pullRequest":false},"https://github.com/davidsowerby/krail/issues/511":{"title":"Option.set method parameters reversed","labels":["task"],"body":"As this is a key-value arrangement, it would make more sense for the parameters to be in key-value order\n","number":511,"htmlUrl":"https://github.com/davidsowerby/krail/issues/511","pullRequest":false},"https://github.com/davidsowerby/krail/issues/497":{"title":"Acknowledge FindBugs","labels":["task","documentation"],"body":"","number":497,"htmlUrl":"https://github.com/davidsowerby/krail/issues/497","pullRequest":false},"https://github.com/davidsowerby/krail/issues/342":{"title":"Scope differences incorrectly handled, Navigator and UserStatus","labels":["bug"],"body":"Bug identified because the login navigation rule was not working correctly. UserStatus is correctly scoped to @VaadinsessionScoped, but \n- Navigator scope is not explicitly set and should be@UIScoped\n- UserStatus should therefore handle multiple navigator instances (as change listeners)\n","number":342,"htmlUrl":"https://github.com/davidsowerby/krail/issues/342","pullRequest":false},"https://github.com/davidsowerby/krail/issues/460":{"title":"Field mapping for In Memory OptionEntity incorrect","labels":["bug"],"body":"for user 'eq'\n\noptionKey = 'eq'\nrankName='MyNews-Age'\nuserHierarchyName = 'SimpleUserHierarchy'\ncontext is blank (null?)\nvalue is correct\n","number":460,"htmlUrl":"https://github.com/davidsowerby/krail/issues/460","pullRequest":false},"https://github.com/davidsowerby/krail/issues/508":{"title":"Restructure packages","labels":["task"],"body":"i18n should be in the core package\ncore.persist needs reorganising with i18n and option.\njpa should align with above\nin memory should be in parallel with jpa\n","number":508,"htmlUrl":"https://github.com/davidsowerby/krail/issues/508","pullRequest":false},"https://github.com/davidsowerby/krail/issues/510":{"title":"Restrict OptionCache to VaadinSessionScoped?","labels":["task"],"body":"Switching between VaadinSessionScoped and Singleton is not as straightforward as OptionModule suggests. Use with a Singleton requires that the OptionCacheKey carries a userId - the userId is redundant for VaadinSessionScoped\n\n\n /**\n * Override this method to provide your own {@link OptionCache} implementation. The scope can be changed, but it\n * seems likely that {@link VaadinSessionScoped} will be most effective, as options are based on a user, and {@link\n * VaadinSessionScoped} is a user session. However, for an application with a lot of options for anonymous users,\n * Singleton may work better\n */\n protected void bindOptionCache() {\n bind(OptionCache.class).to(DefaultOptionCache.class)\n .in(VaadinSessionScoped.class);\n }\n\n","number":510,"htmlUrl":"https://github.com/davidsowerby/krail/issues/510","pullRequest":false},"https://github.com/davidsowerby/krail/issues/507":{"title":"Make OptionCacheKey generic","labels":["task"],"body":"It is always used with OptionKey which is generic itself\n","number":507,"htmlUrl":"https://github.com/davidsowerby/krail/issues/507","pullRequest":false},"https://github.com/davidsowerby/krail/issues/501":{"title":"ShiroMethodInterceptor using field injection","labels":["enhancement","quality"],"body":"Can this be avoided? Makes testing difficult.\n","number":501,"htmlUrl":"https://github.com/davidsowerby/krail/issues/501","pullRequest":false},"https://github.com/davidsowerby/krail-jpa/issues/18":{"title":" query is potentially vulnerable SQL/JPQL injection","labels":["bug"],"body":"From FindBugs, 2 bugs identified in\n\n DefaultOptionJpaDao_LongInt\n```\n","number":18,"htmlUrl":"https://github.com/davidsowerby/krail-jpa/issues/18","pullRequest":false},"https://github.com/davidsowerby/krail/issues/340":{"title":"Quality review","labels":["task"],"body":"No functionality changes, raise new issues for anything which does need a code change. Work through packages and check / improve as necessary items below. Might be an idea to use an annotation to mark those checked\n- test coverage\n- use of @Nonnull @Nullable etc\n- Precondition checks\n- javadoc\n- thread safety where needed\n","number":340,"htmlUrl":"https://github.com/davidsowerby/krail/issues/340","pullRequest":false},"https://github.com/davidsowerby/krail/issues/417":{"title":"ApplicationConfiguration should be an interface","labels":["enhancement"],"body":"It is unlikely it will need to be changed, but for consistency ...\n","number":417,"htmlUrl":"https://github.com/davidsowerby/krail/issues/417","pullRequest":false},"https://github.com/davidsowerby/krail/issues/416":{"title":"ApplicationConfiguration fluent interface to addConfig","labels":["enhancement"],"body":"removes the need to sub-class the module\n","number":416,"htmlUrl":"https://github.com/davidsowerby/krail/issues/416","pullRequest":false},"https://github.com/davidsowerby/krail/issues/415":{"title":"ApplicationConfiguration override opposite order to Option","labels":["enhancement"],"body":"Option has level 0 at highest priority / rank, ApplicationConfiguration the opposite.\n\nChange ApplicationConfiguration\n","number":415,"htmlUrl":"https://github.com/davidsowerby/krail/issues/415","pullRequest":false},"https://github.com/davidsowerby/krail/issues/496":{"title":"Vaadin 7.6.1","labels":["task"],"body":"","number":496,"htmlUrl":"https://github.com/davidsowerby/krail/issues/496","pullRequest":false},"https://github.com/davidsowerby/krail/issues/244":{"title":"Check Singletons","labels":["task"],"body":"Some are not threadsafe\n","number":244,"htmlUrl":"https://github.com/davidsowerby/krail/issues/244","pullRequest":false},"https://github.com/davidsowerby/krail/issues/254":{"title":"Dynamic pages","labels":["task"],"body":"The addition of pages is currently static through definition by Guice module, annotation or file.\n\nSome implementations may require the dynamic creation / removal of pages. \n","number":254,"htmlUrl":"https://github.com/davidsowerby/krail/issues/254","pullRequest":false},"https://github.com/davidsowerby/krail/issues/495":{"title":"Threadsafe ApplicationConfiguration","labels":["task"],"body":"ApplicationConfiguration is a Singleton, and therefore it should be threadsafe. However, the work to make it so has not been done as version 2.0 of Apache Commons Configuration provides that facility - but has not yet been released. At the time of writing this it was at 2.0-beta2, but not published to Maven central. \n\nIn the meantime, `ApplicationConfiguration` should be treated as read-only apart from the initial loading - or the developer will need to make their own arrangements for ensuring thread safety when updating values after loading\n","number":495,"htmlUrl":"https://github.com/davidsowerby/krail/issues/495","pullRequest":false},"https://github.com/davidsowerby/krail/issues/236":{"title":"Should ResourceUtils be singleton?","labels":["task"],"body":"At the moment developers would not be able to modify this in any way\n","number":236,"htmlUrl":"https://github.com/davidsowerby/krail/issues/236","pullRequest":false},"https://github.com/davidsowerby/krail/issues/89":{"title":"login default button","labels":["enhancement"],"body":"press enter to submit does not seem to work. Tried setting style name to "primary" and ChameleonTheme.BUTTON_DEFAULT but neither respond to the enter key.\n\nThis was under 7.0.0 RC2\n","number":89,"htmlUrl":"https://github.com/davidsowerby/krail/issues/89","pullRequest":false},"https://github.com/davidsowerby/krail/issues/85":{"title":"Enable Shiro caching","labels":["task"],"body":"","number":85,"htmlUrl":"https://github.com/davidsowerby/krail/issues/85","pullRequest":false},"https://github.com/davidsowerby/krail/issues/492":{"title":"Vaadin 7.6.0","labels":["task"],"body":"","number":492,"htmlUrl":"https://github.com/davidsowerby/krail/issues/492","pullRequest":false},"https://github.com/davidsowerby/krail/issues/494":{"title":"net.jodah:typetools 0.4.3","labels":["task"],"body":"","number":494,"htmlUrl":"https://github.com/davidsowerby/krail/issues/494","pullRequest":false},"https://github.com/davidsowerby/krail/issues/493":{"title":"org.reflections 0.9.10","labels":["task"],"body":"","number":493,"htmlUrl":"https://github.com/davidsowerby/krail/issues/493","pullRequest":false},"https://github.com/davidsowerby/krail/issues/332":{"title":"Document user hierarchies","labels":["documentation"],"body":"See #198\n","number":332,"htmlUrl":"https://github.com/davidsowerby/krail/issues/332","pullRequest":false},"https://github.com/davidsowerby/krail/issues/331":{"title":"Update Option documentation","labels":["documentation"],"body":"Following #198\n","number":331,"htmlUrl":"https://github.com/davidsowerby/krail/issues/331","pullRequest":false},"https://github.com/davidsowerby/krail/issues/320":{"title":"Example ValidationKeys","labels":["documentation"],"body":"Provide one in Validation documentation\n","number":320,"htmlUrl":"https://github.com/davidsowerby/krail/issues/320","pullRequest":false},"https://github.com/davidsowerby/krail/issues/262":{"title":"Complete Refining User Navigation","labels":["documentation"],"body":"https://sites.google.com/site/q3cjava/refining-user-navigation\n","number":262,"htmlUrl":"https://github.com/davidsowerby/krail/issues/262","pullRequest":false},"https://github.com/davidsowerby/krail/issues/168":{"title":"Re-write tutorial","labels":["task","documentation"],"body":"Tutorial needs to be completely revisited before publishing RC1\n","number":168,"htmlUrl":"https://github.com/davidsowerby/krail/issues/168","pullRequest":false},"https://github.com/davidsowerby/krail/issues/112":{"title":"Document I18N in Tutorial","labels":["task","documentation"],"body":"","number":112,"htmlUrl":"https://github.com/davidsowerby/krail/issues/112","pullRequest":false},"https://github.com/davidsowerby/krail/issues/111":{"title":"Document I18N in tables","labels":["task","documentation"],"body":"","number":111,"htmlUrl":"https://github.com/davidsowerby/krail/issues/111","pullRequest":false},"https://github.com/davidsowerby/krail/issues/102":{"title":"i18N documentation","labels":["task","documentation"],"body":"","number":102,"htmlUrl":"https://github.com/davidsowerby/krail/issues/102","pullRequest":false},"https://github.com/davidsowerby/krail/issues/491":{"title":"@Dependency annotation params not consistent","labels":["enhancement"],"body":"@Dependency annotation params uses required = true/false\nTo be consistent with Guice and the rest of the code this should be revered, that is:\n\noptional=false/true\n","number":491,"htmlUrl":"https://github.com/davidsowerby/krail/issues/491","pullRequest":false},"https://github.com/davidsowerby/krail/pull/395":{"title":"elipse ide","labels":["documentation"],"body":"Hints how to set up eclipse ide\n","number":395,"htmlUrl":"https://github.com/davidsowerby/krail/pull/395","pullRequest":true},"https://github.com/davidsowerby/krail/issues/486":{"title":"Error 500 instead of Invalid URI","labels":["bug"],"body":"login\nnavigate to 'private' page\nlog out\nnavigation fails as it should (because no login) - but shows error 500 instead of 'invalid URI' message from Krail\n\nInvalidURIException is being thrown, so is it not captured correctly?\n\nDec 24, 2015 11:53:10 AM org.apache.catalina.core.StandardWrapperValve invoke\nSEVERE: Servlet.service() for servlet [default] in context with path [/tutorial] threw exception [com.vaadin.server.ServiceException: uk.q3c.krail.core.navigate.InvalidURIException: URI not found] with root cause\nuk.q3c.krail.core.navigate.InvalidURIException: URI not found\n at uk.q3c.krail.core.navigate.DefaultNavigator.navigateTo(DefaultNavigator.java:186)\n at uk.q3c.krail.core.navigate.DefaultNavigator.navigateTo(DefaultNavigator.java:136)\n at uk.q3c.krail.core.ui.ScopedUI.init(ScopedUI.java:177)\n at com.vaadin.ui.UI.doInit(UI.java:675)\n at com.vaadin.server.communication.UIInitHandler.getBrowserDetailsUI(UIInitHandler.java:214)\n at com.vaadin.server.communication.UIInitHandler.synchronizedHandleRequest(UIInitHandler.java:74)\n at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)\n at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1408)\n at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:364)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)\n at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287)\n at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277)\n at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182)\n at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)\n at org.apache.onami.persist.PersistenceFilterImpl.doFilter(PersistenceFilterImpl.java:56)\n at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)\n at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)\n at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)\n at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)\n at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)\n at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)\n at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)\n at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)\n at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\n at java.lang.Thread.run(Thread.java:745)\n","number":486,"htmlUrl":"https://github.com/davidsowerby/krail/issues/486","pullRequest":false},"https://github.com/davidsowerby/krail/issues/488":{"title":"Service INITIAL to STOPPED","labels":["bug"],"body":"Should not be possible; call to stop() when in the INITIAL state should be ignored\n","number":488,"htmlUrl":"https://github.com/davidsowerby/krail/issues/488","pullRequest":false},"https://github.com/davidsowerby/krail/issues/489":{"title":"DefaultBroadcaster holds strong UI references","labels":["bug"],"body":"A `ScopedUI` registers automatically with `DefaultBroadcaster`, but does not unregister. `DefaultBroadcaster` holds strong UI references and will therefore keep UI instances alive.\n\nGiven the number of UIs created that is going to cause a problem.\n\nSolve either by explicitly unregistering, probably from the `UI.detach()` method, or by using weak references. Possibly both.\n","number":489,"htmlUrl":"https://github.com/davidsowerby/krail/issues/489","pullRequest":false},"https://github.com/davidsowerby/krail/issues/490":{"title":"Push in build file not valid","labels":["bug"],"body":"Using 'push true' in the vaadin closure of build.gradle does not do anything in a build using Krail. This is probably related to the problem (now fixed) where the version was not carried through by the gradle vaadin plugin\n\nRaise a ticket on the gradle vaadin plugin\n\nWorkaround is to explicitly declare vaadin push as a compile dependency, or maybe including push in krail.jar\n","number":490,"htmlUrl":"https://github.com/davidsowerby/krail/issues/490","pullRequest":false},"https://github.com/davidsowerby/krail/issues/484":{"title":"Remove @Dependency from SitemapService","labels":["task"],"body":"Use Guice config. instead, and remove injection of ApplicationConfigurationService\n","number":484,"htmlUrl":"https://github.com/davidsowerby/krail/issues/484","pullRequest":false},"https://github.com/davidsowerby/krail/issues/485":{"title":"DefaultServicesMonitor to use GlobalBusProvider","labels":["task"],"body":"IN place of @GlobalBus\n","number":485,"htmlUrl":"https://github.com/davidsowerby/krail/issues/485","pullRequest":false},"https://github.com/davidsowerby/krail/issues/482":{"title":"Vaadin 7.5.10","labels":["task"],"body":"","number":482,"htmlUrl":"https://github.com/davidsowerby/krail/issues/482","pullRequest":false},"https://github.com/davidsowerby/krail/pull/483":{"title":"Update README.md","labels":[],"body":"","number":483,"htmlUrl":"https://github.com/davidsowerby/krail/pull/483","pullRequest":true},"https://github.com/davidsowerby/krail/issues/480":{"title":"Use Guice to specify dependencies","labels":["task"],"body":"Since completion of #240, dependencies between Services can be defined by annotation or Guice.\n\nChange Krail core to use Guice, as this can be modified by developers through Guice modules if the need ever arises\n","number":480,"htmlUrl":"https://github.com/davidsowerby/krail/issues/480","pullRequest":false},"https://github.com/davidsowerby/krail/issues/478":{"title":"Vaadin 7.5.9","labels":["task"],"body":"","number":478,"htmlUrl":"https://github.com/davidsowerby/krail/issues/478","pullRequest":false},"https://github.com/davidsowerby/krail/issues/240":{"title":"Loop detection for @Dependency","labels":["enhancement"],"body":"It is entirely possible to create a loop using this annotation, where Service A depends on Service B which depends on Service A. There is currently no detection for this. This could be improved by building a DAG from the @Dependency annotations.\n","number":240,"htmlUrl":"https://github.com/davidsowerby/krail/issues/240","pullRequest":false},"https://github.com/davidsowerby/krail/issues/473":{"title":"Remove need for start up logic in specific services","labels":["enhancement"],"body":"The `DefaultSitemapService` currently contains logic in the `doStart()` method to check for failed dependencies - this should be unnecessary, and should be handled by `AbstractService` instead\n","number":473,"htmlUrl":"https://github.com/davidsowerby/krail/issues/473","pullRequest":false},"https://github.com/davidsowerby/krail/issues/466":{"title":"ServicesMonitor to be active","labels":["enhancement"],"body":"Currently `ServicesMonitor` is entirely passive, except for stopping Service instances when the servlet context is destroyed.\n\nReview and consider a more active role to prevent dependency loops (#240), and to enable sys admins to select actions in response to service failures, at run time\n","number":466,"htmlUrl":"https://github.com/davidsowerby/krail/issues/466","pullRequest":false},"https://github.com/davidsowerby/krail/issues/469":{"title":"Standardise composite Service.Status and make public","labels":["task"],"body":"For example, isStopped() may include STOPPED and FAILED_TO_START\n\nProvide a single point of access to ensure consistency\n","number":469,"htmlUrl":"https://github.com/davidsowerby/krail/issues/469","pullRequest":false},"https://github.com/davidsowerby/krail/issues/477":{"title":"Vaadin 7.5.8","labels":["task"],"body":"","number":477,"htmlUrl":"https://github.com/davidsowerby/krail/issues/477","pullRequest":false},"https://github.com/davidsowerby/krail/issues/468":{"title":"Merge AbstractService & AbstractServiceI18N","labels":["task"],"body":"Service should always use `I18NKey` to identify itself\n","number":468,"htmlUrl":"https://github.com/davidsowerby/krail/issues/468","pullRequest":false},"https://github.com/davidsowerby/krail/issues/474":{"title":"Vaadin 7.5.7","labels":["task"],"body":"","number":474,"htmlUrl":"https://github.com/davidsowerby/krail/issues/474","pullRequest":false},"https://github.com/davidsowerby/krail/issues/465":{"title":"MkDocs change format in mkdocs.yml file","labels":["task"],"body":"WARNING - The pages config in the mkdocs.yml uses the deprecated structure. This will be removed in the next release of MkDocs. See for details on updating: http://www.mkdocs.org/about/release-notes/ \n","number":465,"htmlUrl":"https://github.com/davidsowerby/krail/issues/465","pullRequest":false},"https://github.com/davidsowerby/krail/issues/455":{"title":"Vaadin 7.5.3","labels":["task"],"body":"","number":455,"htmlUrl":"https://github.com/davidsowerby/krail/issues/455","pullRequest":false},"https://github.com/davidsowerby/krail/issues/454":{"title":"Option conversion for all core Option types","labels":["task"],"body":"All the data types used by Krail (including collection types) core should be convertible to String, as it is most likely that persistence providers will require it \n","number":454,"htmlUrl":"https://github.com/davidsowerby/krail/issues/454","pullRequest":false},"https://github.com/davidsowerby/krail/issues/449":{"title":"Vaadin 7.5.2","labels":["task"],"body":"","number":449,"htmlUrl":"https://github.com/davidsowerby/krail/issues/449","pullRequest":false},"https://github.com/davidsowerby/krail/issues/452":{"title":"Shiro 1.2.4","labels":["task"],"body":"","number":452,"htmlUrl":"https://github.com/davidsowerby/krail/issues/452","pullRequest":false},"https://github.com/davidsowerby/krail/issues/450":{"title":"Revisit Option and Pattern (persistence) defaults","labels":["task"],"body":"Current configuration is not optimal for minimal set up at early stage app development\n","number":450,"htmlUrl":"https://github.com/davidsowerby/krail/issues/450","pullRequest":false},"https://github.com/davidsowerby/krail/issues/451":{"title":"I18N properties file converter","labels":["enhancement"],"body":"Support for properties files as a method of holding I18N keys and vales within Krail is withdrawn at version 0.9.6\n\nHowever, there is some reusable code in some of the `BundleReader` / `BundleWriter` implementations which could be used to provide a conversion utility - input a properties file, output an Enum with defined constants and one or more `EnumResourceBundle`s\n","number":451,"htmlUrl":"https://github.com/davidsowerby/krail/issues/451","pullRequest":false},"https://github.com/davidsowerby/krail/issues/447":{"title":"Explicit Vaadin version fixed","labels":["task","documentation"],"body":"Update Tutorial now that plugin bug is fixed\n","number":447,"htmlUrl":"https://github.com/davidsowerby/krail/issues/447","pullRequest":false},"https://github.com/davidsowerby/krail/issues/448":{"title":"OptionDao not valid with zero config","labels":["bug"],"body":"There should be no need to configure the OptionDao:\n\n> Caused by: uk.q3c.krail.core.config.ConfigurationException: The OptionDao annotation of 'InMemory' does not match any of the providers.\n> at uk.q3c.krail.core.persist.DefaultOptionSource.checkAnnotationKey(DefaultOptionSource.java:65) ~[krail-0.9.6.jar:na]\n> at uk.q3c.krail.core.persist.DefaultOptionSource.getDao(DefaultOptionSource.java:55) ~[krail-0.9.6.jar:na]\n> at uk.q3c.krail.core.persist.DefaultOptionSource.getActiveDao(DefaultOptionSource.java:49) ~[krail-0.9.6.jar:na]\n> at uk.q3c.krail.core.user.opt.cache.DefaultOptionCacheLoader.load(DefaultOptionCacheLoader.java:72) ~[krail-0.9.6.jar:na]\n> at uk.q3c.krail.core.user.opt.cache.DefaultOptionCacheLoader.load(DefaultOptionCacheLoader.java:41) ~[krail-0.9.6.jar:na]\n> at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) ~[guava-18.0.jar:na]\n> at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) ~[guava-18.0.jar:na]\n> at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) ~[guava-18.0.jar:na]\n> at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) ~[guava-18.0.jar:na]\n","number":448,"htmlUrl":"https://github.com/davidsowerby/krail/issues/448","pullRequest":false},"https://github.com/davidsowerby/krail/issues/446":{"title":"InMemory "database" reader could be provided","labels":["task"],"body":"Better defaults can be provided to minimise initial setup:\n- Create InMemoryDatabaseBundleReader (it always uses InMemory PatternDao) \n- I18NModule.inMemory() as a shortcut to adding it?\n","number":446,"htmlUrl":"https://github.com/davidsowerby/krail/issues/446","pullRequest":false},"https://github.com/davidsowerby/krail/issues/444":{"title":"DefaultOptionSource - should not need to be a @Singleton","labels":["task"],"body":"","number":444,"htmlUrl":"https://github.com/davidsowerby/krail/issues/444","pullRequest":false},"https://github.com/davidsowerby/krail/issues/432":{"title":"Export I18NKeys as part of System Admin ","labels":["enhancement"],"body":"There is a n embryonic sys admin module, which could useully provide a page to expprot (as the user decides) any or all of:\n- Krail core LabelKey, DescriptionKey and MessageKey keys and values \n- Validation keys and values\n\nThe building blocks are all there, they just need assembling in to one place\n","number":432,"htmlUrl":"https://github.com/davidsowerby/krail/issues/432","pullRequest":false},"https://github.com/davidsowerby/krail/issues/430":{"title":"BundleWriter for Database","labels":["task","wontfix"],"body":"Just needs to use PatternDao\n","number":430,"htmlUrl":"https://github.com/davidsowerby/krail/issues/430","pullRequest":false},"https://github.com/davidsowerby/krail/issues/439":{"title":"Vaadin 7.5.1","labels":["task"],"body":"","number":439,"htmlUrl":"https://github.com/davidsowerby/krail/issues/439","pullRequest":false},"https://github.com/davidsowerby/krail/issues/377":{"title":"Remove File based sitemap loader ","labels":["enhancement"],"body":"Deprecated by #375 \nDepends on JSON export / import being available (see #376) \n","number":377,"htmlUrl":"https://github.com/davidsowerby/krail/issues/377","pullRequest":false},"https://github.com/davidsowerby/krail-jpa/issues/14":{"title":"Separate persistence for Pattern","labels":["task"],"body":"","number":14,"htmlUrl":"https://github.com/davidsowerby/krail-jpa/issues/14","pullRequest":false},"https://github.com/davidsowerby/krail-jpa/issues/12":{"title":"OptionDao_LongInt not updating correctly","labels":["bug"],"body":"It saves a new instance instead of updating the existing, when value updated - because it is using the default behaviour when actually the key is not the same as the id\n","number":12,"htmlUrl":"https://github.com/davidsowerby/krail-jpa/issues/12","pullRequest":false},"https://github.com/davidsowerby/krail/issues/438":{"title":"OptionPopup not scrollable","labels":["bug"],"body":"If number of options makes the window too long, it cannot be used effectively\n","number":438,"htmlUrl":"https://github.com/davidsowerby/krail/issues/438","pullRequest":false},"https://github.com/davidsowerby/krail/issues/433":{"title":"Vaadin 7.5.0","labels":["task"],"body":"","number":433,"htmlUrl":"https://github.com/davidsowerby/krail/issues/433","pullRequest":false},"https://github.com/davidsowerby/krail/issues/429":{"title":"fluent supportedLocale() & defaultLocale() in I18NModule","labels":["enhancement"],"body":"","number":429,"htmlUrl":"https://github.com/davidsowerby/krail/issues/429","pullRequest":false},"https://github.com/davidsowerby/krail/issues/389":{"title":"I18N processing - handling of container components","labels":["enhancement"],"body":"The current implementation requires annotating a container component, for example, a VerticalLayout, just to ensure that the I18N process drills down into the layout to look for further component annotations. This requires the layout to be declared as a field when its only purpose is to layout a set of components.\n\nIn most cases the container component is only there to hold the components which are to be annotated.\n\nDrill down should therefore be the default behaviour for anything which implements HasComponents, with an annotation only necessary to inhibit drill down\n","number":389,"htmlUrl":"https://github.com/davidsowerby/krail/issues/389","pullRequest":false},"https://github.com/davidsowerby/krail/pull/427":{"title":"Update tutorial06.md","labels":[],"body":"Now "tutorial.completed from krail.ini is unchanged as there is no value for it in moreConfig.ini" makes sense :)\n","number":427,"htmlUrl":"https://github.com/davidsowerby/krail/pull/427","pullRequest":true}}

Clone this wiki locally