JeCARS logo

Nodetype definition

The JeCARS nodetypes are definied using the Compact Namespace and Node Type Definition (CND) notation. For more information about this look at Jackrabbit's "Node Type Notation".

// *
// * Copyright 2007 NLR - National Aerospace Laboratory
// *
// * Licensed under the Apache License, Version 2.0 (the "License");
// * you may not use this file except in compliance with the License.
// * You may obtain a copy of the License at
// *
// *      http://www.apache.org/licenses/LICENSE-2.0
// *
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// *

// * @version $Id: jecars_nodetypes.html,v 1.2 2007/11/29 13:36:56 weertj Exp $


<nt = 'http://www.jcp.org/jcr/nt/1.0'>
<mix = 'http://www.jcp.org/jcr/mix/1.0'>
<jecars = 'http://jecars.org'>


[jecars:permissionable] mixin
- jecars:Actions    (String)    multiple < '(read|add_node|set_property|get_property|remove|acl_read|acl_edit)'
- jecars:Delegate   (Boolean)
- jecars:Owner      (Boolean)
- jecars:Principal  (Reference) multiple

[jecars:keywordable] mixin
- jecars:Keywords   (String) multiple


[jecars:root] > nt:hierarchyNode
- jecars:Published    (Date)
- jecars:Modified     (Date)
- jecars:ExpireDate   (Date)
- jecars:LastAccessed (Date)
- jecars:Title        (String)
- jecars:Body         (String)
- jecars:Id           (Long)
+ * (jecars:permissionable)

[jecars:Permission] > jecars:root, jecars:permissionable

[jecars:LogEntry] > jecars:root
- jecars:Level   (String)="INFO" autocreated < '(FINEST|FINER|FINE|CONFIG|INFO|WARNING|SEVERE)'

[jecars:Logs] > jecars:root
+ * (jecars:LogEntry) multiple

[jecars:FileAccess] > jecars:root
- jecars:LastDirectory  (String)

[jecars:History] > jecars:root
+ jecars:FileAccess (jecars:FileAccess)=jecars:FileAccess autocreated


// **************************************
// **** Trashcans
[jecars:trashed] mixin
- jecars:RestorePath    (Path) mandatory

[jecars:Trashcan] > jecars:root
- jecars:ObjectCount (Long)='0' mandatory autocreated
+ * (jecars:trashed) multiple
+ * (jecars:Trashcan)
+ *

[jecars:Trashcans] > jecars:root
+ * (jecars:Trashcans)
+ * (jecars:Trashcan)
+ jecars:General (jecars:Trashcan)=jecars:Trashcan autocreated


[jecars:external] > jecars:root, mix:referenceable
- jecars:ExternalPath        (Path)
- jecars:RepositoryClass     (String)
- jecars:WorkspaceName       (String)
- jecars:LoginName           (String)
- jecars:LoginPassword       (String)


[jecars:ApplicationSource] > jecars:root
+ * (jecars:root)

[jecars:interfaceclass] mixin
- jecars:InterfaceClass  (String)

[jecars:CARS_Interface] > jecars:ApplicationSource, jecars:interfaceclass


[jecars:ApplicationSources] > jecars:root
+ * (jecars:ApplicationSource)

[jecars:OutputGenerator] > jecars:root, jecars:interfaceclass
- jecars:OutputType (String)


[jecars:OutputGenerators] > jecars:root
+ * (jecars:OutputGenerator)


[jecars:localstorage] > jecars:CARS_Interface
- jecars:StorageDirectory (String) mandatory

[jecars:urlresource] mixin
- jecars:URL            (String)
- jecars:QueryPart      (String)

[jecars:dataresource] > jecars:root

[jecars:datafile] > jecars:dataresource, nt:resource, jecars:urlresource
- jecars:ContentLength  (Long)

[jecars:datafolder] > jecars:dataresource
+ * (jecars:datafolder)
+ * (jecars:datafile)
+ * (jecars:root)
+ * (jecars:Permission)

[jecars:datafoldermultiple] > jecars:dataresource
+ * (jecars:root) multiple

[jecars:RemoteURLResource] > jecars:dataresource, jecars:urlresource
- jecars:Username   (String)
- jecars:Password   (String)
- jecars:AuthType   (String) < '(BASIC)'



[jecars:LoggerSource] > jecars:Logs
- jecars:LogFile    (String)

[jecars:EventsType] > jecars:root

[jecars:Event] > jecars:EventsType
- jecars:Source   (Path)
- jecars:User     (Path)
- jecars:Type     (String) < '(LOGIN|LOGOUT|READ|QUERY|WRITE|CREATE|MOVE|COPY|DELETE|TRASHED|CHECKIN|CHECKOUT|RESTORE|UPDATE|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST)'
- jecars:Category (String) < '(URL|APP|DIR|DEF|SYS)'

[jecars:EventReference] > jecars:EventsType
- jecars:EventPath (Path)


[jecars:Exception] > jecars:Event
- jecars:Exception (Binary)

[jecars:EventsStoreFolder] > jecars:EventsType
+ * (jecars:EventsStoreFolder)
+ * (jecars:EventsType)
+ * (jecars:Permission)

[jecars:EventsFolder] > jecars:EventsStoreFolder
- jecars:StoreEventsPer     (String)='HOUR' autocreated < '(NONE|YEAR|MONTH|DAY|HOUR)'
- jecars:EventsCount        (Long)='0'  mandatory autocreated
- jecars:ExpireHourLOGIN    (Long)='48' mandatory autocreated
- jecars:ExpireHourLOGOUT   (Long)='48' mandatory autocreated
- jecars:ExpireHourREAD     (Long)='1'  mandatory autocreated
- jecars:ExpireHourQUERY    (Long)='12' mandatory autocreated
- jecars:ExpireHourWRITE    (Long)='24' mandatory autocreated
- jecars:ExpireHourCREATE   (Long)='24' mandatory autocreated
- jecars:ExpireHourMOVE     (Long)='24' mandatory autocreated
- jecars:ExpireHourCOPY     (Long)='1'  mandatory autocreated
- jecars:ExpireHourDELETE   (Long)='24' mandatory autocreated
- jecars:ExpireHourTRASHED  (Long)='24' mandatory autocreated
- jecars:ExpireHourCHECKIN  (Long)='48' mandatory autocreated
- jecars:ExpireHourCHECKOUT (Long)='24' mandatory autocreated
- jecars:ExpireHourRESTORE  (Long)='48' mandatory autocreated
- jecars:ExpireHourUPDATE   (Long)='1'  mandatory autocreated
- jecars:ExpireHourSEVERE   (Long)='48' mandatory autocreated
- jecars:ExpireHourWARNING  (Long)='2'  mandatory autocreated
- jecars:ExpireHourINFO     (Long)='1'  mandatory autocreated
- jecars:ExpireHourCONFIG   (Long)='1'  mandatory autocreated
- jecars:ExpireHourFINE     (Long)='1'  mandatory autocreated
- jecars:ExpireHourFINER    (Long)='1'  mandatory autocreated
- jecars:ExpireHourFINEST   (Long)='1'  mandatory autocreated


[jecars:SystemEventsFolder] > jecars:EventsFolder
+ jecars:EventsLOGIN    (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsLOGOUT   (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsREAD     (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsQUERY    (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsWRITE    (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsCREATE   (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsMOVE     (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsCOPY     (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsDELETE   (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsTRASHED  (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsCHECKIN  (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsCHECKOUT (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsRESTORE  (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsUPDATE   (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsSEVERE   (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsWARNING  (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsINFO     (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsCONFIG   (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsFINE     (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsFINER    (jecars:EventsFolder)=jecars:EventsFolder autocreated
+ jecars:EventsFINEST   (jecars:EventsFolder)=jecars:EventsFolder autocreated


// *****************************************************************************
// **** Users/Groups...

[jecars:Principal] > jecars:root, mix:referenceable
- jecars:Source    (Reference)
- jecars:Fullname  (String)    = "[fullname]" autocreated

[jecars:UserSource] > jecars:external

[jecars:UserSources] > jecars:root
+ * (jecars:UserSource)


[jecars:User] > jecars:Principal
- jecars:Password_crypt   (String)
- jecars:Email            (String)
- jecars:Suspended        (Boolean)='false' autocreated
- jecars:QuotaLimit       (Long)
- jecars:QuotaCurrent     (Long)='0'
+ jecars:History          (jecars:History)=jecars:History                       autocreated
+ jecars:Temp             (jecars:datafoldermultiple)=jecars:datafoldermultiple autocreated
+ jecars:P_UserPermission (jecars:permissionable)=jecars:Permission             autocreated

[jecars:Users] > jecars:root
+ * (jecars:User)=jecars:User

[jecars:GroupSource] > jecars:external

[jecars:GroupSources] > jecars:root
+ * (jecars:GroupSource)

[jecars:groupable] mixin
- jecars:GroupMembers (Reference) multiple

[jecars:Group] > jecars:Principal, jecars:groupable

[jecars:Groups] > jecars:root
+ * (jecars:Group)=jecars:Group



// *************************
// **** JeCARS Main

[jecars:main] > jecars:root
- jecars:MajorVersion    (Long)='0'  mandatory autocreated
- jecars:MinorVersion    (Long)='20' mandatory autocreated
- jecars:BuildVersion    (Long)='1'  mandatory autocreated
- jecars:CurrentId       (Long)='0'  mandatory autocreated
- jecars:Started         (Date)
+ *
+ jecars:Trashcans (jecars:Trashcans)=jecars:Trashcans autocreated

[jecars:workspace] > jecars:root
+ *            (jecars:Users)
+ *            (jecars:Groups)
+ jecars:Tools (jecars:datafolder)=jecars:datafolder autocreated
+ *            (jecars:datafolder)
+ *            (jecars:EventsFolder)
+ *            (jecars:Permission)

[jecars:unstructured] > jecars:root, nt:unstructured

[jecars:backup] > jecars:root
- jecars:LastBackup      (Date)
- jecars:BackupDuration  (Long)
- jecars:BackupDirectory (String)
- jecars:ExportPath      (Path)
+ jecars:StartBackup     (jecars:root)=jecars:root autocreated

// ****************************************************************************
// **** Workflowing/batching

[jecars:batch] > jecars:root
+ *

[jecars:batches] > jecars:root
+ * (jecars:batch)=jecars:batch multiple

[jecars:Tool] > jecars:dataresource
- jecars:AutoStart      (Boolean)
- jecars:ToolTemplate   (Path)
- jecars:ToolClass      (String)
- jecars:StateRequest   (String) < '(start|suspend|resume|stop)'
- jecars:State          (String)='open.notrunning' mandatory autocreated < '(open.notrunning|open.notrunning.suspended|open.running.init|open.running|closed.completed|closed.abnormalCompleted|closed.abnormalCompleted.terminated|closed.abnormalCompleted.aborted)'
- jecars:PercCompleted  (Double)='0'
+ jecars:Parameter      (jecars:dataresource) multiple
+ jecars:Input          (jecars:dataresource) multiple
+ jecars:Output         (jecars:dataresource) multiple

[jecars:Tools] > jecars:root
+ * (jecars:Tools)
+ * (jecars:Tool)

// ****************************************************************************
// **** GData nodetypes

[jecars:document] > jecars:root

// ****************************************************************************
// **** ChartApp

[jecars:CH_chart] > jecars:Tool
- jecars:CH_FgColors   (String) multiple
+ jecars:Image         (jecars:dataresource)

[jecars:CH_axis] > jecars:root
- jecars:CH_LowerBound   (Double)
- jecars:CH_HigherBound  (Double)
- jecars:CH_Autorange    (Boolean)

[jecars:CH_xyplot] > jecars:CH_chart
+ jecars:CH_XAxis     (jecars:CH_axis)=jecars:CH_axis autocreated
+ jecars:CH_YAxis     (jecars:CH_axis)=jecars:CH_axis autocreated
+ jecars:CH_Data_x    (jecars:Tool) multiple
+ jecars:CH_Data_y    (jecars:Tool) multiple

[jecars:CH_charttype] > jecars:root
+ * (jecars:CH_chart)

[jecars:CH_charts] > jecars:root
+ * (jecars:CH_charttype)