{"action":"created","issue":{"url":"https://api.github.com/repos/mincong-h/gsoc-hsearch/issues/133","repository_url":"https://api.github.com/repos/mincong-h/gsoc-hsearch","labels_url":"https://api.github.com/repos/mincong-h/gsoc-hsearch/issues/133/labels{/name}","comments_url":"https://api.github.com/repos/mincong-h/gsoc-hsearch/issues/133/comments","events_url":"https://api.github.com/repos/mincong-h/gsoc-hsearch/issues/133/events","html_url":"https://github.com/mincong-h/gsoc-hsearch/issues/133","id":170633031,"number":133,"title":"Misc. improvements","user":{"login":"gunnarmorling","id":28612,"avatar_url":"https://avatars.githubusercontent.com/u/28612?v=3","gravatar_id":"","url":"https://api.github.com/users/gunnarmorling","html_url":"https://github.com/gunnarmorling","followers_url":"https://api.github.com/users/gunnarmorling/followers","following_url":"https://api.github.com/users/gunnarmorling/following{/other_user}","gists_url":"https://api.github.com/users/gunnarmorling/gists{/gist_id}","starred_url":"https://api.github.com/users/gunnarmorling/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gunnarmorling/subscriptions","organizations_url":"https://api.github.com/users/gunnarmorling/orgs","repos_url":"https://api.github.com/users/gunnarmorling/repos","events_url":"https://api.github.com/users/gunnarmorling/events{/privacy}","received_events_url":"https://api.github.com/users/gunnarmorling/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-08-11T12:22:48Z","updated_at":"2016-08-11T21:06:54Z","closed_at":null,"body":"@mincong-h Feel free to split up this one into several issues as you address them. Creating this combined one for the sake of simplicity right now ;)\r\n\r\n- [x] Add comment to PartitionAnalyzer\r\n- [x] Use more specific names for PartitionAnalyzer, -Collector etc.; what are they doing?\r\n- [ ] BeforeChunkBatchlet shouldn't depend on the existing mass indexer; rather user `FullTextSession#purgeAll()`; same for `AfterChunkBatchlet`\r\n- [ ] Do we need PowerMock *and* Mockito? It'd be nice to converge on one, preferably the latter\r\n- [ ] Do we need both properties, _isJavaSE_ and _entityManagerFactory_? Isn't setting the latter indicating the former is true? Your comment on the prop seems to suggest that.\r\n- [ ] What's the purpose of `MassIndexer#jobOperator()`? Couldn't it obtained locally via that static method BatchRuntime.getJobOperator()?\r\n- [x] Reconsider interface/implementation split for `MassIndexer`; not sure what is gained, couldn't `MassIndexer` just be a class itself?\r\n- [x] `RowComparator`/`StringComparator` seem unused\r\n- [ ] Address TODO about tenant id in `ItemProcessor#buildAddLuceneWork(Object, Class<?>)"},"comment":{"url":"https://api.github.com/repos/mincong-h/gsoc-hsearch/issues/comments/239292717","html_url":"https://github.com/mincong-h/gsoc-hsearch/issues/133#issuecomment-239292717","issue_url":"https://api.github.com/repos/mincong-h/gsoc-hsearch/issues/133","id":239292717,"user":{"login":"mincong-h","id":10179217,"avatar_url":"https://avatars.githubusercontent.com/u/10179217?v=3","gravatar_id":"","url":"https://api.github.com/users/mincong-h","html_url":"https://github.com/mincong-h","followers_url":"https://api.github.com/users/mincong-h/followers","following_url":"https://api.github.com/users/mincong-h/following{/other_user}","gists_url":"https://api.github.com/users/mincong-h/gists{/gist_id}","starred_url":"https://api.github.com/users/mincong-h/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mincong-h/subscriptions","organizations_url":"https://api.github.com/users/mincong-h/orgs","repos_url":"https://api.github.com/users/mincong-h/repos","events_url":"https://api.github.com/users/mincong-h/events{/privacy}","received_events_url":"https://api.github.com/users/mincong-h/received_events","type":"User","site_admin":false},"created_at":"2016-08-11T21:06:54Z","updated_at":"2016-08-11T21:06:54Z","body":"Hi @gunnarmorling,\r\n\r\n> What's the purpose of MassIndexer#jobOperator()? Couldn't it obtained locally via that static method BatchRuntime.getJobOperator()?\r\n\r\nIn Java SE, the method `BatchRuntime.getJobOperator()` can only be used once. Otherwise, it throws error : \r\n\r\n```\r\njava.util.ServiceConfigurationError: javax.batch.operations.JobOperator: Provider org.jberet.operations.JobOperatorImpl could not be instantiated\r\n    at org.jboss.weld.environment.se.WeldContainer.initialize(WeldContainer.java:136)\r\n    at org.jboss.weld.environment.se.Weld.initialize(Weld.java:589)\r\n    at org.jberet.se.SEArtifactFactory.<init>(SEArtifactFactory.java:29)\r\n    at org.jberet.se.BatchSEEnvironment.getArtifactFactory(BatchSEEnvironment.java:118)\r\n    at org.jberet.operations.JobOperatorImpl.<init>(JobOperatorImpl.java:93)\r\n    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\r\n    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)\r\n    at java.lang.Class.newInstance(Class.java:442)\r\n    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)\r\n    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)\r\n    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)\r\n    at javax.batch.runtime.BatchRuntime.getJobOperator(BatchRuntime.java:57)\r\n    at org.hibernate.search.jsr352.MassIndexerImpl.start(MassIndexerImpl.java:76)\r\n    at org.hibernate.search.jsr352.se.MassIndexerIT.indexCompany(MassIndexerIT.java:108)\r\n    at org.hibernate.search.jsr352.se.MassIndexerIT.testMassIndexer(MassIndexerIT.java:79)\r\n```\r\n\r\nThis problem is described in issue #63 Test on Java SE, comment n°3. That's why I need to keep the `jobOperator(...)` for Java SE user.\r\n\r\n> Do we need both properties, isJavaSE and entityManagerFactory? Isn't setting the latter indicating the former is true? Your comment on the prop seems to suggest that.\r\n\r\nSo far, there're two methods which are specific to Java SE : `entityManagerFactory(...)` and `jobOperator(...)`. In order to clarify the situation, I add the 3rd method `isJavaSE(...)`."}}
{"actor":{"display_login":"mincong-h"}}