Patch checkpoint.

Service descriptor changes including introduction of schema number.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2161 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2006-01-20 14:45:16 +00:00
parent b4220a973b
commit 02dc9ced9b
20 changed files with 407 additions and 359 deletions

View File

@@ -22,6 +22,7 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.repo.importer.ImporterBootstrap;
import org.alfresco.repo.transaction.TransactionUtil;
import org.alfresco.service.cmr.repository.InvalidStoreRefException;
@@ -71,7 +72,7 @@ public class DescriptorServiceImpl implements DescriptorService, ApplicationList
* @param descriptorResource resource containing server descriptor meta-data
* @throws IOException
*/
public void setServerDescriptor(Resource descriptorResource)
public void setDescriptor(Resource descriptorResource)
throws IOException
{
this.serverProperties = new Properties();
@@ -121,7 +122,7 @@ public class DescriptorServiceImpl implements DescriptorService, ApplicationList
/* (non-Javadoc)
* @see org.alfresco.service.descriptor.DescriptorService#getDescriptor()
*/
public Descriptor getDescriptor()
public Descriptor getServerDescriptor()
{
return serverDescriptor;
}
@@ -187,7 +188,9 @@ public class DescriptorServiceImpl implements DescriptorService, ApplicationList
String serverEdition = serverDescriptor.getEdition();
String serverVersion = serverDescriptor.getVersion();
String repoVersion = repoDescriptor.getVersion();
logger.info(String.format("Alfresco started (%s) - v%s; repository v%s", serverEdition, serverVersion, repoVersion));
int schemaVersion = repoDescriptor.getSchema();
logger.info(String.format("Alfresco started (%s) - v%s; repository v%s; schema %d",
serverEdition, serverVersion, repoVersion, schemaVersion));
}
}
}
@@ -297,6 +300,15 @@ public class DescriptorServiceImpl implements DescriptorService, ApplicationList
return "unknown";
}
/*
* (non-Javadoc)
* @see org.alfresco.service.descriptor.Descriptor#getSchema()
*/
public int getSchema()
{
return 0;
}
/* (non-Javadoc)
* @see org.alfresco.service.descriptor.Descriptor#getDescriptorKeys()
*/
@@ -386,6 +398,32 @@ public class DescriptorServiceImpl implements DescriptorService, ApplicationList
return null;
}
/*
* (non-Javadoc)
* @see org.alfresco.service.descriptor.Descriptor#getSchema()
*/
public int getSchema()
{
String schemaStr = getDescriptor("sys:versionSchema");
if (schemaStr == null)
{
return 0;
}
try
{
int schema = Integer.parseInt(schemaStr);
if (schema < 0)
{
throw new NumberFormatException();
}
return schema;
}
catch (NumberFormatException e)
{
throw new AlfrescoRuntimeException("'version.schema' must be a positive integer");
}
}
/* (non-Javadoc)
* @see org.alfresco.service.descriptor.Descriptor#getDescriptorKeys()
*/
@@ -470,7 +508,33 @@ public class DescriptorServiceImpl implements DescriptorService, ApplicationList
{
return serverProperties.getProperty("version.edition");
}
/*
* (non-Javadoc)
* @see org.alfresco.service.descriptor.Descriptor#getSchema()
*/
public int getSchema()
{
String schemaStr = serverProperties.getProperty("version.schema");
if (schemaStr == null)
{
return 0;
}
try
{
int schema = Integer.parseInt(schemaStr);
if (schema < 0)
{
throw new NumberFormatException();
}
return schema;
}
catch (NumberFormatException e)
{
throw new AlfrescoRuntimeException("'version.schema' must be a positive integer");
}
}
/* (non-Javadoc)
* @see org.alfresco.service.descriptor.Descriptor#getDescriptorKeys()
*/

View File

@@ -62,11 +62,11 @@ public class DescriptorServiceTest extends BaseSpringTest
}
public void testDescriptor()
public void testServerDescriptor()
{
ServiceRegistry registry = (ServiceRegistry)applicationContext.getBean(ServiceRegistry.SERVICE_REGISTRY);
DescriptorService descriptor = registry.getDescriptorService();
Descriptor serverDescriptor = descriptor.getDescriptor();
DescriptorService descriptorService = registry.getDescriptorService();
Descriptor serverDescriptor = descriptorService.getServerDescriptor();
String major = serverDescriptor.getVersionMajor();
String minor = serverDescriptor.getVersionMinor();
@@ -79,25 +79,31 @@ public class DescriptorServiceTest extends BaseSpringTest
}
assertEquals(version, serverDescriptor.getVersion());
int schemaVersion = serverDescriptor.getSchema();
assertTrue("Server schema version must be greater than 0", schemaVersion > 0);
}
public void testRepositoryDescriptor()
{
ServiceRegistry registry = (ServiceRegistry)applicationContext.getBean(ServiceRegistry.SERVICE_REGISTRY);
DescriptorService descriptor = registry.getDescriptorService();
Descriptor serverDescriptor = descriptor.getRepositoryDescriptor();
DescriptorService descriptorService = registry.getDescriptorService();
Descriptor repoDescriptor = descriptorService.getRepositoryDescriptor();
String major = serverDescriptor.getVersionMajor();
String minor = serverDescriptor.getVersionMinor();
String revision = serverDescriptor.getVersionRevision();
String label = serverDescriptor.getVersionLabel();
String major = repoDescriptor.getVersionMajor();
String minor = repoDescriptor.getVersionMinor();
String revision = repoDescriptor.getVersionRevision();
String label = repoDescriptor.getVersionLabel();
String version = major + "." + minor + "." + revision;
if (label != null && label.length() > 0)
{
version += " (" + label + ")";
}
assertEquals(version, serverDescriptor.getVersion());
assertEquals(version, repoDescriptor.getVersion());
int schemaVersion = repoDescriptor.getSchema();
assertTrue("Repository schema version must be greater than -1", schemaVersion > -1);
}
}