|
From: <bh...@us...> - 2014-07-29 13:31:16
|
Revision: 3209
http://sourceforge.net/p/cinnamon/code/3209
Author: bhorner
Date: 2014-07-29 13:31:02 +0000 (Tue, 29 Jul 2014)
Log Message:
-----------
Configurable scheduler added
Modified Paths:
--------------
Client/trunk/CinnamonDesktopClient/CinnamonDesktopClient/DispatcherWindow.vb
Client/trunk/Praties/GUI/ControlWindow/ControlWindow.vb
Client/trunk/Praties/Global/Configuration/Configuration.vb
Client/trunk/Praties/Global/Content/ContentAdaptorEngines.vb
Client/trunk/Praties/Praties.vbproj
Added Paths:
-----------
Client/trunk/Praties/Interfaces/Misc/IScheduledTask.vb
Client/trunk/Scheduler/
Client/trunk/Scheduler/Config.xml
Client/trunk/Scheduler/Main.vb
Client/trunk/Scheduler/My Project/
Client/trunk/Scheduler/My Project/Application.Designer.vb
Client/trunk/Scheduler/My Project/Application.myapp
Client/trunk/Scheduler/My Project/AssemblyInfo.vb
Client/trunk/Scheduler/My Project/Resources.Designer.vb
Client/trunk/Scheduler/My Project/Resources.resx
Client/trunk/Scheduler/My Project/Settings.Designer.vb
Client/trunk/Scheduler/My Project/Settings.settings
Client/trunk/Scheduler/Scheduler.vbproj
Modified: Client/trunk/CinnamonDesktopClient/CinnamonDesktopClient/DispatcherWindow.vb
===================================================================
--- Client/trunk/CinnamonDesktopClient/CinnamonDesktopClient/DispatcherWindow.vb 2014-07-29 09:30:33 UTC (rev 3208)
+++ Client/trunk/CinnamonDesktopClient/CinnamonDesktopClient/DispatcherWindow.vb 2014-07-29 13:31:02 UTC (rev 3209)
@@ -121,7 +121,8 @@
parameters.ContainsKey("object") And _
parameters.ContainsKey("ticket") Then
Try
- Dim cas_ As IContentAdaptorEngines = New ContentAdaptorEngines(globalAppData_.Config)
+ Dim cas_ As IContentAdaptorEngines = _
+ New ContentAdaptorEngines(globalAppData_.Config.GetConfiguration.SelectNodes("/cinnamon_client/content/content_adaptor_engine"))
Dim svr As CmnServer = New CmnServer(parameters("server"), globalAppData_.Config.GetLocalRoot)
Dim s As CmnSession = svr.GetSession(parameters("user"), parameters("ticket"), cas_)
cas_.SetSession(s)
@@ -167,7 +168,8 @@
parameters.ContainsKey("user") And _
parameters.ContainsKey("repository") Then
Try
- Dim cas_ As IContentAdaptorEngines = New ContentAdaptorEngines(globalAppData_.Config)
+ Dim cas_ As IContentAdaptorEngines = _
+ New ContentAdaptorEngines(globalAppData_.Config.GetConfiguration.SelectNodes("/cinnamon_client/content/content_adaptor_engine"))
Dim svr As CmnServer = New CmnServer(parameters("server"), globalAppData_.Config.GetLocalRoot)
' TODO: find ticket in registry
Dim s As CmnSession = RegistryHelper.FindSession(parameters("user"), svr, parameters("repository"), cas_)
@@ -221,7 +223,8 @@
End Sub
Private Function GetObjectForFile(ByVal fn As String) As CmnObject
- Dim cas_ As IContentAdaptorEngines = New ContentAdaptorEngines(globalAppData_.Config)
+ Dim cas_ As IContentAdaptorEngines = _
+ New ContentAdaptorEngines(globalAppData_.Config.GetConfiguration.SelectNodes("/cinnamon_client/content/content_adaptor_engine"))
Dim rsi As RegistrySessionInfo = RegistryHelper.GetSessionInfo(fn)
Dim svr As CmnServer = New CmnServer(rsi.ServerUrl, globalAppData_.Config.GetLocalRoot)
Dim s As CmnSession = svr.GetSession(rsi.Username, rsi.Ticket, cas_)
Modified: Client/trunk/Praties/GUI/ControlWindow/ControlWindow.vb
===================================================================
--- Client/trunk/Praties/GUI/ControlWindow/ControlWindow.vb 2014-07-29 09:30:33 UTC (rev 3208)
+++ Client/trunk/Praties/GUI/ControlWindow/ControlWindow.vb 2014-07-29 13:31:02 UTC (rev 3209)
@@ -160,7 +160,7 @@
If loginDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim svr As CmnServer = CType(tvwConnections.SelectedNode.Parent.Tag, CmnServer)
Try
- Dim cas As IContentAdaptorEngines = New ContentAdaptorEngines(globalAppData_.Config)
+ Dim cas As IContentAdaptorEngines = New ContentAdaptorEngines(globalAppData_.Config.GetConfiguration.SelectNodes("/cinnamon_client/content/content_adaptor_engine"))
Dim s As CmnSession = svr.GetSession(tvwConnections.SelectedNode.Text, _
loginDialog.txtUser.Text, _
loginDialog.txtPassword.Text, _
Modified: Client/trunk/Praties/Global/Configuration/Configuration.vb
===================================================================
--- Client/trunk/Praties/Global/Configuration/Configuration.vb 2014-07-29 09:30:33 UTC (rev 3208)
+++ Client/trunk/Praties/Global/Configuration/Configuration.vb 2014-07-29 13:31:02 UTC (rev 3209)
@@ -165,29 +165,29 @@
Return Nothing
End Try
End Function
- Public Function GetContentAdaptorEngineReferences() As Collection
- Try
- Dim result As Collection = New Collection
- For Each serverEl As XmlElement In config_.SelectNodes("//content/content_adaptor_engine")
- If Not result.Contains(serverEl.InnerText) Then
- Dim caer As ContentAdaptorEngineReference = New ContentAdaptorEngineReference
- caer.Type = serverEl.GetAttribute("type")
- caer.Assembly = serverEl.GetAttribute("assembly")
- caer.Extensions = New Collection
- For Each ext As String In Split(serverEl.GetAttribute("ext"), ";")
- ext = ext.ToLower
- If Not caer.Extensions.Contains(ext) Then
- caer.Extensions.Add(ext, ext)
- End If
- Next
- result.Add(caer, caer.Assembly + "." + caer.Type)
- End If
- Next
- Return result
- Catch ex As Exception
- Return Nothing
- End Try
- End Function
+ 'Public Function GetContentAdaptorEngineReferences() As Collection
+ ' Try
+ ' Dim result As Collection = New Collection
+ ' For Each serverEl As XmlElement In config_.SelectNodes("//content/content_adaptor_engine")
+ ' If Not result.Contains(serverEl.InnerText) Then
+ ' Dim caer As ContentAdaptorEngineReference = New ContentAdaptorEngineReference
+ ' caer.Type = serverEl.GetAttribute("type")
+ ' caer.Assembly = serverEl.GetAttribute("assembly")
+ ' caer.Extensions = New Collection
+ ' For Each ext As String In Split(serverEl.GetAttribute("ext"), ";")
+ ' ext = ext.ToLower
+ ' If Not caer.Extensions.Contains(ext) Then
+ ' caer.Extensions.Add(ext, ext)
+ ' End If
+ ' Next
+ ' result.Add(caer, caer.Assembly + "." + caer.Type)
+ ' End If
+ ' Next
+ ' Return result
+ ' Catch ex As Exception
+ ' Return Nothing
+ ' End Try
+ 'End Function
Public Property ShowTipsOnStartup() As Boolean
Get
Return (CType(config_.SelectSingleNode("/cinnamon_client/global_settings/show_tips_on_startup"), XmlElement).GetAttribute("value") = "true")
Modified: Client/trunk/Praties/Global/Content/ContentAdaptorEngines.vb
===================================================================
--- Client/trunk/Praties/Global/Content/ContentAdaptorEngines.vb 2014-07-29 09:30:33 UTC (rev 3208)
+++ Client/trunk/Praties/Global/Content/ContentAdaptorEngines.vb 2014-07-29 13:31:02 UTC (rev 3209)
@@ -25,31 +25,46 @@
Public Class ContentAdaptorEngines
Implements IContentAdaptorEngines
- Private config_ As Configuration
Private adaptorEngines_ As IDictionary(Of String, IContentAdaptorEngine)
Private extToAdaptorEngine_ As IDictionary(Of String, IContentAdaptorEngine)
Private s_ As CmnSession
- Public ReadOnly Property Config() As Configuration
- Get
- Return config_
- End Get
- End Property
+ ' Public Sub New(ByVal config As Configuration)
+ ' adaptorEngines_ = New Dictionary(Of String, IContentAdaptorEngine)
+ ' extToAdaptorEngine_ = New Dictionary(Of String, IContentAdaptorEngine)
+ ' For Each caer As ContentAdaptorEngineReference In config.GetContentAdaptorEngineReferences
+ ' Dim cae As IContentAdaptorEngine = CType(AssemblyHelper.GetInstance(caer.Assembly, caer.Type), IContentAdaptorEngine)
- Public Sub New(ByVal config As Configuration)
- config_ = config
+ ' If cae Is Nothing Then
+ ' Throw New ApplicationException(String.Format(My.Resources.Praties.exFailureLoadingContentAdaptorEngine, _
+ ' caer.Type, caer.Assembly))
+ ' End If
+ ' 'cae.LoadConfiguration(s_)
+ ' adaptorEngines_.Add(caer.Assembly + "." + caer.Type, cae)
+ ' For Each ext As String In caer.Extensions
+ ' If Not extToAdaptorEngine_.ContainsKey(ext) Then
+ ' extToAdaptorEngine_.Add(ext, cae)
+ ' End If
+ ' Next
+ ' Next
+ 'End Sub
+
+ Public Sub New(adaptorEngineElements As XmlNodeList)
adaptorEngines_ = New Dictionary(Of String, IContentAdaptorEngine)
extToAdaptorEngine_ = New Dictionary(Of String, IContentAdaptorEngine)
- For Each caer As ContentAdaptorEngineReference In config_.GetContentAdaptorEngineReferences
- Dim cae As IContentAdaptorEngine = CType(AssemblyHelper.GetInstance(caer.Assembly, caer.Type), IContentAdaptorEngine)
+ For Each caer As XmlElement In adaptorEngineElements
+ Dim caeAssembly As String = caer.GetAttribute("assembly")
+ Dim caeType As String = caer.GetAttribute("type")
+ Dim caeExtensions As String = caer.GetAttribute("ext")
+ Dim cae As IContentAdaptorEngine = CType(AssemblyHelper.GetInstance(caeAssembly, caeType), IContentAdaptorEngine)
If cae Is Nothing Then
Throw New ApplicationException(String.Format(My.Resources.Praties.exFailureLoadingContentAdaptorEngine, _
- caer.Type, caer.Assembly))
+ caeType, caeAssembly))
End If
'cae.LoadConfiguration(s_)
- adaptorEngines_.Add(caer.Assembly + "." + caer.Type, cae)
- For Each ext As String In caer.Extensions
+ adaptorEngines_.Add(caeAssembly + "." + caeType, cae)
+ For Each ext As String In Split(caeExtensions, ";")
If Not extToAdaptorEngine_.ContainsKey(ext) Then
extToAdaptorEngine_.Add(ext, cae)
End If
Added: Client/trunk/Praties/Interfaces/Misc/IScheduledTask.vb
===================================================================
--- Client/trunk/Praties/Interfaces/Misc/IScheduledTask.vb (rev 0)
+++ Client/trunk/Praties/Interfaces/Misc/IScheduledTask.vb 2014-07-29 13:31:02 UTC (rev 3209)
@@ -0,0 +1,10 @@
+Imports System.Xml
+Imports Ginger.Repository
+Public Interface IObjectTask
+ Sub Init(taskConfig As XmlElement)
+ Sub Execute(o As CmnObject)
+ ReadOnly Property BatchSize() As Integer
+ ReadOnly Property Query() As XmlDocument
+ ReadOnly Property Name() As String
+ ReadOnly Property RepositoryNames() As Collection
+End Interface
Modified: Client/trunk/Praties/Praties.vbproj
===================================================================
--- Client/trunk/Praties/Praties.vbproj 2014-07-29 09:30:33 UTC (rev 3208)
+++ Client/trunk/Praties/Praties.vbproj 2014-07-29 13:31:02 UTC (rev 3209)
@@ -576,6 +576,7 @@
<Compile Include="Interfaces\Misc\ICommandLineExtension.vb" />
<Compile Include="Interfaces\Misc\ILogRecord.vb" />
<Compile Include="Interfaces\Misc\ILogTarget.vb" />
+ <Compile Include="Interfaces\Misc\IScheduledTask.vb" />
<Compile Include="Interfaces\Misc\ISearchTermControl.vb" />
<Compile Include="Interfaces\Misc\ITransformer.vb" />
<Compile Include="Interfaces\Object\IObjectControl.vb" />
Added: Client/trunk/Scheduler/Config.xml
===================================================================
--- Client/trunk/Scheduler/Config.xml (rev 0)
+++ Client/trunk/Scheduler/Config.xml 2014-07-29 13:31:02 UTC (rev 3209)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<config>
+ <!-- in milliseconds -->
+ <log>true</log>
+ <wait_between_tasks>200</wait_between_tasks>
+ <wait_between_runs>1000</wait_between_runs>
+ <local_root_path type="mydocuments">cinnamon</local_root_path>
+ <content>
+ <!--<content_adaptor_engine assembly="ARS_Custom" type="MbWslDocContentAdaptorEngine" ext="xml"/>-->
+ <content_adaptor_engine assembly="CmnContent" type="DefaultContentAdaptorEngine" ext="*"/>
+ <!-- Should be specified last -->
+ </content>
+ <tasks>
+ <task name="language_metadata_distributor" assembly="ARS_Custom" type="LanguageMetadataDistributor">
+ <repositories>
+ <repository>cmn_MBBras_XML</repository>
+ </repositories>
+ <mapping>
+ <from_source>/meta/metaset[@type='selitdoc']</from_source>
+ <from_source>/meta/metaset[@type='selit_extended']/selit_extended/validity</from_source>
+ <from_source>/meta/metaset[@type='pue']</from_source>
+ </mapping>
+ <query batch_size="100">
+ <BooleanQuery>
+ <Clause occurs="must">
+ <TermQuery fieldName="internal.dirty=">true</TermQuery>
+ </Clause>
+ </BooleanQuery>
+ </query>
+ </task>
+ </tasks>
+ <repositories>
+ <repository>
+ <name>cmn_MBBras_XML</name> <!-- this is for differentiating between repos on different servers with the same name -->
+ <repository_name>cmn_MBBras_XML</repository_name>
+ <server_url>http://10.8.0.26:8080/cinnamon/cinnamon</server_url>
+ <username>admin</username>
+ <password>4Dm1n</password>
+ </repository>
+ </repositories>
+</config>
Added: Client/trunk/Scheduler/Main.vb
===================================================================
--- Client/trunk/Scheduler/Main.vb (rev 0)
+++ Client/trunk/Scheduler/Main.vb 2014-07-29 13:31:02 UTC (rev 3209)
@@ -0,0 +1,101 @@
+Imports System.Xml
+Imports System.IO
+Imports Praties
+Imports Ginger
+Imports Ginger.Repository
+
+Module Main
+ Private config_ As XmlDocument
+ Private logFn_ As String
+ Private tasks_ As IDictionary(Of String, IObjectTask)
+ Private sessions_ As IDictionary(Of String, CmnSession)
+ Private log_ As Boolean
+
+ Sub Main()
+ Try
+ config_ = New XmlDocument
+ config_.Load("Config.xml")
+ Dim d As Date = Now()
+ logFn_ = "Scheduler." + d.ToString("yyyy-MM-dd") + ".log"
+
+ Dim waitBetweenTasks As Integer = Integer.Parse(config_.SelectSingleNode("/config/wait_between_tasks").InnerText)
+ Dim waitBetweenRuns As Integer = Integer.Parse(config_.SelectSingleNode("/config/wait_between_runs").InnerText)
+ log_ = If(config_.SelectSingleNode("/config/log").InnerText = "true", True, False)
+ Dim localRootPath As String = Nothing
+ Dim localRootEl As XmlElement = DirectCast(config_.SelectSingleNode("/config/local_root_path"), XmlElement)
+ If Not localRootEl.HasAttribute("type") Then
+ localRootPath = localRootEl.InnerText
+ Else
+ Select Case localRootEl.GetAttribute("type")
+ Case "absolute"
+ localRootPath = localRootEl.InnerText
+ Case "mydocuments"
+ localRootPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), _
+ localRootEl.InnerText)
+ Case Else
+ localRootPath = localRootEl.InnerText
+ End Select
+ End If
+
+ Log("*** Loading repositories ***")
+ sessions_ = New Dictionary(Of String, CmnSession)
+ Dim cas As IContentAdaptorEngines = New ContentAdaptorEngines(config_.SelectNodes("/config/content/content_adaptor_engine"))
+ For Each repositoryEl As XmlElement In config_.SelectNodes("/config/repositories/repository")
+ Dim name As String = repositoryEl.SelectSingleNode("name").InnerText
+ Dim repositoryName As String = repositoryEl.SelectSingleNode("repository_name").InnerText
+ Dim serverUrl As String = repositoryEl.SelectSingleNode("server_url").InnerText
+ Dim username As String = repositoryEl.SelectSingleNode("username").InnerText
+ Dim password As String = repositoryEl.SelectSingleNode("password").InnerText
+ Dim svr As CmnServer = New CmnServer(serverUrl, localRootPath)
+ Dim s As CmnSession = svr.GetSession(repositoryName, username, password, cas)
+ cas.SetSession(s)
+ sessions_.Add(name, s)
+ Log(" Added repository " + name)
+ Next
+
+ Log("*** Loading tasks ***")
+ tasks_ = New Dictionary(Of String, IObjectTask)
+ For Each taskEl As XmlElement In config_.SelectNodes("/config/tasks/task")
+ Dim task As IObjectTask = AssemblyHelper.GetInstance(taskEl.GetAttribute("assembly"), taskEl.GetAttribute("type"))
+ task.Init(taskEl)
+ tasks_.Add(task.Name, task)
+ Log(" Added task " + task.Name + " - Batch size: " + CStr(task.BatchSize))
+ Next
+
+ ' TODO: add more sophisticated scheduling functionality - not required for the time being
+
+ Dim cont As Boolean = True
+ While cont
+ Log("*** Starting new cycle ***")
+ For Each task As IObjectTask In tasks_.Values
+ Log("+++ Task " + task.Name + " +++")
+ For Each repName As String In task.RepositoryNames
+ Log(" Repository " + repName)
+ Log(" Executing query")
+ Dim objs As IDictionary(Of CmnId, CmnObject) = sessions_.Item(repName).SearchObjects(task.Query, task.BatchSize, 0)
+ Log(" Found batch of " + CStr(objs.Count) + " objects")
+ For Each o As CmnObject In objs.Values
+ task.Execute(o)
+ Next
+ Threading.Thread.Sleep(waitBetweenTasks)
+ Next
+ Next
+ Threading.Thread.Sleep(waitBetweenRuns)
+ End While
+ Log("Success")
+ Catch ex As Exception
+ Log("Failure" + vbCrLf + ex.Message)
+ End Try
+
+ End Sub
+ Private Sub Log(line As String)
+ Console.WriteLine(line)
+ If log_ Then
+ Dim sw As StreamWriter
+
+ sw = New StreamWriter(logFn_, True)
+ sw.WriteLine(line)
+ sw.Close()
+ End If
+ End Sub
+End Module
Added: Client/trunk/Scheduler/My Project/Application.Designer.vb
===================================================================
--- Client/trunk/Scheduler/My Project/Application.Designer.vb (rev 0)
+++ Client/trunk/Scheduler/My Project/Application.Designer.vb 2014-07-29 13:31:02 UTC (rev 3209)
@@ -0,0 +1,13 @@
+'------------------------------------------------------------------------------
+' <auto-generated>
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.239
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+' </auto-generated>
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
Added: Client/trunk/Scheduler/My Project/Application.myapp
===================================================================
--- Client/trunk/Scheduler/My Project/Application.myapp (rev 0)
+++ Client/trunk/Scheduler/My Project/Application.myapp 2014-07-29 13:31:02 UTC (rev 3209)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <MySubMain>false</MySubMain>
+ <SingleInstance>false</SingleInstance>
+ <ShutdownMode>0</ShutdownMode>
+ <EnableVisualStyles>true</EnableVisualStyles>
+ <AuthenticationMode>0</AuthenticationMode>
+ <ApplicationType>2</ApplicationType>
+ <SaveMySettingsOnExit>true</SaveMySettingsOnExit>
+</MyApplicationData>
Added: Client/trunk/Scheduler/My Project/AssemblyInfo.vb
===================================================================
--- Client/trunk/Scheduler/My Project/AssemblyInfo.vb (rev 0)
+++ Client/trunk/Scheduler/My Project/AssemblyInfo.vb 2014-07-29 13:31:02 UTC (rev 3209)
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' General Information about an assembly is controlled through the following
+' set of attributes. Change these attribute values to modify the information
+' associated with an assembly.
+
+' Review the values of the assembly attributes
+
+<Assembly: AssemblyTitle("Scheduler")>
+<Assembly: AssemblyDescription("")>
+<Assembly: AssemblyCompany("")>
+<Assembly: AssemblyProduct("Scheduler")>
+<Assembly: AssemblyCopyright("Copyright © 2014")>
+<Assembly: AssemblyTrademark("")>
+
+<Assembly: ComVisible(False)>
+
+'The following GUID is for the ID of the typelib if this project is exposed to COM
+<Assembly: Guid("6793879e-dbe8-429b-b61d-59b7f4c63ca4")>
+
+' Version information for an assembly consists of the following four values:
+'
+' Major Version
+' Minor Version
+' Build Number
+' Revision
+'
+' You can specify all the values or you can default the Build and Revision Numbers
+' by using the '*' as shown below:
+' <Assembly: AssemblyVersion("1.0.*")>
+
+<Assembly: AssemblyVersion("1.0.0.0")>
+<Assembly: AssemblyFileVersion("1.0.0.0")>
Added: Client/trunk/Scheduler/My Project/Resources.Designer.vb
===================================================================
--- Client/trunk/Scheduler/My Project/Resources.Designer.vb (rev 0)
+++ Client/trunk/Scheduler/My Project/Resources.Designer.vb 2014-07-29 13:31:02 UTC (rev 3209)
@@ -0,0 +1,62 @@
+'------------------------------------------------------------------------------
+' <auto-generated>
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.239
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+' </auto-generated>
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My.Resources
+
+ 'This class was auto-generated by the StronglyTypedResourceBuilder
+ 'class via a tool like ResGen or Visual Studio.
+ 'To add or remove a member, edit your .ResX file then rerun ResGen
+ 'with the /str option, or rebuild your VS project.
+ '''<summary>
+ ''' A strongly-typed resource class, for looking up localized strings, etc.
+ '''</summary>
+ <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
+ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
+ Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
+ Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''<summary>
+ ''' Returns the cached ResourceManager instance used by this class.
+ '''</summary>
+ <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+ Get
+ If Object.ReferenceEquals(resourceMan, Nothing) Then
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Scheduler.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''<summary>
+ ''' Overrides the current thread's CurrentUICulture property for all
+ ''' resource lookups using this strongly typed resource class.
+ '''</summary>
+ <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set(ByVal value As Global.System.Globalization.CultureInfo)
+ resourceCulture = value
+ End Set
+ End Property
+ End Module
+End Namespace
Added: Client/trunk/Scheduler/My Project/Resources.resx
===================================================================
--- Client/trunk/Scheduler/My Project/Resources.resx (rev 0)
+++ Client/trunk/Scheduler/My Project/Resources.resx 2014-07-29 13:31:02 UTC (rev 3209)
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root>
\ No newline at end of file
Added: Client/trunk/Scheduler/My Project/Settings.Designer.vb
===================================================================
--- Client/trunk/Scheduler/My Project/Settings.Designer.vb (rev 0)
+++ Client/trunk/Scheduler/My Project/Settings.Designer.vb 2014-07-29 13:31:02 UTC (rev 3209)
@@ -0,0 +1,73 @@
+'------------------------------------------------------------------------------
+' <auto-generated>
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.239
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+' </auto-generated>
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
+ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0"), _
+ Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
+ Partial Friend NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
+
+#Region "My.Settings Auto-Save Functionality"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ <Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
+ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
+ Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
+ Friend Module MySettingsProperty
+
+ <Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
+ Friend ReadOnly Property Settings() As Global.Scheduler.My.MySettings
+ Get
+ Return Global.Scheduler.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
Added: Client/trunk/Scheduler/My Project/Settings.settings
===================================================================
--- Client/trunk/Scheduler/My Project/Settings.settings (rev 0)
+++ Client/trunk/Scheduler/My Project/Settings.settings 2014-07-29 13:31:02 UTC (rev 3209)
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
+ <Profiles>
+ <Profile Name="(Default)" />
+ </Profiles>
+ <Settings />
+</SettingsFile>
Added: Client/trunk/Scheduler/Scheduler.vbproj
===================================================================
--- Client/trunk/Scheduler/Scheduler.vbproj (rev 0)
+++ Client/trunk/Scheduler/Scheduler.vbproj 2014-07-29 13:31:02 UTC (rev 3209)
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+ <ProductVersion>
+ </ProductVersion>
+ <SchemaVersion>
+ </SchemaVersion>
+ <ProjectGuid>{E3C9915D-DD22-43B9-B162-77DEA52FD66A}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <StartupObject>Scheduler.Main</StartupObject>
+ <RootNamespace>Scheduler</RootNamespace>
+ <AssemblyName>Scheduler</AssemblyName>
+ <FileAlignment>512</FileAlignment>
+ <MyType>Console</MyType>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+ <PlatformTarget>x86</PlatformTarget>
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <DefineDebug>true</DefineDebug>
+ <DefineTrace>true</DefineTrace>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DocumentationFile>Scheduler.xml</DocumentationFile>
+ <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+ <PlatformTarget>x86</PlatformTarget>
+ <DebugType>pdbonly</DebugType>
+ <DefineDebug>false</DefineDebug>
+ <DefineTrace>true</DefineTrace>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DocumentationFile>Scheduler.xml</DocumentationFile>
+ <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
+ </PropertyGroup>
+ <PropertyGroup>
+ <OptionExplicit>On</OptionExplicit>
+ </PropertyGroup>
+ <PropertyGroup>
+ <OptionCompare>Binary</OptionCompare>
+ </PropertyGroup>
+ <PropertyGroup>
+ <OptionStrict>Off</OptionStrict>
+ </PropertyGroup>
+ <PropertyGroup>
+ <OptionInfer>On</OptionInfer>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
+ <DebugSymbols>true</DebugSymbols>
+ <DefineDebug>true</DefineDebug>
+ <DefineTrace>true</DefineTrace>
+ <OutputPath>..\CinnamonDesktopClient\CinnamonDesktopClient\bin\Debug\</OutputPath>
+ <DocumentationFile>Scheduler.xml</DocumentationFile>
+ <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
+ <CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
+ <DefineTrace>true</DefineTrace>
+ <OutputPath>bin\Release\</OutputPath>
+ <DocumentationFile>Scheduler.xml</DocumentationFile>
+ <Optimize>true</Optimize>
+ <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
+ <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Deployment" />
+ <Reference Include="System.Xml" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ </ItemGroup>
+ <ItemGroup>
+ <Import Include="Microsoft.VisualBasic" />
+ <Import Include="System" />
+ <Import Include="System.Collections" />
+ <Import Include="System.Collections.Generic" />
+ <Import Include="System.Data" />
+ <Import Include="System.Diagnostics" />
+ <Import Include="System.Linq" />
+ <Import Include="System.Xml.Linq" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Main.vb" />
+ <Compile Include="My Project\AssemblyInfo.vb" />
+ <Compile Include="My Project\Application.Designer.vb">
+ <AutoGen>True</AutoGen>
+ <DependentUpon>Application.myapp</DependentUpon>
+ </Compile>
+ <Compile Include="My Project\Resources.Designer.vb">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>Resources.resx</DependentUpon>
+ </Compile>
+ <Compile Include="My Project\Settings.Designer.vb">
+ <AutoGen>True</AutoGen>
+ <DependentUpon>Settings.settings</DependentUpon>
+ <DesignTimeSharedInput>True</DesignTimeSharedInput>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="My Project\Resources.resx">
+ <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
+ <LastGenOutput>Resources.Designer.vb</LastGenOutput>
+ <CustomToolNamespace>My.Resources</CustomToolNamespace>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="My Project\Application.myapp">
+ <Generator>MyApplicationCodeGenerator</Generator>
+ <LastGenOutput>Application.Designer.vb</LastGenOutput>
+ </None>
+ <None Include="My Project\Settings.settings">
+ <Generator>SettingsSingleFileGenerator</Generator>
+ <CustomToolNamespace>My</CustomToolNamespace>
+ <LastGenOutput>Settings.Designer.vb</LastGenOutput>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="Config.xml">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Ginger\Ginger.vbproj">
+ <Project>{66077D95-6E60-4E3D-9413-4C0A74720BF5}</Project>
+ <Name>Ginger</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\Praties\Praties.vbproj">
+ <Project>{5F0548BF-D0B0-48E6-A775-577FB4DC7DE6}</Project>
+ <Name>Praties</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|