mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Merged DEV\EXTENSIONS to HEAD
svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/DEV/EXTENSIONS@4868 svn://svn.alfresco.com:3691/alfresco/BRANCHES/DEV/EXTENSIONS@4869 . svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/DEV/EXTENSIONS@4904 svn://svn.alfresco.com:3691/alfresco/BRANCHES/DEV/EXTENSIONS@4938 . Module management support Modularization of Records Management git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4956 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -19,42 +19,52 @@ package org.alfresco.service.cmr.module;
|
||||
import org.alfresco.util.VersionNumber;
|
||||
|
||||
/**
|
||||
* Module details, contains the details of an installed alfresco
|
||||
* module.
|
||||
* Module details, contains the details of an installed alfresco module.
|
||||
*
|
||||
* @author Roy Wetherall
|
||||
* @since 2.0
|
||||
*/
|
||||
public class ModuleDetails
|
||||
public interface ModuleDetails
|
||||
{
|
||||
private String id;
|
||||
private VersionNumber version;
|
||||
private String title;
|
||||
private String description;
|
||||
/**
|
||||
* Indicates whether the details exists or not
|
||||
*
|
||||
* @return true if it exists, false otherwise
|
||||
*/
|
||||
boolean exists();
|
||||
|
||||
public ModuleDetails(String id, VersionNumber version, String title, String description)
|
||||
{
|
||||
this.id = id;
|
||||
this.version = version;
|
||||
this.title = title;
|
||||
}
|
||||
/**
|
||||
* Get the id of the module
|
||||
*
|
||||
* @return module id
|
||||
*/
|
||||
String getId();
|
||||
|
||||
public String getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
/**
|
||||
* Get the version number of the module
|
||||
*
|
||||
* @return module version number
|
||||
*/
|
||||
VersionNumber getVersionNumber();
|
||||
|
||||
public VersionNumber getVersion()
|
||||
{
|
||||
return version;
|
||||
}
|
||||
/**
|
||||
* Get the title of the module
|
||||
*
|
||||
* @return module title
|
||||
*/
|
||||
String getTitle();
|
||||
|
||||
public String getTitle()
|
||||
{
|
||||
return title;
|
||||
}
|
||||
/**
|
||||
* Get the description of the module
|
||||
*
|
||||
* @return module description
|
||||
*/
|
||||
String getDescription();
|
||||
|
||||
public String getDescription()
|
||||
{
|
||||
return description;
|
||||
}
|
||||
/**
|
||||
* Get the modules install date
|
||||
*
|
||||
* @return module install date
|
||||
*/
|
||||
String getInstalledDate();
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2005 Alfresco, Inc.
|
||||
* Copyright (C) 2007 Alfresco, Inc.
|
||||
*
|
||||
* Licensed under the Mozilla Public License version 1.1
|
||||
* with a permitted attribution clause. You may obtain a
|
||||
@@ -18,15 +18,45 @@ package org.alfresco.service.cmr.module;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.repo.module.ModuleComponent;
|
||||
|
||||
/**
|
||||
* Module service. Provides information about the currently installed alfresco
|
||||
* modules.
|
||||
* A service to control and provide information about the currently-installed modules.
|
||||
*
|
||||
* @author Roy Wetherall
|
||||
* @author Derek Hulley
|
||||
* @since 2.0
|
||||
*/
|
||||
public interface ModuleService
|
||||
{
|
||||
public ModuleDetails getModule(String moduleId);
|
||||
/**
|
||||
* Gets the module details for a given module id. If the module does not exist or is not installed
|
||||
* then null is returned.
|
||||
*
|
||||
* @param moduleId a module id
|
||||
* @return the module details
|
||||
*/
|
||||
ModuleDetails getModule(String moduleId);
|
||||
|
||||
public List<ModuleDetails> getAllModules();
|
||||
/**
|
||||
* Gets a list of all the modules currently installed.
|
||||
*
|
||||
* @return module details of the currently installed modules.
|
||||
*/
|
||||
List<ModuleDetails> getAllModules();
|
||||
|
||||
/**
|
||||
* Register a component of a module for execution.
|
||||
*
|
||||
* @param component the module component.
|
||||
*/
|
||||
void registerComponent(ModuleComponent component);
|
||||
|
||||
/**
|
||||
* Start all the modules. For transaction purposes, each module should be
|
||||
* regarded as a self-contained unit and started in its own transaction.
|
||||
* Where inter-module dependencies exist, these will be pulled into the
|
||||
* transaction.
|
||||
*/
|
||||
void startModules();
|
||||
}
|
||||
|
@@ -42,6 +42,7 @@ import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.Path;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
import org.alfresco.util.ISO8601DateFormat;
|
||||
import org.alfresco.util.VersionNumber;
|
||||
|
||||
/**
|
||||
* Support for generic conversion between types.
|
||||
@@ -278,6 +279,14 @@ public class DefaultTypeConverter
|
||||
}
|
||||
});
|
||||
|
||||
INSTANCE.addConverter(String.class, VersionNumber.class, new TypeConverter.Converter<String, VersionNumber>()
|
||||
{
|
||||
public VersionNumber convert(String source)
|
||||
{
|
||||
return new VersionNumber(source);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//
|
||||
// From Locale
|
||||
@@ -296,7 +305,20 @@ public class DefaultTypeConverter
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//
|
||||
// From VersionNumber
|
||||
//
|
||||
|
||||
INSTANCE.addConverter(VersionNumber.class, String.class, new TypeConverter.Converter<VersionNumber, String>()
|
||||
{
|
||||
public String convert(VersionNumber source)
|
||||
{
|
||||
return source.toString();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//
|
||||
// From MLText
|
||||
//
|
||||
|
@@ -28,6 +28,7 @@ import junit.framework.TestCase;
|
||||
|
||||
import org.alfresco.service.cmr.repository.MLText;
|
||||
import org.alfresco.util.ISO8601DateFormat;
|
||||
import org.alfresco.util.VersionNumber;
|
||||
|
||||
public class DefaultTypeConverterTest extends TestCase
|
||||
{
|
||||
@@ -98,6 +99,8 @@ public class DefaultTypeConverterTest extends TestCase
|
||||
assertEquals("woof", DefaultTypeConverter.INSTANCE.convert(String.class, mlText));
|
||||
// Locale
|
||||
assertEquals("fr_FR_", DefaultTypeConverter.INSTANCE.convert(String.class, Locale.FRANCE));
|
||||
// VersionNumber
|
||||
assertEquals("1.2.3", DefaultTypeConverter.INSTANCE.convert(String.class, new VersionNumber("1.2.3")));
|
||||
}
|
||||
|
||||
public void testFromString()
|
||||
@@ -131,6 +134,8 @@ public class DefaultTypeConverterTest extends TestCase
|
||||
|
||||
assertEquals(Locale.FRANCE, DefaultTypeConverter.INSTANCE.convert(Locale.class, "fr_FR"));
|
||||
assertEquals(Locale.FRANCE, DefaultTypeConverter.INSTANCE.convert(Locale.class, "fr_FR_"));
|
||||
|
||||
assertEquals(new VersionNumber("1.2.3"), DefaultTypeConverter.INSTANCE.convert(VersionNumber.class, "1.2.3"));
|
||||
}
|
||||
|
||||
public void testPrimativeAccessors()
|
||||
|
Reference in New Issue
Block a user