mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
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:
@@ -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()
|
||||
*/
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user