mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-13 08:55:44 +01:00
configuration entry store should be able to read the defect format of earlier versions
This commit is contained in:
@@ -366,6 +366,7 @@ public class JAXBConfigurationEntryStore<V>
|
|||||||
if (!element.isNil())
|
if (!element.isNil())
|
||||||
{
|
{
|
||||||
V v = element.getValue();
|
V v = element.getValue();
|
||||||
|
|
||||||
logger.trace("add element {} to configuration entry store", v);
|
logger.trace("add element {} to configuration entry store", v);
|
||||||
|
|
||||||
entries.put(key, v);
|
entries.put(key, v);
|
||||||
@@ -375,11 +376,13 @@ public class JAXBConfigurationEntryStore<V>
|
|||||||
logger.warn("could not unmarshall object of entry store");
|
logger.warn("could not unmarshall object of entry store");
|
||||||
}
|
}
|
||||||
|
|
||||||
// closed entry tag
|
// closed or new entry tag
|
||||||
reader.nextTag();
|
if (reader.nextTag() == XMLStreamReader.END_ELEMENT)
|
||||||
|
{
|
||||||
|
|
||||||
// start new entry
|
// fixed format, start new entry
|
||||||
reader.nextTag();
|
reader.nextTag();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -412,6 +415,7 @@ public class JAXBConfigurationEntryStore<V>
|
|||||||
);
|
);
|
||||||
//J+
|
//J+
|
||||||
writer.writeStartDocument();
|
writer.writeStartDocument();
|
||||||
|
|
||||||
// configuration start
|
// configuration start
|
||||||
writer.writeStartElement(TAG_CONFIGURATION);
|
writer.writeStartElement(TAG_CONFIGURATION);
|
||||||
|
|
||||||
@@ -421,11 +425,14 @@ public class JAXBConfigurationEntryStore<V>
|
|||||||
|
|
||||||
for (Entry<String, V> e : entries.entrySet())
|
for (Entry<String, V> e : entries.entrySet())
|
||||||
{
|
{
|
||||||
|
|
||||||
// entry start
|
// entry start
|
||||||
writer.writeStartElement(TAG_ENTRY);
|
writer.writeStartElement(TAG_ENTRY);
|
||||||
|
|
||||||
// key start
|
// key start
|
||||||
writer.writeStartElement(TAG_KEY);
|
writer.writeStartElement(TAG_KEY);
|
||||||
writer.writeCharacters(e.getKey());
|
writer.writeCharacters(e.getKey());
|
||||||
|
|
||||||
// key end
|
// key end
|
||||||
writer.writeEndElement();
|
writer.writeEndElement();
|
||||||
|
|
||||||
@@ -434,6 +441,7 @@ public class JAXBConfigurationEntryStore<V>
|
|||||||
e.getValue());
|
e.getValue());
|
||||||
|
|
||||||
m.marshal(je, writer);
|
m.marshal(je, writer);
|
||||||
|
|
||||||
// entry end
|
// entry end
|
||||||
writer.writeEndElement();
|
writer.writeEndElement();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,6 +98,30 @@ public class JAXBConfigurationEntryStoreTest
|
|||||||
assertEquals("tuser3", a3.getName());
|
assertEquals("tuser3", a3.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testLoadWrongFormat() throws IOException
|
||||||
|
{
|
||||||
|
ConfigurationEntryStore<AssignedPermission> store =
|
||||||
|
createPermissionStore(RESOURCE_WRONG);
|
||||||
|
AssignedPermission a1 = store.get("3ZOHKUePB3");
|
||||||
|
|
||||||
|
assertEquals("tuser", a1.getName());
|
||||||
|
|
||||||
|
AssignedPermission a2 = store.get("7COHL2j1G1");
|
||||||
|
|
||||||
|
assertEquals("tuser2", a2.getName());
|
||||||
|
|
||||||
|
AssignedPermission a3 = store.get("A0OHL3Qqw2");
|
||||||
|
|
||||||
|
assertEquals("tuser3", a3.getName());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method description
|
* Method description
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<configuration>
|
||||||
|
<entry>
|
||||||
|
<key>3ZOHKUePB3</key>
|
||||||
|
<value>
|
||||||
|
<group-permission>false</group-permission>
|
||||||
|
<name>tuser</name>
|
||||||
|
<permission>repository:*:READ</permission>
|
||||||
|
</value>
|
||||||
|
<entry>
|
||||||
|
<key>A0OHL3Qqw2</key>
|
||||||
|
<value>
|
||||||
|
<group-permission>false</group-permission>
|
||||||
|
<name>tuser3</name>
|
||||||
|
<permission>repository:*:OWNER</permission>
|
||||||
|
</value>
|
||||||
|
<entry>
|
||||||
|
<key>7COHL2j1G1</key>
|
||||||
|
<value>
|
||||||
|
<group-permission>false</group-permission>
|
||||||
|
<name>tuser2</name>
|
||||||
|
<permission>repository:*:WRITE</permission>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
</entry>
|
||||||
|
</entry>
|
||||||
|
</configuration>
|
||||||
Reference in New Issue
Block a user