Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Mar 15, 2019
2 parents fd256fa + b9f3620 commit d3549ce
Show file tree
Hide file tree
Showing 149 changed files with 7,809 additions and 1,131 deletions.
21 changes: 19 additions & 2 deletions build-system/pom.xml
Expand Up @@ -78,7 +78,7 @@
<jdbc.mariadb>2.3.0</jdbc.mariadb>
<jdbc.mysql>6.0.6</jdbc.mysql>
<wicket.version>8.0.0</wicket.version>
<groovy.version>2.4.14</groovy.version>
<groovy.version>2.5.6</groovy.version>
<activiti-engine.version>5.22.0</activiti-engine.version>
<activiti-spring.version>5.22.0</activiti-spring.version>
<commons-email.version>1.3</commons-email.version>
Expand All @@ -95,6 +95,8 @@
<jcommander.version>1.72</jcommander.version>
<failsafe.version>3.0.0-M2</failsafe.version>
<antrun.version>1.8</antrun.version>
<rabbit-amqp-client.version>5.1.2</rabbit-amqp-client.version> <!-- must match the version used by Spring Boot -->
<qpid-broker.version>7.1.1</qpid-broker.version>
</properties>
<dependencyManagement>
<dependencies>
Expand Down Expand Up @@ -223,6 +225,7 @@
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.python</groupId>
Expand Down Expand Up @@ -1226,7 +1229,21 @@
<artifactId>jetty-server</artifactId>
<version>9.4.11.v20180605</version>
</dependency>

<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
<version>${qpid-broker.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-8-protocol</artifactId>
<version>${qpid-broker.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-memory-store</artifactId>
<version>${qpid-broker.version}</version>
</dependency>
</dependencies>

</dependencyManagement>
Expand Down
Expand Up @@ -1778,7 +1778,9 @@ public String getBubbleLabel() {

createFocusPageViewMenu(item.getItems(), "PageAdmin.menu.top.caseWorkItems.view", PageCaseWorkItem.class);

addMenuItem(item, "PageAdmin.menu.top.case.new", PageCase.class);
MenuItem newCaseMenu = new MenuItem(createStringResource("PageAdmin.menu.top.case.new"), GuiStyleConstants.CLASS_PLUS_CIRCLE, PageCase.class, null,
new VisibleEnableBehaviour());
item.getItems().add(newCaseMenu);

return item;
}
Expand All @@ -1788,15 +1790,16 @@ private MainMenuItem createServerTasksItems() {
createStringResource("PageAdmin.menu.top.serverTasks"), null);

addMenuItem(item, "PageAdmin.menu.top.serverTasks.list", PageTasks.class);
addMenuItem(item, "PageAdmin.menu.top.serverTasks.new", PageTaskAdd.class);
//should we support archetype view for TaskType?
// addCollectionsMenuItems(item.getItems(), TaskType.COMPLEX_TYPE);
MenuItem newTaskMenu = new MenuItem(createStringResource("PageAdmin.menu.top.serverTasks.new"), GuiStyleConstants.CLASS_PLUS_CIRCLE, PageTaskAdd.class, null,
new VisibleEnableBehaviour());
item.getItems().add(newTaskMenu);

MenuItem menuItem = new MenuItem(createStringResource("PageAdmin.menu.top.serverTasks.edit"),
PageTaskEdit.class, null, createVisibleDisabledBehaviorForEditMenu(PageTaskEdit.class));
item.getItems().add(menuItem);

//should we support archetype view for TaskType?
// addCollectionsMenuItems(item.getItems(), TaskType.COMPLEX_TYPE);

return item;
}

Expand All @@ -1820,15 +1823,15 @@ && getPageParameters().get(PARAMETER_OBJECT_COLLECTION_NAME).toString() != null)
};
item.getItems().add(menu);

addCollectionsMenuItems(item.getItems(), ResourceType.COMPLEX_TYPE, PageResources.class);

createFocusPageViewMenu(item.getItems(), "PageAdmin.menu.top.resources.view", PageResource.class);
createFocusPageNewEditMenu(item.getItems(), "PageAdmin.menu.top.resources.new",
"PageAdmin.menu.top.resources.edit", PageResourceWizard.class, false);

addMenuItem(item, "PageAdmin.menu.top.resources.import", PageImportResource.class);
addMenuItem(item, "PageAdmin.menu.top.connectorHosts.list", PageConnectorHosts.class);

addCollectionsMenuItems(item.getItems(), ResourceType.COMPLEX_TYPE, PageResources.class);

return item;
}

Expand Down Expand Up @@ -1880,7 +1883,6 @@ public String getBubbleLabel() {
};

addMenuItem(item, "PageAdmin.menu.top.certification.definitions", PageCertDefinitions.class);
addMenuItem(item, "PageAdmin.menu.top.certification.newDefinition", PageCertDefinition.class);
addMenuItem(item, "PageAdmin.menu.top.certification.campaigns", PageCertCampaigns.class);

PageParameters params = new PageParameters();
Expand All @@ -1891,6 +1893,10 @@ public String getBubbleLabel() {

addMenuItem(item, "PageAdmin.menu.top.certification.decisions", PageCertDecisions.class);

MenuItem newCertificationMenu = new MenuItem(createStringResource("PageAdmin.menu.top.certification.newDefinition"), GuiStyleConstants.CLASS_PLUS_CIRCLE, PageCertDefinition.class, null,
new VisibleEnableBehaviour());
item.getItems().add(newCertificationMenu);

return item;
}

Expand Down Expand Up @@ -1966,12 +1972,10 @@ && getPageParameters().get(PARAMETER_OBJECT_COLLECTION_NAME).toString() != null)
}
};
item.getItems().add(menu);
addCollectionsMenuItems(item.getItems(), UserType.COMPLEX_TYPE, PageUsers.class);

createFocusPageNewEditMenu(item.getItems(), "PageAdmin.menu.top.users.new",
"PageAdmin.menu.top.users.edit", PageUser.class, true);

addCollectionsMenuItems(item.getItems(), UserType.COMPLEX_TYPE, PageUsers.class);

return item;
}

Expand Down Expand Up @@ -2086,12 +2090,12 @@ private MainMenuItem createOrganizationsMenu() {
MenuItem orgTree = new MenuItem(createStringResource("PageAdmin.menu.top.users.org.tree"),
GuiStyleConstants.CLASS_OBJECT_ORG_ICON, PageOrgTree.class);
item.getItems().add(orgTree);
createFocusPageNewEditMenu(item.getItems(), "PageAdmin.menu.top.users.org.new", "PageAdmin.menu.top.users.org.edit",
PageOrgUnit.class, true);

//todo should we have org list page for collection/archetype view?
// addCollectionsMenuItems(item.getItems(), OrgType.COMPLEX_TYPE);

createFocusPageNewEditMenu(item.getItems(), "PageAdmin.menu.top.users.org.new", "PageAdmin.menu.top.users.org.edit",
PageOrgUnit.class, true);

return item;
}

Expand All @@ -2114,12 +2118,11 @@ && getPageParameters().get(PARAMETER_OBJECT_COLLECTION_NAME).toString() != null)
}
};
item.getItems().add(menu);
addCollectionsMenuItems(item.getItems(), RoleType.COMPLEX_TYPE, PageRoles.class);

createFocusPageNewEditMenu(item.getItems(), "PageAdmin.menu.top.roles.new", "PageAdmin.menu.top.roles.edit",
PageRole.class, true);

addCollectionsMenuItems(item.getItems(), RoleType.COMPLEX_TYPE, PageRoles.class);

return item;
}

Expand All @@ -2142,12 +2145,11 @@ && getPageParameters().get(PARAMETER_OBJECT_COLLECTION_NAME).toString() != null)
}
};
item.getItems().add(menu);
addCollectionsMenuItems(item.getItems(), ServiceType.COMPLEX_TYPE, PageServices.class);

createFocusPageNewEditMenu(item.getItems(), "PageAdmin.menu.top.services.new", "PageAdmin.menu.top.services.edit",
PageService.class, true);

addCollectionsMenuItems(item.getItems(), ServiceType.COMPLEX_TYPE, PageServices.class);

return item;
}

Expand Down
Expand Up @@ -1105,7 +1105,7 @@ PageAdmin.menu.top.configuration.expressionEvaluator=Expression evaluator
PageAdmin.menu.top.configuration.importObject=Import object
PageAdmin.menu.top.configuration.internals=Internals configuration
PageAdmin.menu.top.configuration.objectPolicy=Object policy
PageAdmin.menu.top.configuration.globalPolicyRule=Global policy rule
PageAdmin.menu.top.configuration.globalPolicyRule=Global policy rules
PageAdmin.menu.top.configuration.globalAccountSynchronization=Global account synchronization
PageAdmin.menu.top.configuration.cleanupPolicy=Cleanup Policy
PageAdmin.menu.top.configuration.workflow=Workflow configuration
Expand Down Expand Up @@ -4261,19 +4261,19 @@ ApprovalPolicyActionType.details.newValue=New approval policy action
LifecycleStateType.details.newValue=New lifecycle state
NotificationPolicyActionType.details.newValue=New notification policy action
PropertyConstraintType.details.newValue=New property constraint
objectState.details.newValue=New object state
assignmentState.details.newValue=New assignment state
hasAssignment.details.newValue=New has assignment
hasNoAssignment.details.newValue=New has no assignment
exclusion.details.newValue=New exclusion
minAssignees.details.newValue=New minimum assignees
maxAssignees.details.newValue=New maximum assignees
modification.details.newValue=New modification
assignment.details.newValue=New assignment
objectTimeValidity.details.newValue=New object time validity
assignmentTimeValidity.details.newValue=New assignment time validity
situation.details.newValue=New policy situation
transition.details.newValue=New transition
objectState.details.newValue=New 'object state' constraint
assignmentState.details.newValue=New 'assignment state' constraint
hasAssignment.details.newValue=New 'has assignment' constraint
hasNoAssignment.details.newValue=New 'has no assignment' constraint
exclusion.details.newValue=New 'exclusion' constraint
minAssignees.details.newValue=New 'minimum assignees' constraint
maxAssignees.details.newValue=New 'maximum assignees' constraint
modification.details.newValue=New 'modification' constraint
assignment.details.newValue=New 'assignment' constraint
objectTimeValidity.details.newValue=New 'object time validity' constraint
assignmentTimeValidity.details.newValue=New 'assignment time validity' constraint
situation.details.newValue=New 'situation' constraint
transition.details.newValue=New 'transition' constraint
ref.details.newValue=New reference
objectMaxAssigneesViolation.details.newValue=New object max assignees violation
objectMinAssigneesViolation.details.newValue=New object min assignees violation
Expand Down
Expand Up @@ -134,8 +134,6 @@ private static List<PropertyDelta<?>> createSynchronizationTimestampsDelta(Prism
return deltas;
}



private static List<SynchronizationSituationDescriptionType> getSituationFromSameChannel(
PrismObject<ShadowType> shadow, String channel) {

Expand Down
Expand Up @@ -25,7 +25,7 @@
import java.io.IOException;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

/**
* Unit tests for Util class
Expand Down Expand Up @@ -56,7 +56,7 @@ public void cleaupUtfTest() throws FileNotFoundException, IOException {
FileChannel fc = stream.getChannel();
MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());

badStr = Charset.forName("UTF-8").decode(bb).toString();
badStr = StandardCharsets.UTF_8.decode(bb).toString();
}
finally {
stream.close();
Expand Down
Expand Up @@ -217,11 +217,12 @@ private static <ID extends ItemDefinition> ID augmentWithClass(ID definition, Cl
return definition;
}
@SuppressWarnings("unchecked")
List<ID> defFromClass = schemaRegistry.findItemDefinitionsByCompileTimeClass((Class) clazz, (Class) definitionClass);
if (defFromClass.size() != 1) {
List<ID> defFromClass = schemaRegistry.findItemDefinitionsByCompileTimeClass(clazz, (Class) definitionClass);
ID singleDef = DefinitionStoreUtils.getOne(defFromClass, false, null);
if (singleDef == null) {
return definition;
} else {
return schemaRegistry.selectMoreSpecific(definition, defFromClass.get(0));
return schemaRegistry.selectMoreSpecific(definition, singleDef);
}
}

Expand Down
Expand Up @@ -33,11 +33,12 @@ public class RawTypeUtil {

public static <IV extends PrismValue,ID extends ItemDefinition> Item<IV,ID> getParsedItem(ID itemDefinition, List<RawType> values, QName elementQName, PrismContainerDefinition containerDef) throws SchemaException{

Item<IV,ID> subItem = null;
Item<IV,ID> subItem;

List<IV> parsedValues = new ArrayList<>();
for (RawType rawValue : values){
for (RawType rawValue : values) {
if (itemDefinition == null && containerDef != null){
//noinspection unchecked
itemDefinition = (ID) ((PrismContextImpl) containerDef.getPrismContext()).getPrismUnmarshaller().locateItemDefinition(containerDef, elementQName, rawValue.getXnode());
}
IV parsed = rawValue.getParsedValue(itemDefinition, elementQName);
Expand Down
Expand Up @@ -42,7 +42,7 @@
import java.io.IOException;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
Expand Down Expand Up @@ -228,7 +228,7 @@ public void strangeCharsTest() throws IOException {
try (FileInputStream stream = new FileInputStream(file)) {
FileChannel fc = stream.getChannel();
MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
xpathStr = Charset.forName("UTF-8").decode(bb).toString();
xpathStr = StandardCharsets.UTF_8.decode(bb).toString();
}

ItemPathHolder xpath = ItemPathHolder.createForTesting(xpathStr);
Expand Down
1 change: 1 addition & 0 deletions infra/schema-pure-jaxb/src/compile/resources/catalog.xml
Expand Up @@ -32,6 +32,7 @@ Used when building via xjc.
<system systemId="http://midpoint.evolveum.com/xml/ns/public/common/common-core-3" uri="../../../target/midpoint-schema/xml/ns/public/common/common-core-3.xsd" />
<system systemId="http://midpoint.evolveum.com/xml/ns/public/common/common-model-context-3" uri="../../../target/midpoint-schema/xml/ns/public/common/common-model-context-3.xsd" />
<system systemId="http://midpoint.evolveum.com/xml/ns/public/common/common-notifications-3" uri="../../../target/midpoint-schema/xml/ns/public/common/common-notifications-3.xsd" />
<system systemId="http://midpoint.evolveum.com/xml/ns/public/common/common-asynchronous-3" uri="../../../target/midpoint-schema/xml/ns/public/common/common-asynchronous-3.xsd" />
<system systemId="http://midpoint.evolveum.com/xml/ns/public/common/common-workflows-3" uri="../../../target/midpoint-schema/xml/ns/public/common/common-workflows-3.xsd" />
<system systemId="http://midpoint.evolveum.com/xml/ns/public/common/common-policy-3" uri="../../../target/midpoint-schema/xml/ns/public/common/common-policy-3.xsd" />
<system systemId="http://midpoint.evolveum.com/xml/ns/public/common/common-case-management-3" uri="../../../target/midpoint-schema/xml/ns/public/common/common-case-management-3.xsd" />
Expand Down
Expand Up @@ -83,6 +83,10 @@ public ResourceShadowDiscriminator(ShadowDiscriminatorType accRefType, String de
setKind(kind);
}

public ResourceShadowDiscriminator(String resourceOid) {
this.resourceOid = resourceOid;
}

public ResourceShadowDiscriminator(String resourceOid, QName objectClass) {
this.resourceOid = resourceOid;
this.objectClass = objectClass;
Expand Down
Expand Up @@ -123,4 +123,6 @@ public class ExpressionConstants {
public static final QName VAR_POLICY_RULE = new QName(SchemaConstants.NS_C, "policyRule");
public static final QName VAR_POLICY_ACTION = new QName(SchemaConstants.NS_C, "policyAction");
public static final QName VAR_LOGIN_MODE = new QName(SchemaConstants.NS_C, "loginMode");

public static final QName VAR_MESSAGE = new QName(SchemaConstants.NS_C, "message");
}
Expand Up @@ -25,6 +25,7 @@ public class MidPointConstants {

public static final String NS_MIDPOINT_PUBLIC_PREFIX = "http://midpoint.evolveum.com/xml/ns/public";
public static final String NS_MIDPOINT_TEST_PREFIX = "http://midpoint.evolveum.com/xml/ns/test";
public static final String EXPRESSION_LANGUAGE_URL_BASE = NS_MIDPOINT_PUBLIC_PREFIX + "/expression/language#";

public static final String NS_RA = NS_MIDPOINT_PUBLIC_PREFIX+"/resource/annotation-3";
public static final String PREFIX_NS_RA = "ra";
Expand Down
Expand Up @@ -250,6 +250,8 @@ public abstract class SchemaConstants {
public static final String NS_PROVISIONING_CHANNEL = NS_PROVISIONING + "/channels-3";
public static final QName CHANGE_CHANNEL_LIVE_SYNC = new QName(NS_PROVISIONING_CHANNEL, "liveSync");
public static final String CHANGE_CHANNEL_LIVE_SYNC_URI = QNameUtil.qNameToUri(CHANGE_CHANNEL_LIVE_SYNC);
public static final QName CHANGE_CHANNEL_ASYNC_UPDATE = new QName(NS_PROVISIONING_CHANNEL, "asyncUpdate");
public static final String CHANGE_CHANNEL_ASYNC_UPDATE_URI = QNameUtil.qNameToUri(CHANGE_CHANNEL_ASYNC_UPDATE);
public static final QName CHANGE_CHANNEL_RECON = new QName(NS_PROVISIONING_CHANNEL, "reconciliation");
public static final String CHANGE_CHANNEL_RECON_URI = QNameUtil.qNameToUri(CHANGE_CHANNEL_RECON);
public static final QName CHANGE_CHANNEL_RECOMPUTE = new QName(NS_PROVISIONING_CHANNEL, "recompute");
Expand Down Expand Up @@ -441,6 +443,8 @@ public abstract class SchemaConstants {
CONNECTOR_SCHEMA_CONFIGURATION_PROPERTIES_ELEMENT_LOCAL_NAME);
public static final String ACCOUNT_OBJECT_CLASS_LOCAL_NAME = "AccountObjectClass";
public static final String GROUP_OBJECT_CLASS_LOCAL_NAME = "GroupObjectClass";
public static final ItemName RI_ACCOUNT_OBJECT_CLASS = new ItemName(MidPointConstants.NS_RI, ACCOUNT_OBJECT_CLASS_LOCAL_NAME);
public static final ItemName RI_GROUP_OBJECT_CLASS = new ItemName(MidPointConstants.NS_RI, GROUP_OBJECT_CLASS_LOCAL_NAME);

public static final String UCF_FRAMEWORK_URI_BUILTIN = "http://midpoint.evolveum.com/xml/ns/public/connector/builtin-1";

Expand Down
Expand Up @@ -375,14 +375,14 @@ public static <O extends ObjectType> void reduceSearchResult(List<PrismObject<O>
if (results == null || results.isEmpty()) {
return;
}
Map<String,PrismObject<O>> map = new HashMap<>();
Set<String> oidsSeen = new HashSet<>();
Iterator<PrismObject<O>> iterator = results.iterator();
while (iterator.hasNext()) {
PrismObject<O> prismObject = iterator.next();
if (map.containsKey(prismObject.getOid())) {
if (oidsSeen.contains(prismObject.getOid())) {
iterator.remove();
} else {
map.put(prismObject.getOid(), prismObject);
oidsSeen.add(prismObject.getOid());
}
}
}
Expand Down
Expand Up @@ -571,6 +571,11 @@ public static ObjectType toObjectable(PrismObject object) {
return object != null ? (ObjectType) object.asObjectable() : null;
}

public static <T extends Objectable> PrismObject<T> toPrismObject(T objectable) {
//noinspection unchecked
return objectable != null ? objectable.asPrismObject() : null;
}

public static boolean containsOid(Collection<ObjectReferenceType> values, @NotNull String oid) {
return values.stream().anyMatch(v -> oid.equals(v.getOid()));
}
Expand Down
Expand Up @@ -977,6 +977,15 @@ public static String prettyPrint(OrderConstraintsType constraints) {
// }
// }

public static Object prettyPrintLazily(Object value) {
return new Object() {
@Override
public String toString() {
return prettyPrint(value);
}
};
}

public static String prettyPrint(Object value) {
if (value == null) {
return "null";
Expand Down

0 comments on commit d3549ce

Please sign in to comment.