422 } 423 424 //post copying of desktop icon 425 installScripts.append("xdg-desktop-menu install --novendor /opt/"); 426 installScripts.append(data.get("APPLICATION_FS_NAME")); 427 installScripts.append("/"); 428 installScripts.append(secondaryLauncherData.get("APPLICATION_LAUNCHER_FILENAME")); 429 installScripts.append(".desktop\n"); 430 431 //preun cleanup of desktop icon 432 removeScripts.append("xdg-desktop-menu uninstall --novendor /opt/"); 433 removeScripts.append(data.get("APPLICATION_FS_NAME")); 434 removeScripts.append("/"); 435 removeScripts.append(secondaryLauncherData.get("APPLICATION_LAUNCHER_FILENAME")); 436 removeScripts.append(".desktop\n"); 437 438 } 439 data.put("SECONDARY_LAUNCHERS_INSTALL", installScripts.toString()); 440 data.put("SECONDARY_LAUNCHERS_REMOVE", removeScripts.toString()); 441 442 List<Map<String, ? super Object>> associations = FILE_ASSOCIATIONS.fetchFrom(params); 443 data.put("FILE_ASSOCIATION_INSTALL", ""); 444 data.put("FILE_ASSOCIATION_REMOVE", ""); 445 data.put("DESKTOP_MIMES", ""); 446 if (associations != null) { 447 String mimeInfoFile = XDG_FILE_PREFIX.fetchFrom(params) + "-MimeInfo.xml"; 448 StringBuilder mimeInfo = new StringBuilder("<?xml version=\"1.0\"?>\n<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>\n"); 449 StringBuilder registrations = new StringBuilder(); 450 StringBuilder deregistrations = new StringBuilder(); 451 StringBuilder desktopMimes = new StringBuilder("MimeType="); 452 boolean addedEntry = false; 453 454 for (Map<String, ? super Object> assoc : associations) { 455 // <mime-type type="application/x-vnd.awesome"> 456 // <comment>Awesome document</comment> 457 // <glob pattern="*.awesome"/> 458 // <glob pattern="*.awe"/> 459 // </mime-type> 460 461 if (assoc == null) { | 422 } 423 424 //post copying of desktop icon 425 installScripts.append("xdg-desktop-menu install --novendor /opt/"); 426 installScripts.append(data.get("APPLICATION_FS_NAME")); 427 installScripts.append("/"); 428 installScripts.append(secondaryLauncherData.get("APPLICATION_LAUNCHER_FILENAME")); 429 installScripts.append(".desktop\n"); 430 431 //preun cleanup of desktop icon 432 removeScripts.append("xdg-desktop-menu uninstall --novendor /opt/"); 433 removeScripts.append(data.get("APPLICATION_FS_NAME")); 434 removeScripts.append("/"); 435 removeScripts.append(secondaryLauncherData.get("APPLICATION_LAUNCHER_FILENAME")); 436 removeScripts.append(".desktop\n"); 437 438 } 439 data.put("SECONDARY_LAUNCHERS_INSTALL", installScripts.toString()); 440 data.put("SECONDARY_LAUNCHERS_REMOVE", removeScripts.toString()); 441 442 StringBuilder cdsScript = new StringBuilder(); 443 if (UNLOCK_COMMERCIAL_FEATURES.fetchFrom(params) && ENABLE_APP_CDS.fetchFrom(params)) { 444 cdsScript.append("/opt/"); 445 cdsScript.append(data.get("APPLICATION_FS_NAME")); 446 cdsScript.append("/"); 447 cdsScript.append(data.get("APPLICATION_LAUNCHER_FILENAME")); 448 cdsScript.append(" -Xappcds:generatecache\n"); 449 } 450 451 data.put("APP_CDS_CACHE", cdsScript.toString()); 452 453 List<Map<String, ? super Object>> associations = FILE_ASSOCIATIONS.fetchFrom(params); 454 data.put("FILE_ASSOCIATION_INSTALL", ""); 455 data.put("FILE_ASSOCIATION_REMOVE", ""); 456 data.put("DESKTOP_MIMES", ""); 457 if (associations != null) { 458 String mimeInfoFile = XDG_FILE_PREFIX.fetchFrom(params) + "-MimeInfo.xml"; 459 StringBuilder mimeInfo = new StringBuilder("<?xml version=\"1.0\"?>\n<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>\n"); 460 StringBuilder registrations = new StringBuilder(); 461 StringBuilder deregistrations = new StringBuilder(); 462 StringBuilder desktopMimes = new StringBuilder("MimeType="); 463 boolean addedEntry = false; 464 465 for (Map<String, ? super Object> assoc : associations) { 466 // <mime-type type="application/x-vnd.awesome"> 467 // <comment>Awesome document</comment> 468 // <glob pattern="*.awesome"/> 469 // <glob pattern="*.awe"/> 470 // </mime-type> 471 472 if (assoc == null) { |