Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate metrics.xml in pure Java, without XSLT #296

Closed
ilyakharlamov opened this issue Jan 7, 2019 · 58 comments
Closed

Generate metrics.xml in pure Java, without XSLT #296

ilyakharlamov opened this issue Jan 7, 2019 · 58 comments

Comments

@ilyakharlamov
Copy link
Contributor

The current architecture relies heavily on XSLT for data analysis.
If we want to implement issues like #204 with advanced semantic indexing such as ML, LSI, NLP
we'll have to use external Java libraries since it's very challenging to do complex calculations in pure XSLT.
So we need to have an option to generate an XML report by name, that is implemented in Java, not XSLT.

@0crat
Copy link
Collaborator

0crat commented Jan 7, 2019

@paulodamaso/z please, pay attention to this issue

@danilomo
Copy link

The class Report doesn't follow a contract. It's a concrete class that ties the report generation to the XSL implementation.

Refactoring with extract interface should allow custom metrics to be implemented in Java rather than in XSL.

@ilyakharlamov
Copy link
Contributor Author

ilyakharlamov commented Jan 24, 2019

@danilomo Yes, I think Report should become an interface and the current concrete class Report renamed to XslReport or something

@danilomo
Copy link

@yegor256

Some graph algorithms are extremely annoying to implement with XSL. They are doable, though, since you can have recursive templates, but nevertheless, it would be way easier to write them in Java.

So, I would like to know what do you think about this issue.

Thanks in advance.

@paulodamaso
Copy link
Collaborator

@ilyakharlamov How about making some performance tests to measure xml speed / efficiency and then implement some routines in java to compare both?

@ilyakharlamov
Copy link
Contributor Author

@paulodamaso This issue is not about the performance.
The original problem is that it's close to impossible to implement graph traversal algorithms that are needed for advanced semantic indexes, like depth-first search, A* algorithm, Dijkstra algorithm etc using XSLT.
Better performance can be a nice bonus, but the real issue is the graph traversal.

@paulodamaso
Copy link
Collaborator

@ilyakharlamov Understood the problem. XSL was chosen because its performance, but as it does not have the required features it's time to move on to some more robust implementation.

@paulodamaso
Copy link
Collaborator

@0crat in

@0crat 0crat added the scope label Apr 15, 2019
@0crat
Copy link
Collaborator

0crat commented Apr 15, 2019

@0crat in (here)

@paulodamaso Job #296 is now in scope, role is DEV

@0crat
Copy link
Collaborator

0crat commented Apr 15, 2019

Bug was reported, see §29: +15 point(s) just awarded to @ilyakharlamov/z

@0crat
Copy link
Collaborator

0crat commented Nov 14, 2019

The job #296 assigned to @ebercamargo/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

@0crat
Copy link
Collaborator

0crat commented Nov 24, 2019

Resigned on delay, see §8: -30 point(s) just awarded to @ebercamargo/z

@0crat
Copy link
Collaborator

0crat commented Nov 24, 2019

The user @ebercamargo/z resigned from #296, please stop working. Reason for job resignation: It is older than 10 days, see §8

@0crat
Copy link
Collaborator

0crat commented Dec 7, 2019

The job #296 assigned to @monomonedula/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

@yegor256
Copy link
Member

@paulodamaso @danilomo I agree that we should think about Java implementations of Report

@0crat
Copy link
Collaborator

0crat commented Dec 17, 2019

The user @monomonedula/z resigned from #296, please stop working. Reason for job resignation: It is older than 10 days, see §8

@0crat
Copy link
Collaborator

0crat commented Dec 17, 2019

Resigned on delay, see §8: -30 point(s) just awarded to @monomonedula/z

@0crat
Copy link
Collaborator

0crat commented Dec 24, 2019

@paulodamaso/z not enough funds available in the project, can't set budget of job #296, see §21; @RajanAMistry/z will get no money on completion; in order to fix that, add funds to the project and assign the job again

@0crat
Copy link
Collaborator

0crat commented Jan 1, 2020

@RajanAMistry/z this job was assigned to you 8days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

@0crat
Copy link
Collaborator

0crat commented Jan 3, 2020

The user @RajanAMistry/z resigned from #296, please stop working. Reason for job resignation: It is older than 10 days, see §8

@0crat
Copy link
Collaborator

0crat commented Jan 3, 2020

Resigned on delay, see §8: -30 point(s) just awarded to @RajanAMistry/z

@0crat
Copy link
Collaborator

0crat commented Jan 3, 2020

@paulodamaso/z not enough funds available in the project, can't set budget of job #296, see §21; @uurl/z will get no money on completion; in order to fix that, add funds to the project and assign the job again

@0crat
Copy link
Collaborator

0crat commented Jan 11, 2020

@uurl/z this job was assigned to you 8days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

@0crat
Copy link
Collaborator

0crat commented Jan 13, 2020

Resigned on delay, see §8: -30 point(s) just awarded to @uurl/z

@0crat
Copy link
Collaborator

0crat commented Jan 13, 2020

The user @uurl/z resigned from #296, please stop working. Reason for job resignation: It is older than 10 days, see §8

@HDouss
Copy link
Contributor

HDouss commented Feb 21, 2020

@ilyakharlamov I resolved the main part

So we need to have an option to generate an XML report by name, that is implemented in Java, not XSLT.

The option is now here. That's what can be done in 30min. I don't know if you/we should create separate issues for specific metrics to be implemented in Java, or if you have in mind any specific metric that absolutely must be implemented, I could add a puzzle.

@HDouss
Copy link
Contributor

HDouss commented Feb 21, 2020

@paulodamaso any opinion here?

@paulodamaso
Copy link
Collaborator

@HDouss We need to have hooks / checkpoints which allows us to continue to break a complex task in many other micro-tasks. These hooks came in forma of puzzles in the code, and using them we will be able to know how much we still have to do and what is left to implement for our feature to be complete. I should have asked you to put these puzzles in the code before the merge. We need these puzzles, so could you please add them?

@HDouss
Copy link
Contributor

HDouss commented Feb 21, 2020

@paulodamaso that's what I said in:

The option is now here. That's what can be done in 30min. I don't know if you/we should create separate issues for specific metrics to be implemented in Java, or if you have in mind any specific metric that absolutely must be implemented, I could add a puzzle.

However the puzzle should be precise. Should we implement all the metrics in Java? Are they some must-have implementations in Java. I can't just say "implement some metrics" in Java.

@HDouss
Copy link
Contributor

HDouss commented Feb 21, 2020

@paulodamaso puzzle added in PR #389

@0pdd
Copy link
Collaborator

0pdd commented Feb 21, 2020

@ilyakharlamov the puzzle #390 is still not solved.

@HDouss
Copy link
Contributor

HDouss commented Feb 21, 2020

@ilyakharlamov PR #389 added a puzzle and merged. Please close the issue.

@HDouss
Copy link
Contributor

HDouss commented Feb 21, 2020

@ilyakharlamov ping

@HDouss
Copy link
Contributor

HDouss commented Feb 22, 2020

@ilyakharlamov PR #389 merged. Please close the issue.

@0crat
Copy link
Collaborator

0crat commented Feb 22, 2020

@sereshqua/z please review this job completed by @HDouss/z, as in §30; the job will be fully closed and all payments will be made when the quality review is completed

@sereshqua
Copy link

@0crat quality good

@0crat 0crat removed the scope label Feb 22, 2020
@0crat
Copy link
Collaborator

0crat commented Feb 22, 2020

Order was finished, quality is "good": +35 point(s) just awarded to @HDouss/z

@0crat
Copy link
Collaborator

0crat commented Feb 22, 2020

Quality review completed: +4 point(s) just awarded to @sereshqua/z

@0pdd
Copy link
Collaborator

0pdd commented Feb 26, 2020

@ilyakharlamov 2 puzzles #396, #397 are still not solved; solved: #390.

@0pdd
Copy link
Collaborator

0pdd commented Mar 5, 2020

@ilyakharlamov the puzzle #397 is still not solved; solved: #390, #396.

@0pdd
Copy link
Collaborator

0pdd commented Mar 5, 2020

@ilyakharlamov the puzzle #408 is still not solved; solved: #390, #396, #397.

@0pdd
Copy link
Collaborator

0pdd commented Mar 6, 2020

@ilyakharlamov 2 puzzles #412, #413 are still not solved; solved: #390, #396, #397, #408.

@0pdd
Copy link
Collaborator

0pdd commented Mar 9, 2020

@ilyakharlamov 3 puzzles #413, #416, #417 are still not solved; solved: #390, #396, #397, #408, #412.

@0pdd
Copy link
Collaborator

0pdd commented Mar 12, 2020

@ilyakharlamov 2 puzzles #413, #416 are still not solved; solved: #390, #396, #397, #408, #412, #417.

@0pdd
Copy link
Collaborator

0pdd commented Apr 6, 2020

@ilyakharlamov 3 puzzles #416, #440, #441 are still not solved; solved: #390, #396, #397, #408, #412, #413, #417.

@0pdd
Copy link
Collaborator

0pdd commented Apr 9, 2020

@ilyakharlamov 5 puzzles #416, #441, #443, #444, #445 are still not solved; solved: #390, #396, #397, #408, #412, #413, #417, #440.

@0pdd
Copy link
Collaborator

0pdd commented Apr 21, 2020

@ilyakharlamov 4 puzzles #416, #441, #445, #459 are still not solved; solved: #390, #396, #397, #408, #412, #413, #417, #440, #443, #444.

@0pdd
Copy link
Collaborator

0pdd commented May 1, 2020

@ilyakharlamov 4 puzzles #416, #441, #472, #473 are still not solved; solved: #390, #396, #397, #408, #412, #413, #417, #440, #443, #444, #445, #459.

@0pdd
Copy link
Collaborator

0pdd commented Jun 29, 2020

@ilyakharlamov 2 puzzles #416, #473 are still not solved; solved: #390, #396, #397, #408, #412, #413, #417, #440, #441, #443, #444, #445, #459, #472.

@0pdd
Copy link
Collaborator

0pdd commented Jul 26, 2020

@ilyakharlamov 2 puzzles #416, #484 are still not solved; solved: #390, #396, #397, #408, #412, #413, #417, #440, #441, #443, #444, #445, #459, #472, #473.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants