The following has evaluated to null or missing: ==> FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) [in template "252001#252047#252845" at line 132, column 37] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: dMTJsonObject = FrontendService.media... [in template "252001#252047#252845" at line 132, column 21] ----
1<#-- used @ Veranstaltung-Detailseite Intro
2 used @ Publikation-Detailseite Intro
3-->
4
5<#--
6Web content templates to display teaser on thema detail page
7
8Generic template for detail pages Intro / Teaser element
9-->
10<#--
11Display the current page title
12-->
13<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" />
14<#include "${fullTemplatesPath}/macros/debugging.ftl" />
15
16<#include "${fullTemplatesPath}/macros/page-modules/PMIntro.ftl" />
17<#include "${fullTemplatesPath}/macros/atomic-modules/AMPublicationCarousel.ftl" />
18<#include "${fullTemplatesPath}/macros/atomic-modules/AMMetadata.ftl" />
19<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" />
20
21
22<#--
23 renders the Intro for nearly all Pages
24 TODO: remove Share? (was in the designs, but not anymore?)
25 TODO: check if languageSelect/filter are working (js)
26
27 - portletId
28 - data = {
29 "media": string (src from image),
30 "category": string,
31 "title": string,
32 "author": string,
33 "subheadline": string,
34 "copy": string,
35 "filter": {
36 "id": string,
37 "name": string,
38 "entries": Array<Object> ({key:value}),
39 },
40 "languageSelect": {
41 "id": string,
42 "name": string,
43 "entries": Array<Object> ({key:value}),
44 },
45 "meta": {
46 "pos"; string (top/bottom)
47 "date": string,
48 "hash": string,
49 "info": string, (url)
50 },
51 "share" : {
52 "login": string,
53 "print": string,
54 "mail": string,
55 "multishare": string?? (tbd)
56 }
57 - AMMetadata: macro
58 - position: String ("top") -> defines wether the meta-data should be rendered above or below the intro-content
59 }
60-->
61
62<#assign
63 JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")
64
65 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()
66 DLAPP = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService")
67
68 themeDisplay = ServiceContext.getThemeDisplay()
69 editmode = FrontendService.user.isPrivilegedUser(themeDisplay)
70
71 languageId = themeDisplay.getLocale()
72 groupId = themeDisplay.getScopeGroupId()
73 currentUrl = themeDisplay.getURLCurrent()
74
75 layout = themeDisplay.getLayout()
76 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id")
77/>
78
79<#setting locale="${languageId}">
80
81<#-- get article from url -->
82
83<#assign entry = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! >
84
85
86<#if entry?has_content>
87
88 <#if entry.resourcePrimKey??>
89 <#assign primaryKey = entry.resourcePrimKey?number >
90 <#elseif entry.classPK??>
91 <#assign primaryKey = entry.classPK?number >
92 </#if>
93
94 <#assign
95 jsonString = FrontendService.article.getWebcontent(primaryKey)
96 json = FrontendService.json.parseAsJson(jsonString)
97 availablelanguages = FrontendService.article.getAssetEntryToUrl(primaryKey).getAvailableLanguageIds()
98
99 title = entry.getTitle(languageId)
100 data = {
101 "title": title
102 }
103 />
104 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" />
105
106 <#if hasContent('untertitel', languageId, json)>
107 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } >
108 </#if>
109
110 <#if hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'detailsubtitle'), languageId, json)>
111 <#assign data = data + { "detailsubtitle": getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'detailsubtitle'), languageId, json, "first") } >
112 </#if>
113
114 <#if hasContent('beschreibung', languageId, json)>
115 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } >
116 </#if>
117
118 <#-- fill meta data -->
119 <#assign meta = {} />
120
121 <#-- PUBLIKATIONEN DETAIL -->
122 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")>
123
124 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)>
125 <#assign
126 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first")
127 />
128
129 <#if coverBildString?has_content>
130 <#assign
131 coverBild = FrontendService.json.parseAsJson(coverBildString)
132 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale )
133 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid )
134 data = data + { "media": linkToDMT, "meta" : dMTJsonObject }
135 />
136 <#if dMTJsonObject.altText?? >
137 <#assign data = data + {"alt" : dMTJsonObject.altText} />
138 </#if>
139 <#if dMTJsonObject.quelle??>
140 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } />
141 </#if>
142 </#if>
143 <#-- uncomment to display pdf cover as Intro Image
144 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)>
145 <#assign
146 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first")
147 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/>
148 <#if fileEntry?has_content>
149 <#assign
150 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay)
151 data = data + { "media": linkToThumbnail }
152 />
153 </#if>
154 -->
155 </#if>
156
157 <#assign
158 meta = meta + { "orderInfo": "true" }
159 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!""
160 />
161
162
163
164 <#if hasContent('erscheinungsdatum', languageId, json)>
165 <#assign
166 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first")
167 />
168 <#if erscheinungsdatum?has_content >
169 <#assign
170 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId )
171 meta = meta + { "date": erscheinungsdatumFormatted }
172 />
173 </#if>
174 </#if>
175
176 <#if verbundJournalArticle?has_content>
177 <#assign
178 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey)
179 verbundJson = FrontendService.json.parseAsJson(verbundJsonString)
180 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first")
181 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first")
182 />
183 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" />
184 <#assign meta = meta + { "laufendenummer": laufendenummer } >
185
186 <#if coverImg?has_content && coverImg.url?has_content >
187 <#assign meta = meta + { "coverImg": coverImg.url } >
188 </#if>
189 </#if>
190
191
192 <#if meta?has_content>
193 <#assign data = data + {"meta": meta } >
194 </#if>
195
196 </#if>
197 <#-- PUBLIKATIONEN DETAIL END -->
198
199
200 <#-- VERANSTALTUNGEN DETAIL -->
201 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")>
202 <#assign
203 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!""
204 links = []
205 />
206 <#if availablelanguages?has_content && friendlyUrl?has_content>
207 <#if (availablelanguages?size > 1) >
208 <#list availablelanguages as language>
209 <#assign
210 defaultLanguage = "de_DE"
211 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage)
212 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale
213 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId)
214
215 link = {
216 "key": language!defaultLanguage,
217 "value": linkLocale.getDisplayLanguage(languageId),
218 "url": "/c/portal/update_language?p_l_id=" +
219 layout.plid + "&redirect=" + langFriendlyUrl +
220 "&languageId=" + language
221 }
222 />
223 <#if language == languageId>
224 <#assign link = link + { "selected": "true" } >
225 </#if>
226 <#assign links = links + [link]>
227 </#list>
228 <#assign
229 data = data + {
230 "languageSelect": {
231 "id": "languageSelectRedirect",
232 "name": "languageselectRedirect",
233 "entries": links,
234 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar")
235 }
236 }
237 />
238 </#if>
239 </#if>
240 </#if>
241
242 <#if hasContent('erscheinungsdatum', languageId, json)>
243 <#assign
244 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first")
245 meta = meta + { "start": startdate?date.iso, "end": "" }
246 />
247 </#if>
248
249 <#if hasContent('startdatum', languageId, json)>
250 <#assign
251 startdate = getValueForLanguage('startdatum', languageId, json, "first")
252 meta = meta + { "start": startdate?date.iso, "end": "" }
253 />
254 </#if>
255
256 <#if hasValue('einfuehrungText', locale, json)>
257 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } >
258 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")>
259 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } >
260 </#if>
261
262 <#if hasContent('endedatum', languageId, json)>
263 <#assign
264 enddate = getValueForLanguage('endedatum', languageId, json, "first")
265 meta = meta + { "end": enddate?date.iso }
266 />
267 </#if>
268
269 <#if hasContent('startzeit', languageId, json)>
270 <#assign
271 startzeit = getValueForLanguage('startzeit', languageId, json, "first")
272 />
273 <#if startzeit?has_content >
274 <#assign meta = meta + { "startzeit": startzeit } />
275 </#if>
276 </#if>
277
278 <#if hasContent('endezeit', languageId, json)>
279 <#assign
280 endezeit = getValueForLanguage('endezeit', languageId, json, "first")
281 meta = meta + { "endezeit": endezeit }
282 />
283 </#if>
284
285 <#if hasContent('ortWCSKASDEORT', languageId, json)>
286 <#assign
287 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first"))
288 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number
289 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!""
290 />
291 <#if ortWCSKASDEORTWebContent?has_content >
292 <#assign
293 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!""
294 />
295 <#if ortWCSKASDEORTTitle?has_content >
296 <#assign
297 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle }
298 />
299 </#if>
300 </#if>
301 </#if>
302
303
304 <#if hasContent('veranstaltungsnummer', languageId, json)>
305 <#assign
306 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first")
307 meta = meta + { "verauuid": verauuid }
308 />
309 </#if>
310
311
312 <#if (data.meta)?has_content >
313 <#assign meta = data.meta />
314 </#if>
315
316 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)>
317 <#assign
318 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first")
319 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution")
320 />
321 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} >
322
323
324 <#if mediaData.meta?? && mediaData.meta.quelle??>
325 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } />
326 </#if>
327 </#if>
328
329
330 <#if meta?has_content>
331 <#assign data = data + {"meta": meta } >
332 </#if>
333
334 <#-- END fill meta data -->
335
336 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)>
337 <#assign
338 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json)
339 authors = []
340 />
341 <#list journalArticles as articleString>
342 <#assign article = FrontendService.json.parseAsJson(articleString) />
343 <#if article?has_content && article?is_hash && article.classPK??>
344 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" />
345 <#if articleDereferenced?has_content >
346 <#assign
347 author = ""
348 articlePrimaryKey = articleDereferenced.classPK?number
349 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey)
350 articleJson = FrontendService.json.parseAsJson(articleJsonString)
351 />
352 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" />
353 <#if hasValue('anredetitel', languageId, articleJson)>
354 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " ">
355 </#if>
356 <#if hasValue('vorname', languageId, articleJson)>
357 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " ">
358 </#if>
359 <#if hasValue('nachname', languageId, articleJson)>
360 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " ">
361 </#if>
362
363 <#attempt>
364 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" >
365 <#recover>
366 <#assign href = "#" >
367 </#attempt>
368 <#if href?has_content && href != "#" && href != "/_404">
369 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'>
370 </#if>
371
372 <#assign authors = authors + [author?trim]>
373 </#if>
374 </#if>
375 </#list>
376 <#if authors?has_content>
377 <#assign data = data + { "author": authors?join(", ") } >
378 </#if>
379 </#if>
380
381 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") >
382 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! >
383 <#if categories?has_content && categories[0]?has_content >
384 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
385 </#if>
386
387 <#if hasContent('ausgebucht', languageId, json)>
388 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }>
389 </#if>
390
391 <#if hasContent('storniert', languageId, json)>
392 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }>
393 </#if>
394
395 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") >
396 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! >
397 <#if categories?has_content && categories[0]?has_content >
398 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
399 </#if>
400 <#else>
401 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! >
402 <#if categories?has_content && categories[0]?has_content >
403 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
404 </#if>
405 </#if>
406
407
408 <#assign
409 languages = []
410 />
411
412 <#attempt>
413 <#if json["document_pdfDMTBASICDOCUMENT"]?? >
414 <#if availablelanguages?has_content>
415 <#list availablelanguages as pdf_language>
416 <#assign
417 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first")
418 docRef = FrontendService.json.parseAsJson(docRefJson)
419 />
420 <#if docRef?is_hash && pdf_language != languageId >
421 <#assign
422 lang = FrontendService.language.getLocaleByKey(pdf_language)!""
423 docGroupId = docRef["groupId"]?number
424 docUuid = docRef["uuid"]
425 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale )
426 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject )
427 />
428 <#if lang?has_content>
429 <#assign
430 languages = languages + [
431 {
432 "key": pdf_language,
433 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(),
434 "url": dMTLink
435 }]
436 />
437 </#if>
438 </#if>
439 </#list>
440 </#if>
441 </#if>
442 <#recover>
443 </#attempt>
444
445 <#if (languages?size > 0)>
446 <#attempt>
447 <#assign
448 data = data + { "languageSelect": {
449 "id": "languageSelect",
450 "name": "languageselect",
451 "entries": languages,
452 "documents": "",
453 "button": "true"
454 }}
455 />
456 <#recover>
457 </#attempt>
458 </#if>
459
460 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" />
461 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)}
462
463 <#if data.meta?has_content>
464 <#if data.meta.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()>
465 <div>
466 <div id="publicationVerbundPagination">
467 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg />
468 </div>
469 </div>
470 </#if>
471 </#if>
472
473<#elseif (editmode?? && editmode)>
474 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl />
475</#if>
Nach dem wenig überraschenden Rücktritt von Yoshihide Suga, der in seiner kurzen Amtszeit vor enormen Herausforderungen stand, übernahm am 29. September dieses Jahres Fumio Kishida (64) den Parteivorsitz der Liberaldemokraten (LDP) und am 4. Oktober das Amt des Premierministers. Kishida, der aus familiärer Verbundenheit seinen Heimatwahlkreis Hiroshima I seit 1996 im nationalen Parlament vertritt, ist Japans längst-gedienter Außenminister (2012-2017). Nach zwei erfolglosen Versuchen, die LDP zu anzuführen (2018, 2020), setzte sich Kishida gegen drei starke Kandidaten durch.
Zum ersten Mal überhaupt bewarben sich zwei Frauen um das Präsidentenamt der regierenden LDP. Dass sie unterlagen, ist weniger ihren sehr unterschiedlichen politischen Inhalten als der fehlenden innerparteilichen Unterstützung geschuldet und verweist auf ein endemisches Problem: Frauen werden diese Führungspositionen noch nicht zugetraut. Das positive Echo auf die Aussicht, dass Japan von einer Frau hätte regiert werden können, setzt die konservative LDP etwas unter Zugzwang. Das einst unter Shinzo Abe ausgegebene Ziel, bis 2020 mindestens 30% mehr weibliche Führungskräfte zu benennen, wurde wegen grober Zielverfehlung gekappt und kurzerhand auf 2030 verschoben. Im Ergebnis belegt Japan Platz 120 (von 156) im Global Gender Gap Report 2021 des World Economic Forums. Bezeichnend dafür ist der geringe Frauenanteil im neuen Parlament: sie stellen nicht einmal 10% der gesamten Mandate (Gesamtanzahl der Sitze 465). Den höchsten Frauenanteil bietet die Constitutional Democratic Party mit 13,5% auf. In der LDP finden sich lediglich 7,6% Frauen. Grund genug für die LDP und die Regierung, endlich zu liefern.
Und Kishida könnte liefern. Er hat die Unterhauswahlen am 31. Oktober mit sehr großem Abstand zu den unsortierten Oppositionsparteien gewonnen (48,05%, 261 von 465 Sitzen) und kann sich – nach der erneuten Bestätigung als Premierminister und Vereidigung seines zweiten Kabinetts Mitte November – ganz der Umsetzung der üppigen Wahlversprechen widmen, die maßgeblich von den konservativen Kräften der LDP um Abe formuliert wurden. Erhebliche Subventionen für kleine und mittelständische Unternehmen (Post-Covid Wachstumsförderung), massive Investitionen in neue Technologien, Zuschüsse für digitalen und technologischen Umbau der Unternehmen, Förderung und Ausbau erneuerbarer Energien, Steuerreformen und Vermögensverteilung sowie die Erhöhung des Verteidigungshaushalts auf deutlich über 2% sind die budgetintensivsten, zugleich wichtigsten Vorhaben der LDP. Frauenförderung, oder überhaupt „Womenomics“, ist erneut keines der drängenden Themen, die Kishida und sein neues Kabinett immediat angehen wird. Wirtschaftlich wird sich diese Nachlässigkeit rächen. Japan braucht eine stabile Frauenerwerbsquote, und die ist nur mit überarbeiteten Einstellungs- und Beförderungsrichtlinien und -prozessen zu erreichen.
Drei bestimmende Schwerpunkte: Arbeitskräfte, Wirtschaftswachstum und Klimaneutralität
Die Uno-Weltbevölkerungsprognose (2019) sagt voraus, dass Japans Erwerbsbevölkerung (15- bis 64-jährige) zwischen 2020 und 2050 ein Defizit von 21 bis 54 Millionen aufweisen wird. Die Bevölkerung der ab 65-jährigen wird sich von 18 Millionen (Stand 1995) auf 34 Millionen (2045) nahezu verdoppeln. 2025 wird jede dritte Japanerin oder jeder dritte Japaner 65 Jahre oder älter sein. Der Abhängigkeitsquotient (Anteil der Nichterwerbstätigen auf 100 Erwerbstätige) wird in dieser Zeit von 69% auf 97% steigen – der höchste Wert in der OECD. Diese Zahlen könnten noch drastischer sein, bliebe die Arbeitslosenquote so niedrig wie bisher. Dem Rückgang der Erwerbstätigen will Japan seit Abe mit dem vielzitierten „Society 5.0“ Programm beikommen, welches, wie in den Wahlprogrammen beschrieben, Investitionen und Entwicklung von Technologien vorsieht, die Arbeitskräfte ersetzen oder entlasten können. Kishida wird sich in seiner Amtszeit ebenso mit der Problematik der Arbeitsmigration und der Reform der Einwanderung beschäftigen müssen.
Drängender jedoch sind weitere Entlastungen für die Pandemie-geplagte Wirtschaft. Die umfangreichen Maßnahmen der Regierung für die KMU während der Pandemie haben dazu beigetragen, dass Unternehmensinsolvenzen minimal blieben. Das Spektrum arbeitsspezifischer Fördermaßnahmen umfasste Teilkündigungen, Lohnzuschüsse und Zuschüsse für Selbständige. Zweitens erlaubte es einen Zahlungsaufschub für Einkommensteuer, Miete und Nebenkosten. Drittens stellte die Regierung drei Arten finanzieller Unterstützung bereit: Darlehensgarantien, Direktdarlehen und Zuschüsse zu Subventionen. Die neuen strukturellen Richtlinien betrafen Telearbeit und Digitalisierung, Innovation und Ausbildung sowie Umgruppierungen und Versetzungen. Im Oktober 2021 erließ die japanische Regierung verschiedene Vorsorgepläne und etliche Beihilferegularien zur Aufrechterhaltung der Beschäftigung. Sonderauszahlungen an Zeitarbeiter und eine Neuauflage des Subventionsprogramms „Go to Travel“ gehören in diesen Maßnahmenkatalog ebenso wie die Auflage eines neuen Konjunkturpakets, welches im November geschnürt sein soll. Maßgebliche Höhe des Pakets: 325 Milliarden EUR.
Viel grundsätzlicher ist Kishidas Absicht, eine "neue Form des japanischen Kapitalismus" zu etablieren. Jenseits der mit Deregulierung und schuldenfinanzierter Konjunkturprogramme erzielten Unternehmensgewinne und Beschäftigung möchte Kishida nachhaltiges Wachstum schaffen. Er wirbt folglich für eine ganzheitliche Sicht auf die Wirtschaft. Sein Ziel ist es, möglichst viele Menschen, insbesondere die Mittelklasse, vom Wachstum profitieren zu lassen und verspricht u.a. deutlich höhere Löhne für Arbeitnehmer. Aus neoliberal wird nun sozial.
Die dritte große Aufgabe, vor der Kishidas neue Regierung steht, ist das Versprechen, Japan bis 2050 klimaneutral wirtschaften zu lassen. Drastische Emissionsreduzierung war einst Sugas großer Wurf, den Kishida auf dem COP26, der Klimakonferenz der Vereinten Nationen in Glasgow am 3. November, mit weiteren Zusagen übertraf. Bis 2030 will das ressourcenarme Japan als fünftgrößter Emittent seinen Anteil erneuerbarer Energien am Strommix auf 50% erhöhen. Die Kohleverstromung soll heruntergefahren werden, gleichzeitig sind die industrielle Nutzung von CO2 sowie industriefähigem Wasserstoff wichtige Komponenten für das hehre Klimaneutralitätsziel. Kishida möchte Japan an der Spitze der globalen grünen Industrie sehen. Bei kluger Verzahnung mit seinen nachhaltigen Wachstumszielen könnte dies sogar gelingen.
Nach der Wahl ist in Japan immer auch vor der Wahl
Schon im Juli 2022 stehen die Oberhauswahlen an und Kishida benötigt bis dahin überzeugende Arbeitsergebnisse, um gefestigt im Amt zu sein. Er muss die Faktionen innerhalb der LDP ihm gewogen halten, das gilt insbesondere für die gewichtige Gruppe um Shinzo Abe. Kishidas bisherige Agenda ist bis auf das stark sozial ausgerichtete Wirtschaftsprogramm maßgeblich von seinen Vorgängern geprägt. Zugleich bestimmt die COVID-Pandemie auch in ihrem dritten Jahr fast vollständig das politische Tagesgeschäft. Immerhin sind die Infektionszahlen drastisch gesunken und die Impfungen weit vorangeschritten. Davon hat die LDP stark profitieren können. Kishidas Umfragewerte während seiner ersten Amtstage jedoch nicht.
Am 11. November, auf der konstituierenden Sitzung des Parlaments nach den Unterhauswahlen, hat Kishida sein neues Kabinett vorgestellt, dem wieder nur drei Ministerinnen (von 21 Posten) angehören. Eine seiner Mitbewerberin um den Parteivorsitz ist dabei: Seiko Noda ist als Ministerin für „Gender Equality“ berufen worden. Mit ihr hätte die LDP einer erfahrenen und angesehenen Vorkämpferin für Frauenförderung und Genderpolitik an die Staatsspitze verholfen. Im Amt verblieben ist unter anderem Verteidigungsminister Nobuo Kishi, Shinzo Abes jüngerer Bruder. Ähnlich wie sein Vorgänger Taro Kono gehört er zu den Hardlinern der LDP gegenüber China. Zum ersten Mal überhaupt ist Taiwan als zu schützendes Land im Weißbuch des Verteidigungsministeriums aufgenommen worden. Umso erstaunlicher ist daher die Wahl des neuen Außenministers. Der bisherige Amtsinhaber, Toshimitsu Motegi, übernimmt den Posten des Generalsekretärs der LDP und wird zur Nummer Zwei in der Partei. Die Berufung von Nachfolger Yoshimasa Hayashi als Topdiplomat wird in den Kreisen der China-Kritiker heftig debattiert: Hayashi steht, wie schon sein Vater, der parlamentarischen China-Japan Freundschaftsgruppe vor und ist für einen eher weichen, nachgiebigen Kurs bekannt.
Außenpolitisch sind die Parameter für Kishida bereits vorgegeben: die Beziehungen zu den USA sollen möglichst eng und vertrauensvoll bleiben. Dies hat Verteidigungsminister Kishi in einer Pressekonferenz am 12. November noch einmal nachdrücklich unterstrichen. Japan muss sich angesichts der wachsenden militärischen Aggressionen im Ostchinesischen Meer positionieren. In der Konsequenz ist vor einigen Monaten das regionale Sicherheitsbündnis „Quad“ aufgewertet worden; regelmäßige Treffen finden auf höchster Ebene zwischen den USA, Japan, Australien und Indien statt. Hilfreich sind hierbei die aktuellen Initiativen der EU, Deutschlands und Frankreichs, die Sicherheit und Wohlstand in der indo-pazifischen Region zu einem außen- und verteidigungspolitischen Schwerpunkt erklärt haben.
Dennoch wird Kishida vornehmlich an innenpolitischen Erfolgen gemessen. Will er längerfristig im Amt bleiben, muss er in der Gesellschaft sichtbar sein, politischen und wirtschaftlichen Aufbruch verkörpern. Das wird schwer, angesichts des innerparteilich stark gewachsenen Einfluss von Shinzo Abe. Dieser hat kürzlich die stärkste Faktion innerhalb der LDP übernommen und ist Nachfolger von Hiroyuki Hosoda, der zum Parlamentspräsidenten gewählt wurde. Die 90 Abgeordnete umfassende Gruppe hat bisher vier Premierminister hervorgebracht. Wohl nicht ohne Grund hält sich hartnäckig das Gerücht in Tokios politischen Hinterzimmern, der bis dato längst-gediente Premierminister könne alsbald selbst wieder antreten.