MCPcopy Create free account
hub / github.com/AstroImageJ/astroimagej / installJarPlugin

Method installJarPlugin

ij/src/main/java/ij/Menus.java:836–895  ·  view source on GitHub ↗

Install a plugin located in a JAR file.

(String jar, String s)

Source from the content-addressed store, hash-verified

834
835 /** Install a plugin located in a JAR file. */
836 void installJarPlugin(String jar, String s) {
837 addSorted = false;
838 Menu menu;
839 s = s.trim();
840 if (s.startsWith("Plugins>")) {
841 int firstComma = s.indexOf(',');
842 if (firstComma==-1 || firstComma<=8)
843 menu = null;
844 else {
845 String name = s.substring(8, firstComma);
846 menu = getPluginsSubmenu(name);
847 }
848 } else if (s.startsWith("\"") || s.startsWith("Plugins")) {
849 String name = getSubmenuName(jar);
850 if (name!=null)
851 menu = getPluginsSubmenu(name);
852 else
853 menu = pluginsMenu;
854 addSorted = true;
855 } else {
856 int firstQuote = s.indexOf('"');
857 String name = firstQuote<0 ? s : s.substring(0, firstQuote).trim();
858 int comma = name.indexOf(',');
859 if (comma >= 0)
860 name = name.substring(0, comma);
861 if (name.startsWith("Help>About")) // for backward compatibility
862 name = "Help>About Plugins";
863 menu = getMenu(name);
864 }
865 int firstQuote = s.indexOf('"');
866 if (firstQuote==-1)
867 return;
868 s = s.substring(firstQuote, s.length()); // remove menu
869 if (menu!=null) {
870 addPluginSeparatorIfNeeded(menu);
871 addPluginItem(menu, s);
872 addSorted = false;
873 }
874 String menuEntry = s;
875 if (s.startsWith("\"")) {
876 int quote = s.indexOf('"', 1);
877 menuEntry = quote<0?s.substring(1):s.substring(1, quote);
878 } else {
879 int comma = s.indexOf(',');
880 if (comma > 0)
881 menuEntry = s.substring(0, comma);
882 }
883 if (duplicateCommand) {
884 if (jarError==null) jarError = "";
885 addJarErrorHeading(jar);
886 String jar2 = (String)menuEntry2jarFile.get(menuEntry);
887 if (jar2 != null && jar2.startsWith(pluginsPath))
888 jar2 = jar2.substring(pluginsPath.length());
889 jarError += " Duplicate command: " + s
890 + (jar2 != null ? " (already in " + jar2 + ")"
891 : "") + "\n";
892 } else
893 menuEntry2jarFile.put(menuEntry, jar);

Callers 1

installJarPluginsMethod · 0.95

Calls 13

getPluginsSubmenuMethod · 0.95
getSubmenuNameMethod · 0.95
getMenuMethod · 0.95
addPluginItemMethod · 0.95
addJarErrorHeadingMethod · 0.95
startsWithMethod · 0.80
substringMethod · 0.80
lengthMethod · 0.65
trimMethod · 0.45
indexOfMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected