Skip to content

Commit eb3ad58

Browse files
committed
Hacked the Ajax into the rendered report
1 parent 1361d62 commit eb3ad58

File tree

10 files changed

+415
-8
lines changed

10 files changed

+415
-8
lines changed

applications/rest-service/src/main/java/org/springframework/sbm/ReportController.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,17 @@ public String upgrade() {
3535
@PostMapping(path = "/spring-boot-upgrade", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.TEXT_HTML_VALUE)
3636
@ResponseBody
3737
public String applyRecipes(@RequestParam("recipeNames[]") String[] recipeNames) {
38+
/*
3839
ProjectContext context = contextHolder.getProjectContext();
3940
List.of(recipeNames).forEach(recipeName -> applyCommand.execute(context, recipeName));
4041
applyCommand.execute(context, "boot-2.7-3.0-upgrade-report2");
42+
43+
*/
44+
try {
45+
Thread.sleep(5000);
46+
} catch (InterruptedException e) {
47+
throw new RuntimeException(e);
48+
}
4149
return reportHolder.getReport();
4250
}
4351
}

applications/rest-service/src/main/java/org/springframework/sbm/SpringBootUpgradeReportStringRenderer.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,27 @@
2727
@Component
2828
@Primary
2929
public class SpringBootUpgradeReportStringRenderer implements SpringBootUpgradeReportRenderer {
30-
3130
@Autowired
3231
private ReportHolder reportHolder;
3332
@Override
3433
public void processReport(String renderedReport) {
3534
String htmlReport = UpgradeReportUtil.renderHtml(renderedReport);
35+
String closingHeadTag = "</head>";
36+
37+
String additionalHeader =
38+
"<link rel=\"stylesheet\" href=\"css/button.css\">\n" +
39+
"<script src=\"js/setup2.js\"></script>\n" +
40+
"<script src=\"js/site2.js\"></script>\n" +
41+
"<script src=\"js/java.min.js\"></script>\n";
42+
htmlReport = htmlReport.replace(closingHeadTag, additionalHeader + closingHeadTag);
43+
44+
htmlReport = htmlReport.replace("</body>", """
45+
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
46+
<script src="https://code.jquery.com/jquery-3.6.1.min.js" integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" crossorigin="anonymous"></script>
47+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>
48+
<script src="/js/recipe.js"></script>
49+
</body>
50+
""");
3651
reportHolder.setReport(htmlReport);
3752
}
3853
}
Lines changed: 233 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,233 @@
1+
button.recipeButton {
2+
--html-font-size: 1em;
3+
--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
4+
--font-weight: 400;
5+
--monospace-font-family: "SFMono-Regular", "Consolas", "Liberation Mono", "Menlo", monospace;
6+
--body-background-color: #fff;
7+
--panel-background-color: #f6f8fa;
8+
--panel-group-background-color: #e1e8e8;
9+
--panel-border-color: #eaedf0;
10+
--color-accent-1: #ebf2f2;
11+
--color-accent-2: #d7e7e7;
12+
--color-accent-3: #6db33f;
13+
--body-font-color: #191e1e;
14+
--body-font-light-color: #273030;
15+
--body-font-dark-color: #141818;
16+
--link-font-color: #1565c0;
17+
--hover-link-font-color: #104d92;
18+
--scrollbar-thumb-color: silver;
19+
--mark-background-color: #39ff14;
20+
--selected-background-color: #191e1e;
21+
--layout-max-width: 1400px;
22+
--layout-switchtheme-invert-filter: invert();
23+
--layout-switchtheme-background-color: var(--body-background-color);
24+
--layout-switchtheme-button-color: var(--body-background-color);
25+
--layout-switchtheme-button-hover-color: var(--color-accent-1);
26+
--asciidoctor-doc-background-embellishment-height: 147px;
27+
--asciidoctor-details-background: var(--color-accent-1);
28+
--asciidoctor-details-font-color: var(--body-font-light-color);
29+
--asciidoctor-author-separator-color: var(--color-accent-3);
30+
--asciidoctor-panel-background: var(--panel-background-color);
31+
--asciidoctor-panel-border-color: var(--panel-border-color);
32+
--asciidoctor-font-color: var(--body-font-color);
33+
--asciidoctor-heading-font-color: var(--body-font-dark-color);
34+
--asciidoctor-heading-font-weight: 600;
35+
--asciidoctor-alt-heading-font-weight: 600;
36+
--asciidoctor-section-divider-color: var(--color-accent-1);
37+
--asciidoctor-link-font-color: var(--link-font-color);
38+
--asciidoctor-hover-link-font-color: var(--hover-link-font-color);
39+
--asciidoctor-unresolved-link-font-color: #d32f2f;
40+
--asciidoctor-code-font-color: var(--asciidoctor-font-color);
41+
--asciidoctor-code-link-font-color: var(--link-font-color);
42+
--asciidoctor-code-background: rgba(27, 31, 35, .05);
43+
--asciidoctor-code-data-lang-color: #999;
44+
--asciidoctor-table-border-color: var(--asciidoctor-panel-border-color);
45+
--asciidoctor-table-header-footer-background: var(--color-accent-1);
46+
--asciidoctor-table-stripe-background: var(--color-accent-1);
47+
--asciidoctor-table-footer-background: linear-gradient(to bottom, var(--color-accent-1) 0%, var(--body-background-color) 100%);
48+
--asciidoctor-admonition-background: var(--color-accent-1);
49+
--asciidoctor-admonition-pre-background: var(--color-accent-2);
50+
--asciidoctor-admonition-label-font-weight: 500;
51+
--asciidoctor-admonition-font-color: #f0f0f0;
52+
--asciidoctor-admonition-caution-background: #561164;
53+
--asciidoctor-admonition-important-background: #960000;
54+
--asciidoctor-admonition-note-background: #015785;
55+
--asciidoctor-admonition-tip-background: #3e6b1f;
56+
--asciidoctor-admonition-warning-background: #bd7400;
57+
--asciidoctor-abstract-background: var(--asciidoctor-panel-background);
58+
--asciidoctor-abstract-border-color: var(--asciidoctor-panel-border-color);
59+
--asciidoctor-quote-background: var(--color-accent-1);
60+
--asciidoctor-quote-border-color: var(--color-accent-3);
61+
--asciidoctor-quote-attribution-font-color: var(--color-accent-3);
62+
--asciidoctor-caption-font-color: var(--body-font-light-color);
63+
--asciidoctor-caption-font-weight: 400;
64+
--asciidoctor-example-background: var(--asciidoctor-panel-background);
65+
--asciidoctor-example-border-color: var(--asciidoctor-panel-border-color);
66+
--asciidoctor-sidebar-background: var(--color-accent-1);
67+
--asciidoctor-pre-background: var(--asciidoctor-panel-background);
68+
--asciidoctor-pre-border-color: var(--asciidoctor-panel-border-color);
69+
--asciidoctor-callout-background: var(--body-font-dark-color);
70+
--asciidoctor-callout-font-color: var(--body-background-color);
71+
--asciidoctor-footer-font-color: #b6b6b6;
72+
--highlight-background-color: var(--asciidoctor-pre-background);
73+
--highlight-font-color: #24292e;
74+
--highlight-keyword-font-color: #d73a49;
75+
--highlight-comment-font-color: #6a737d;
76+
--highlight-string-font-color: #032f62;
77+
--highlight-meta-font-color: #6a737d;
78+
--highlight-constant-font-color: #032f62;
79+
--highlight-variable-font-color: #005cc5;
80+
--highlight-tag-font-color: #22863a;
81+
--highlight-tag-attribute-font-color: #6f42c1;
82+
--highlight-type-font-color: #6f42c1;
83+
--highlight-link-font-color: var(--link-font-color);
84+
--highlight-addition-font-color: #22863a;
85+
--highlight-deletion-font-color: #24292e;
86+
--highlight-regex-font-color: #032f62;
87+
--tabs-border-color: var(--selected-background-color);
88+
--tabs-background-color: var(--body-background-color);
89+
--tabs-font-color: var(--body-font-color);
90+
--tabs-selected-background-color: var(--selected-background-color);
91+
--tabs-selected-font-color: var(--body-background-color);
92+
--tabs-hover-font-color: var(--hover-link-font-color);
93+
--tabs-hover-background: var(--color-accent-1);
94+
--tabs-group-background-color: var(--panel-group-background-color);
95+
--toc-font-color: var(--body-font-color);
96+
--toc-hover-background-color: var(--color-accent-1);
97+
--toc-active-background-color: var(--selected-background-color);
98+
--toc-active-font-color: var(--body-background-color);
99+
--toc-back-to-index-filter: none;
100+
--toc-bar-button-filter: none;
101+
--codetools-button-filter: none;
102+
--codetools-button-active-filter: invert();
103+
--codetools-background-color: var(--body-background-color);
104+
--codetools-border-color: rgba(0, 0, 0, .3);
105+
--codetools-hover-background-color: var(--color-accent-1);
106+
--codetools-divider-color: var(--codetools-border-color);
107+
--codetools-popup-background-color: var(--selected-background-color);
108+
--codetools-popup-font-color: var(--body-background-color);
109+
--layout-banner-height: 51px;
110+
--layout-banner-logo-height: 30px;
111+
--layout-banner-logo-offset: 10px;
112+
--layout-border-color: var(--body-background-color);
113+
--toc-bar-display: block;
114+
--toc-bar-height: 24px;
115+
--toc-width: 0;
116+
--toc-display: none;
117+
--asciidoctor-doc-embellishment-margin-width: 0;
118+
--bs-blue: #0d6efd;
119+
--bs-indigo: #6610f2;
120+
--bs-purple: #6f42c1;
121+
--bs-pink: #d63384;
122+
--bs-red: #dc3545;
123+
--bs-orange: #fd7e14;
124+
--bs-yellow: #ffc107;
125+
--bs-green: #198754;
126+
--bs-teal: #20c997;
127+
--bs-cyan: #0dcaf0;
128+
--bs-black: #000;
129+
--bs-white: #fff;
130+
--bs-gray: #6c757d;
131+
--bs-gray-dark: #343a40;
132+
--bs-gray-100: #f8f9fa;
133+
--bs-gray-200: #e9ecef;
134+
--bs-gray-300: #dee2e6;
135+
--bs-gray-400: #ced4da;
136+
--bs-gray-500: #adb5bd;
137+
--bs-gray-600: #6c757d;
138+
--bs-gray-700: #495057;
139+
--bs-gray-800: #343a40;
140+
--bs-gray-900: #212529;
141+
--bs-primary: #0d6efd;
142+
--bs-secondary: #6c757d;
143+
--bs-success: #198754;
144+
--bs-info: #0dcaf0;
145+
--bs-warning: #ffc107;
146+
--bs-danger: #dc3545;
147+
--bs-light: #f8f9fa;
148+
--bs-dark: #212529;
149+
--bs-primary-rgb: 13, 110, 253;
150+
--bs-secondary-rgb: 108, 117, 125;
151+
--bs-success-rgb: 25, 135, 84;
152+
--bs-info-rgb: 13, 202, 240;
153+
--bs-warning-rgb: 255, 193, 7;
154+
--bs-danger-rgb: 220, 53, 69;
155+
--bs-light-rgb: 248, 249, 250;
156+
--bs-dark-rgb: 33, 37, 41;
157+
--bs-white-rgb: 255, 255, 255;
158+
--bs-black-rgb: 0, 0, 0;
159+
--bs-body-color-rgb: 33, 37, 41;
160+
--bs-body-bg-rgb: 255, 255, 255;
161+
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
162+
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
163+
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
164+
--bs-body-font-family: var(--bs-font-sans-serif);
165+
--bs-body-font-size: 1rem;
166+
--bs-body-font-weight: 400;
167+
--bs-body-line-height: 1.5;
168+
--bs-body-color: #212529;
169+
--bs-body-bg: #fff;
170+
--bs-border-width: 1px;
171+
--bs-border-style: solid;
172+
--bs-border-color: #dee2e6;
173+
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
174+
--bs-border-radius: 0.375rem;
175+
--bs-border-radius-sm: 0.25rem;
176+
--bs-border-radius-lg: 0.5rem;
177+
--bs-border-radius-xl: 1rem;
178+
--bs-border-radius-2xl: 2rem;
179+
--bs-border-radius-pill: 50rem;
180+
--bs-link-color: #0d6efd;
181+
--bs-link-hover-color: #0a58ca;
182+
--bs-code-color: #d63384;
183+
--bs-highlight-bg: #fff3cd;
184+
overflow-wrap: anywhere;
185+
-webkit-text-size-adjust: 100%;
186+
-webkit-tap-highlight-color: transparent;
187+
--bs-gutter-x: 1.5rem;
188+
--bs-gutter-y: 0;
189+
hyphens: none;
190+
box-sizing: border-box;
191+
margin: 0;
192+
text-transform: none;
193+
-webkit-appearance: button;
194+
--bs-btn-padding-x: 0.75rem;
195+
--bs-btn-padding-y: 0.375rem;
196+
--bs-btn-font-size: 1rem;
197+
--bs-btn-font-weight: 400;
198+
--bs-btn-line-height: 1.5;
199+
--bs-btn-border-width: 1px;
200+
--bs-btn-border-radius: 0.375rem;
201+
--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
202+
--bs-btn-disabled-opacity: 0.65;
203+
--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
204+
display: inline-block;
205+
padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
206+
font-size: var(--ebs-btn-font-size);
207+
font-weight: var(--bs-btn-font-weight);
208+
line-height: var(--bs-btn-line-height);
209+
color: var(--bs-btn-color);
210+
text-align: center;
211+
text-decoration: none;
212+
vertical-align: middle;
213+
user-select: none;
214+
border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
215+
border-radius: var(--bs-btn-border-radius);
216+
background-color: var(--bs-btn-bg);
217+
transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
218+
--bs-btn-color: #fff;
219+
--bs-btn-bg: #0d6efd;
220+
--bs-btn-border-color: #0d6efd;
221+
--bs-btn-hover-color: #fff;
222+
--bs-btn-hover-bg: #0b5ed7;
223+
--bs-btn-hover-border-color: #0a58ca;
224+
--bs-btn-focus-shadow-rgb: 49, 132, 253;
225+
--bs-btn-active-color: #fff;
226+
--bs-btn-active-bg: #0a58ca;
227+
--bs-btn-active-border-color: #0a53be;
228+
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
229+
--bs-btn-disabled-color: #fff;
230+
--bs-btn-disabled-bg: #0d6efd;
231+
--bs-btn-disabled-border-color: #0d6efd;
232+
cursor: pointer;
233+
}

applications/rest-service/src/main/resources/static/js/java.min.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)