/******************************************************************************** * * * (c) Copyright 2010 Verizon Communications USA and The Open University UK * * * * This software is freely distributed in accordance with * * the GNU Lesser General Public (LGPL) license, version 3 or later * * as published by the Free Software Foundation. * * For details see LGPL: http://www.fsf.org/licensing/licenses/lgpl.html * * and GPL: http://www.fsf.org/licensing/licenses/gpl-3.0.html * * * * This software is provided by the copyright holders and contributors "as is" * * and any express or implied warranties, including, but not limited to, the * * implied warranties of merchantability and fitness for a particular purpose * * are disclaimed. In no event shall the copyright owner or contributors be * * liable for any direct, indirect, incidental, special, exemplary, or * * consequential damages (including, but not limited to, procurement of * * substitute goods or services; loss of use, data, or profits; or business * * interruption) however caused and on any theory of liability, whether in * * contract, strict liability, or tort (including negligence or otherwise) * * arising in any way out of the use of this software, even if advised of the * * possibility of such damage. * * * ********************************************************************************/ package com.compendium.core; /* * This interface defines some global constants used in the Compendium application. * * @author Ron van Hoof / Michelle Bachler */ public interface ICoreConstants extends java.io.Serializable { /** * The current version number of the Compendium release for checking against. * Must NOT be greater that a five bit number e.g. 2, 2.0, 2.0.1, 2.1.1.1, 2.0.0.0.7 * Anything after the 9th character will be ignored. * Fifth Level is for Alphas, e.g. 2.0.0.0.7 = 2.0 Alpha 7 * Fourth Level is for Betas, e.g. 2.0.0.2 = 2.0 Beta 2 * First and Second and Third levels are for main releases, e.g. 2.0, 2.1.1, etc. */ public final static String sAPPVERSION_CHECKER = "2.0.0.2"; /** The current version number of the Compendium release */ public final static String sAPPVERSION = "2.0.1-SNAPSHOT "; /** The current version number of the database schema. * must not be greater that a three bit number e.g. 2, 2.0, 2.0.1 BUT NEVER 2.1.1.1 */ public final static String sDATABASEVERSION = "2.0.1"; /** Reference to the Name of this whole Application */ public final static String sAPPNAME = "CompendiumNG"; /** The current version number of the Questmap Parser */ public final static String sPARSERVERSION = "1.03.000"; /** This date is used as part of the information needed to import Access databases to MySQL */ public final static long MYSQLDATE = 1050401966691L; /** Indicates that a given database schema is correct for this version of the software. */ public final static int CORRECT_DATABASE_SCHEMA = 0 ; /** Indicates that a given database schema is too old for this version of the software. */ public final static int OLDER_DATABASE_SCHEMA = 1; /** Indicates that a given database schema is too new for this version of the software. */ public final static int NEWER_DATABASE_SCHEMA = 2; /** * The stub used as part of the unique password created and added for the MySQL user root * user for external hosts if none has been added already by the user. For security. */ public final static String sDATABASE_PASSWORD = "KnCu"; /** The default MySQL username */ public final static String sDEFAULT_DATABASE_USER = "root"; /** The default MySQL password */ public final static String sDEFAULT_DATABASE_PASSWORD = null; /** The default MySQL hostname */ public final static String sDEFAULT_DATABASE_ADDRESS = "localhost"; /** Identifies the database being used as Derby.*/ public final static int DERBY_DATABASE = 0; /** Identifies the database being used as MySQL.*/ public final static int MYSQL_DATABASE = 1; /** Legacy variable now only used to filter out these old node label fillers */ public final static String NOLABEL_STRING = "(No Label)"; /** Legacy variable now only used to fileter out these old node detail fillers */ public final static String NODETAIL_STRING = "(No Detail)"; /** Indicates that a node has not been read (1) yet */ public final static int UNREADSTATE = 1 ; /** Indicates that a node has been read (2) */ public final static int READSTATE = 2 ; /** Indicates that a node was modified since last read(3) */ public final static int MODIFIEDSTATE = 3; // NODE TYPES /** This node type is not currently used */ public final static int GENERAL = 0; /** * This represents a list, which is a container for other nodes. * This can be used to create a sortable list of nodes, * which will usually be a collection of nodes that don't need to be * linked with each other (associative links). */ public final static int LISTVIEW = 1; /** * This represents a map, which is a container for other nodes and links. * This can be used to: * - create a 'picture'of the relationships between ideas; * - group questions and ideas together in meaningful clusters; * - create associative links between nodes. */ public final static int MAPVIEW = 2; /** This represents a Question or Issue for discussion. */ public final static int ISSUE = 3; /** The represents an Answer or Position, often in response to a question or issue.*/ public final static int POSITION = 4; /** This represents a general argument, usually in response to an answer or position.*/ public final static int ARGUMENT = 5; /** This represents a response in favour of an answer or position. */ public final static int PRO = 6; /** This represents a response against an answer or position. */ public final static int CON = 7; /** This represents a decision reached, usually from an answer or position about a question or issue.*/ public final static int DECISION = 8; /** * This represents a link to some additional, external reference material, * which can be in the form of a web link or Word document etc. * These nodes can also be linked to images, which will then be scaled * and used instead of the usual reference node icon. */ public final static int REFERENCE = 9; /** * This represents some non-specific, additional comment or notation, * often about a node or the current view. */ public final static int NOTE = 10; // SHORTCUT NODE TYPES ARE NODES THAT HAVE A REFERENCE TO A PARENT STANDARD NODE TYPE. // THESE ARE USED FOR LARGE MAPS WHERE A NODE MAY BE TOO FAR AWAY FOR PRACTICAL LINKING // SO A SHORTCUT OF IT IS CREATED TO ALLOW FOR EASE OF MAPPING // THERE USE IS UNDER REVIEW. /** This represents a shortcut to a List Node */ public static final int LIST_SHORTCUT = 11; /** This represents a shortcut to a Map Node */ public static final int MAP_SHORTCUT = 12; /** This represents a shortcut to a Issue Node */ public static final int ISSUE_SHORTCUT = 13; /** This represents a shortcut to a Position Node */ public static final int POSITION_SHORTCUT = 14; /** This represents a shortcut to a Argument Node */ public static final int ARGUMENT_SHORTCUT = 15; /** This represents a shortcut to a Pro Node */ public static final int PRO_SHORTCUT = 16; /** This represents a shortcut to a Con Node */ public static final int CON_SHORTCUT = 17; /** This represents a shortcut to a Decision Node */ public static final int DECISION_SHORTCUT = 18; /** This represents a shortcut to a Reference Node */ public static final int REFERENCE_SHORTCUT = 19; /** This represents a shortcut to a Note Node */ public static final int NOTE_SHORTCUT = 20; /** NEW NODE TYPES **/ /** This represents a planner Map Node */ //public static final int PLANNERVIEW = 21; /** This represents a movie Map Node */ public static final int MOVIEMAPVIEW = 22; /** This represents a planner Map Node */ //public static final int PLANNER_SHORTCUT = 31; /** This represents a movie Map Shortcut Node */ public static final int MOVIEMAP_SHORTCUT = 32; // SYSTEM NODES - ONLY EVER ONE INSTANCE /** This node type is used for the Trashbin */ public static final int TRASHBIN = 51; /** This node type is used for the inbox - it is a special type of list */ public static final int INBOX = 52; /** * The integer difference between the parent and its shortcut * is used when creating shortcut icons for a particular node type */ public static final int PARENT_SHORTCUT_DISPLACEMENT = 10; // REFERRENCE NODE PROCESSING CONSTANTS /** The Internal reference string starter.*/ public final static String sINTERNAL_REFERENCE = "comp://"; /** * The database reference string starter. * @author Sebastian Ehrich */ public final static String sDATABASE_REFERENCE = "linkedFile://"; // SELECTION STATES /** Indicates a single node / link should be selected */ public final static int SINGLESELECT = 100; /** Indicated that one or more nodes / links can be selected */ public final static int MULTISELECT = 101; /** Indicated that all nodes / links should be deselected */ public final static int DESELECTALL = 102; // PERMISSION TYPES - Currently these are used but are not active // as the permission system has not been fully implemented /** * No access to the object * Code - cannot read code details, but can use the code * NodeSummary - can see node summary on view only * View - can only see view as node summary on another view */ public final static int NOACCESS = 30 ; /** * Code - can read code behavior * View - can see view detail * NodeSummary - can see node detail */ public final static int READ = 31 ; /** * Code - can change code detail * NodeSummary - can change node detail */ public final static int WRITE = 32 ; /** View - can see view expansion, and read the view detail */ public final static int READVIEWNODE = 33 ; /** View - can modify view expansion only, not the detail */ public final static int WRITEVIEW = 34 ; /** view can modify both view expansion and the view node detail */ public final static int WRITEVIEWNODE = 35 ; //LINK TYPES /** Indicates the Node at the FROM end of the link responds to the Node at the TO end of the link */ public final static String RESPONDS_TO_LINK = "39"; /** Indicates the Node at the FROM end of the link supports the Node at the TO end of the link */ public final static String SUPPORTS_LINK = "40"; /** Indicates the Node at the FROM end of the link objects to the Node at the TO end of the link */ public final static String OBJECTS_TO_LINK = "41"; /** Indicates the Node at the FROM end of the link challenges the Node at the TO end of the link */ public final static String CHALLENGES_LINK = "42"; /** Indicates the Node at the FROM end of the link is a specialization of the Node at the TO end of the link */ public final static String SPECIALIZES_LINK = "43"; /** Indicates the Node at the FROM end of the link expans on the Node at the TO end of the link */ public final static String EXPANDS_ON_LINK = "44"; /** Indicates the Node at the FROM end of the link is related to the Node at the TO end of the link */ public final static String RELATED_TO_LINK = "45"; /** Indicates the Node at the FROM end of the link is about the Node at the TO end of the link */ public final static String ABOUT_LINK = "46"; /** Indicates the Node at the FROM end of the link resolves the Node at the TO end of the link */ public final static String RESOLVES_LINK = "47"; /** Indicates which link type is the default link type - Currently the 'Related To Link' */ public final static String DEFAULT_LINK = "39"; // ARROW TYPES /** Link with no arrow heads */ public final static int NO_ARROW = 0; /** Link with arrow head at the to Node end */ public final static int ARROW_TO = 1; /** Link with arrow head at the from Node end */ public final static int ARROW_FROM = 2; /** Link with arrow heads at both ends of the link */ public final static int ARROW_TO_AND_FROM = 3; // LINK STYLE /*** Straight line link ***/ public final static int STRAIGHT_LINK = 0; /*** Curved line link ***/ public final static int CURVED_LINK = 1; /*** Square line link ***/ public final static int SQUARE_LINK = 2; // LINK LINE STYLE - DASHED /*** plain line ***/ public final static int PLAIN_LINE = 0; /*** large dash ***/ public final static int LARGE_DASHED_LINE = 1; /*** small dash ***/ public final static int SMALL_DASHED_LINE = 2; // DATABASE RECORD STATUS TYPES FOR NODES/LINKS/VIEWS AND THEIR RELATED RECORDS /** Node / Link / View/ User are active */ public final static int STATUS_ACTIVE = 0; /** User is inactive */ public final static int STATUS_INACTIVE = 1; /** Node / Link / View have been marked for deletion */ public final static int STATUS_DELETE = 3; // DATABASE RECORD STATUS TYPES FOR MEETING RECORDS /** Meetings have had map created */ public final static int STATUS_PREPARED = 0; /** Meetings have been recorded */ public final static int STATUS_RECORDED = 1; // CONNECTION TYPES /** Indicates a MySQL connection type.*/ public final static int MYSQL_CONNECITON = 0; /** Indicates a Jabber connection type.*/ public final static int JABBER_CONNECTION = 1; /** Indicates an IX Panel Connection type.*/ public final static int IX_CONNECTION = 2; }