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

Add new metrics for feature attributes and features with attributes #50

Open
wants to merge 53 commits into
base: develop
Choose a base branch
from

Conversation

AngelaPGM
Copy link
Collaborator

Summary

This pull request introduces two new metrics to the FMProperties enumeration: feature_attributes and features_with_attributes.

Details

  • FEATURE_ATTRIBUTES: This metric provides a count and list of all unique attributes present in the feature model, aiding in understanding the complexity and variability at the attribute level.
  • FEATURES_WITH_ATTRIBUTES: This metric identifies features that possess attributes and calculates their ratio relative to the total number of features. This is useful for analyzing the distribution and presence of attributes across the feature model.

AngelaPGM and others added 18 commits July 14, 2024 13:50
- Implemented the ability to export an SVG chart to a PDF file using jsPDF.
- Adjusted the SVG dimensions dynamically to fit the content before export.
- Ensured the SVG dimensions are restored to their original values after export.
- Included error handling to manage any issues during the export process.
- Implemented Bootstrap modal to display detailed metric information.
- Replaced click tooltips with a modal for a better user experience.
- Included metric description as a subtitle in the modal.
- Ensured long words wrap correctly in both the modal and tooltips.
- Added a "Copy" button in the modal to copy the content to the clipboard.
- Temporarily disabled "Copy" button and changed its text to "Copied!" after copying.
…new feature of uploading a ZIP file. Also added error handling for ZIP uploads. Modified the logic to draw a diagram, although the diagram rendering is still pending implementation.
- Created a `process_files` function to handle multiple feature model files extracted from a ZIP archive.
- Utilized `ThreadPoolExecutor` for concurrent processing of UVL files, improving efficiency.
- Accumulated metrics from all valid UVL files and calculated their averages.
- Ensured robust error handling and logging for each file processed.
- Returned a JSON representation of the averaged metrics for integration with the web interface.
- Integrated the `process_files` function into the `upload_zip` route, allowing users to upload and process ZIP archives containing multiple UVL feature models.
- Implemented a D3.js chart in the HTML template to visualize the averaged metrics from the UVL files, providing an intuitive graphical representation for users.
Copy link

sonarcloud bot commented Sep 13, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
3.3% Duplication on New Code (required ≤ 3%)
B Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

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

Successfully merging this pull request may close these issues.

2 participants