git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 29 Sep 2017 15:14:16 +0000 (15:14 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 29 Sep 2017 15:14:16 +0000 (15:14 +0000)
server/-modules/pom.xml
server/user.jobengine.osgi.server/META-INF/MANIFEST.MF
server/user.jobengine.osgi.server/OSGI-INF/ConsoleCommandProvider.xml [new file with mode: 0644]
server/user.jobengine.osgi.server/src/user/jobengine/osgi/server/ConsoleCommandProvider.java [new file with mode: 0644]
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java

index fedf35ba00a384e0b97511db5495861a0af54580..4599ca3631b169fcbbd74ddca86ca5f31924e4b9 100644 (file)
@@ -22,7 +22,7 @@
                <tycho.version>1.0.0</tycho.version>\r
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
 \r
-               <remote.address>scp://root:password@10.10.1.26</remote.address>\r
+               <remote.address>scp://root:password@10.10.1.28</remote.address>\r
                <remote.hostkey>ssh-ed25519 256 ea:ab:67:70:79:63:2f:6a:34:81:48:e2:b9:dd:ca:d4</remote.hostkey>\r
        </properties>\r
 \r
index 659645ff16d048187707727c98b3e091c7b80ada..bb3fd83c1a98a739379064568ab86a36aa912526 100644 (file)
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
 Bundle-Name: Server
 Bundle-SymbolicName: user.jobengine.osgi.server;singleton:=true
 Bundle-Version: 1.0.0
-Service-Component: OSGI-INF/component.xml
+Service-Component: OSGI-INF/*.xml
 Import-Package: javax.servlet;version="3.1.0",
  javax.servlet.http;version="3.1.0",
  org.apache.logging.log4j.core;version="2.8.2",
@@ -15,7 +15,10 @@ Import-Package: javax.servlet;version="3.1.0",
  org.apache.logging.log4j.core.layout;version="2.8.2",
  org.apache.logging.log4j.core.net;version="2.8.2",
  org.apache.logging.log4j.core.util;version="2.8.2",
+ org.eclipse.core.runtime.adaptor,
+ org.eclipse.osgi.framework.console;version="1.1.0",
  org.osgi.framework;version="1.5.0",
+ org.osgi.framework.wiring;version="1.2.0",
  org.osgi.util.tracker;version="1.4.0",
  org.slf4j;version="1.6.3"
 Require-Bundle: user.jobengine.osgi.db;bundle-version="1.0.0",
diff --git a/server/user.jobengine.osgi.server/OSGI-INF/ConsoleCommandProvider.xml b/server/user.jobengine.osgi.server/OSGI-INF/ConsoleCommandProvider.xml
new file mode 100644 (file)
index 0000000..7a46c0c
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="activate" deactivate="deactivate" immediate="true" name="ConsoleCommandProvider">\r
+   <service>\r
+      <provide interface="org.eclipse.osgi.framework.console.CommandProvider"/>\r
+   </service>\r
+   <implementation class="user.jobengine.osgi.server.ConsoleCommandProvider"/>\r
+</scr:component>
\ No newline at end of file
diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/osgi/server/ConsoleCommandProvider.java b/server/user.jobengine.osgi.server/src/user/jobengine/osgi/server/ConsoleCommandProvider.java
new file mode 100644 (file)
index 0000000..3497087
--- /dev/null
@@ -0,0 +1,63 @@
+package user.jobengine.osgi.server;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+import org.eclipse.core.runtime.adaptor.EclipseStarter;\r
+import org.eclipse.osgi.framework.console.CommandInterpreter;\r
+import org.eclipse.osgi.framework.console.CommandProvider;\r
+import org.osgi.framework.Bundle;\r
+import org.osgi.framework.BundleContext;\r
+import org.osgi.framework.FrameworkUtil;\r
+import org.osgi.framework.wiring.BundleRevision;\r
+\r
+public class ConsoleCommandProvider implements CommandProvider {\r
+       private static final Logger logger = LogManager.getLogger();\r
+\r
+       @SuppressWarnings("restriction")\r
+       public Object _halt(CommandInterpreter intp) {\r
+               StringBuffer buffer = new StringBuffer();\r
+               Thread shutdownThread = new Thread(() -> {\r
+                       try {\r
+                               Thread.sleep(1000);\r
+                               BundleContext bundleContext = FrameworkUtil.getBundle(this.getClass()).getBundleContext();\r
+                               if (bundleContext != null) {\r
+                                       Bundle[] bundles = bundleContext.getBundles();\r
+                                       for (Bundle b : bundles) {\r
+                                               if ((b.adapt(BundleRevision.class).getTypes() & BundleRevision.TYPE_FRAGMENT) != 0)\r
+                                                       continue;\r
+                                               if ("org.eclipse.equinox.ds".equals(b.getSymbolicName()))\r
+                                                       continue;\r
+                                               if ("user.jobengine.osgi.commons".equals(b.getSymbolicName()))\r
+                                                       continue;\r
+\r
+                                               logger.info("Stopping {} ", b.getSymbolicName());\r
+                                               b.stop();\r
+                                       }\r
+                               }\r
+                               EclipseStarter.shutdown();\r
+\r
+                               System.exit(0);\r
+                       } catch (Exception e) {\r
+                               logger.error("Error:", e);\r
+                       }\r
+               });\r
+               buffer.append("Shutdown initiated");\r
+               shutdownThread.start();\r
+               return buffer.toString();\r
+       }\r
+\r
+       public void activate() {\r
+               logger.info("{} activated", getClass().getSimpleName());\r
+       }\r
+\r
+       public void deactivate() {\r
+               logger.info("{} deactivated", getClass().getSimpleName());\r
+       }\r
+\r
+       @Override\r
+       public String getHelp() {\r
+               StringBuffer buffer = new StringBuffer();\r
+               buffer.append("halt - Halt server\n");\r
+               return buffer.toString();\r
+       }\r
+}
\ No newline at end of file
index 3e9629baa67733f204c46e6ae8d3495d29e41fd3..cf789dd234e5c2a00b73176e5a08fb99a8781de7 100644 (file)
@@ -37,69 +37,25 @@ public class SearchModel extends BaseModel {
                        searchResult = new CachedListModel(searchValue);\r
                } catch (Exception exc) {\r
                        // Error during search dialog\r
-                       Messagebox.show(Labels.getLabel("error.search"), Labels.getLabel("dialogger.warning"), Messagebox.OK,\r
-                                       Messagebox.ERROR, defaultOKEventListener);\r
+                       Messagebox.show(Labels.getLabel("error.search"), Labels.getLabel("dialogger.warning"), Messagebox.OK, Messagebox.ERROR, defaultOKEventListener);\r
                        logger.error("", exc);\r
                }\r
        }\r
 \r
-       public String getSearchValue() {\r
-               return searchValue;\r
-       }\r
-\r
-       public void setSearchValue(String searchValue) {\r
-               this.searchValue = searchValue;\r
-       }\r
-\r
-       public CachedListModel getSearchResult() {\r
-               return searchResult;\r
-       }\r
-\r
-       public Item getSelectedItem() {\r
-               return selectedItem;\r
-       }\r
-\r
-       public void setSelectedItem(Item _selectedItem) {\r
-               this.selectedItem = _selectedItem;\r
-       }\r
-\r
-       public Media getSelectedMedia() {\r
-               return selectedMedia;\r
-       }\r
-\r
-       public void setSelectedMedia(Media _selectedMedia) {\r
-               this.selectedMedia = _selectedMedia;\r
-       }\r
-\r
        @Command\r
-       @NotifyChange({ "mediaFilePath", "hasSelectedMediaFile" })\r
-       public void onSelectMedia(@BindingParam("media") Media m) {\r
-               this.selectedMedia = m;\r
-       }\r
-\r
-       //islowres   player  protocol + address + relativepath\r
-       //issystem TSM\r
-\r
-       /*\r
-               public String getMediaFilePath(){\r
-                       String ret = "";\r
-                       if(this.selectedMedia != null){\r
-                               List<MediaFile> mediaFiles = this.selectedMedia.getMediaFiles();\r
-                               for(MediaFile mf : mediaFiles){\r
-                                       //if(!mf.isArchived() ???){                     ++++++++++++++++++++\r
-                                               ret = "/pages/mediaplayer.jsp?mediaurl=" + mf.getRelativePath(); \r
-                                               //ret = mf.getRelativePath();\r
-                                       //}\r
-                               }\r
+       public void downloadMedia() {\r
+               if (getHasTSMMediaFile()) {\r
+                       try {\r
+                               Map<String, Object> parameters1 = new HashMap<>();\r
+                               parameters1.put("media", this.selectedMedia);\r
+                               IJobEngine jobEngine = JobEngine.getInstance();\r
+                               IJobRuntime runtime1 = jobEngine.submit("tsmrestore.xml", "TSMRestoreMedia", parameters1);\r
+                       } catch (Exception exc) {\r
+                               logger.error("", exc);\r
                        }\r
-                       return ret; \r
-               }\r
-               \r
-               public boolean getHasSelectedMediaFile(){\r
-                       String mediaFilePath =getMediaFilePath(); \r
-                       return (mediaFilePath != null && !"".equals(mediaFilePath));    \r
                }\r
-       */\r
+\r
+       }\r
 \r
        public boolean getHasLowresMediaFile() {\r
                boolean ret = false;\r
@@ -143,6 +99,46 @@ public class SearchModel extends BaseModel {
                return ret;\r
        }\r
 \r
+       public CachedListModel getSearchResult() {\r
+               return searchResult;\r
+       }\r
+\r
+       public String getSearchValue() {\r
+               return searchValue;\r
+       }\r
+\r
+       public Item getSelectedItem() {\r
+               return selectedItem;\r
+       }\r
+\r
+       public Media getSelectedMedia() {\r
+               return selectedMedia;\r
+       }\r
+\r
+       //islowres   player  protocol + address + relativepath\r
+       //issystem TSM\r
+\r
+       /*\r
+               public String getMediaFilePath(){\r
+                       String ret = "";\r
+                       if(this.selectedMedia != null){\r
+                               List<MediaFile> mediaFiles = this.selectedMedia.getMediaFiles();\r
+                               for(MediaFile mf : mediaFiles){\r
+                                       //if(!mf.isArchived() ???){                     ++++++++++++++++++++\r
+                                               ret = "/pages/mediaplayer.jsp?mediaurl=" + mf.getRelativePath();\r
+                                               //ret = mf.getRelativePath();\r
+                                       //}\r
+                               }\r
+                       }\r
+                       return ret;\r
+               }\r
+\r
+               public boolean getHasSelectedMediaFile(){\r
+                       String mediaFilePath =getMediaFilePath();\r
+                       return (mediaFilePath != null && !"".equals(mediaFilePath));\r
+               }\r
+       */\r
+\r
        public String getTSMMediaFilePath() throws Exception {\r
                String ret = "";\r
                if (this.selectedMedia != null) {\r
@@ -158,18 +154,21 @@ public class SearchModel extends BaseModel {
        }\r
 \r
        @Command\r
-       public void downloadMedia() {\r
-               if (getHasTSMMediaFile()) {\r
-                       try{\r
-                               Map<String, Object> parameters1 = new HashMap<>();\r
-                               parameters1.put("media", this.selectedMedia);\r
-                               IJobEngine jobEngine = JobEngine.getInstance();\r
-                               IJobRuntime runtime1 = jobEngine.submit("tsmrestore.xml", "TSMRestoreMedia", parameters1);\r
-                       }catch(Exception exc){\r
-                               logger.error("",exc);\r
-                       }\r
-               }\r
-                       \r
+       @NotifyChange({ "mediaFilePath", "hasSelectedMediaFile", "hasLowresMediaFile" })\r
+       public void onSelectMedia(@BindingParam("media") Media m) {\r
+               this.selectedMedia = m;\r
+       }\r
+\r
+       public void setSearchValue(String searchValue) {\r
+               this.searchValue = searchValue;\r
+       }\r
+\r
+       public void setSelectedItem(Item _selectedItem) {\r
+               this.selectedItem = _selectedItem;\r
+       }\r
+\r
+       public void setSelectedMedia(Media _selectedMedia) {\r
+               this.selectedMedia = _selectedMedia;\r
        }\r
 \r
 }\r