Skip to content

Commit

Permalink
Merge branch 'master' of github.com:Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Oct 16, 2014
2 parents 74f4d85 + a52341d commit 5d53b91
Show file tree
Hide file tree
Showing 51 changed files with 4,252 additions and 1,384 deletions.
2 changes: 1 addition & 1 deletion build-system/pom.xml
Expand Up @@ -65,7 +65,7 @@
<hibernate.version>4.1.12.Final</hibernate.version>
<h2.version>1.3.171</h2.version>
<jdbc.postgres>9.1-901.jdbc4</jdbc.postgres>
<jdbc.mysql>5.1.25</jdbc.mysql>
<jdbc.mysql>5.1.31</jdbc.mysql>
<wicket.version>6.17.0</wicket.version>
<groovy.version>1.8.6</groovy.version>
<activiti-engine.version>5.15.1</activiti-engine.version>
Expand Down
24 changes: 24 additions & 0 deletions config/sql/midpoint/3.0/h2/h2-3.0-closure-upgrade.sql
@@ -0,0 +1,24 @@
DROP TABLE m_org_closure;

DROP TABLE IF EXISTS m_org_incorrect;

CREATE TABLE m_org_closure (
descendant_oid VARCHAR(36) NOT NULL,
ancestor_oid VARCHAR(36) NOT NULL,
val INTEGER NOT NULL,
PRIMARY KEY (descendant_oid, ancestor_oid)
);

CREATE INDEX iDescendant ON m_org_closure (descendant_oid);

CREATE INDEX iAncestor ON m_org_closure (ancestor_oid);

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_ancestor
FOREIGN KEY (ancestor_oid)
REFERENCES m_object;

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_descendant
FOREIGN KEY (descendant_oid)
REFERENCES m_object;
16 changes: 2 additions & 14 deletions config/sql/midpoint/3.0/h2/h2-3.0.sql
Expand Up @@ -345,17 +345,9 @@ CREATE TABLE m_org (
);

CREATE TABLE m_org_closure (
id BIGINT NOT NULL,
ancestor_oid VARCHAR(36),
depthValue INTEGER,
descendant_oid VARCHAR(36),
relation VARCHAR(157),
PRIMARY KEY (id)
);

CREATE TABLE m_org_incorrect (
descendant_oid VARCHAR(36) NOT NULL,
ancestor_oid VARCHAR(36) NOT NULL,
val INTEGER NOT NULL,
PRIMARY KEY (descendant_oid, ancestor_oid)
);

Expand Down Expand Up @@ -728,13 +720,9 @@ ADD CONSTRAINT fk_org
FOREIGN KEY (oid)
REFERENCES m_abstract_role;

CREATE INDEX iAncestor ON m_org_closure (ancestor_oid);

CREATE INDEX iDescendant ON m_org_closure (descendant_oid);

CREATE INDEX iAncestorDepth ON m_org_closure (ancestor_oid, depthValue);

CREATE INDEX iAncDescDepth ON m_org_closure (ancestor_oid, descendant_oid, depthValue);
CREATE INDEX iAncestor ON m_org_closure (ancestor_oid);

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_ancestor
Expand Down
33 changes: 33 additions & 0 deletions config/sql/midpoint/3.0/mysql/mysql-3.0-closure-upgrade.sql
@@ -0,0 +1,33 @@
DROP TABLE m_org_closure;

drop table if exists m_org_incorrect;

--
-- Note: if getting
-- "[HY000][150] Create table 'midpoint/#sql-7ec_8' with foreign key constraint failed.
-- There is no index in the referenced table where the referenced columns appear as the first columns."
-- then check the character set/collation compatibility between ancestor_oid/descendant_oid and m_object(oid).
-- E.g. try to remove "DEFAULT CHARACTER SET utf8 COLLATE utf8_bin" from definition; or add the same to m_object.
--

CREATE TABLE m_org_closure (
descendant_oid VARCHAR(36) NOT NULL,
ancestor_oid VARCHAR(36) NOT NULL ,
val INTEGER NOT NULL ,
PRIMARY KEY (descendant_oid, ancestor_oid)
)
DEFAULT CHARACTER SET utf8
COLLATE utf8_bin
ENGINE =InnoDB;

ALTER TABLE m_org_closure
ADD INDEX fk_ancestor (ancestor_oid),
ADD CONSTRAINT fk_ancestor
FOREIGN KEY (ancestor_oid)
REFERENCES m_object (oid);

ALTER TABLE m_org_closure
ADD INDEX fk_descendant (descendant_oid),
ADD CONSTRAINT fk_descendant
FOREIGN KEY (descendant_oid)
REFERENCES m_object (oid);
19 changes: 2 additions & 17 deletions config/sql/midpoint/3.0/mysql/mysql-3.0.sql
Expand Up @@ -436,20 +436,9 @@ CREATE TABLE m_org (
ENGINE =InnoDB;

CREATE TABLE m_org_closure (
id BIGINT NOT NULL,
ancestor_oid VARCHAR(36),
depthValue INTEGER,
descendant_oid VARCHAR(36),
relation VARCHAR(157),
PRIMARY KEY (id)
)
DEFAULT CHARACTER SET utf8
COLLATE utf8_bin
ENGINE =InnoDB;

CREATE TABLE m_org_incorrect (
descendant_oid VARCHAR(36) NOT NULL,
ancestor_oid VARCHAR(36) NOT NULL,
ancestor_oid VARCHAR(36) NOT NULL ,
val INTEGER NOT NULL ,
PRIMARY KEY (descendant_oid, ancestor_oid)
)
DEFAULT CHARACTER SET utf8
Expand Down Expand Up @@ -902,10 +891,6 @@ ADD CONSTRAINT fk_org
FOREIGN KEY (oid)
REFERENCES m_abstract_role (oid);

CREATE INDEX iAncestorDepth ON m_org_closure (ancestor_oid, depthValue);

CREATE INDEX iAncDescDepth ON m_org_closure (ancestor_oid, descendant_oid, depthValue);

ALTER TABLE m_org_closure
ADD INDEX fk_ancestor (ancestor_oid),
ADD CONSTRAINT fk_ancestor
Expand Down
48 changes: 48 additions & 0 deletions config/sql/midpoint/3.0/oracle/oracle-3.0-closure-upgrade.sql
@@ -0,0 +1,48 @@
DROP TABLE m_org_closure;

BEGIN
EXECUTE IMMEDIATE 'DROP TABLE m_org_incorrect';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;

CREATE TABLE m_org_closure (
descendant_oid VARCHAR2(36 CHAR) NOT NULL,
ancestor_oid VARCHAR2(36 CHAR) NOT NULL,
val NUMBER(10, 0) NOT NULL,
PRIMARY KEY (descendant_oid, ancestor_oid)
) INITRANS 30;

BEGIN
EXECUTE IMMEDIATE 'DROP TABLE m_org_closure_temp_delta';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;

CREATE GLOBAL TEMPORARY TABLE m_org_closure_temp_delta (
descendant_oid VARCHAR2(36 CHAR) NOT NULL,
ancestor_oid VARCHAR2(36 CHAR) NOT NULL,
val NUMBER (10, 0) NOT NULL,
PRIMARY KEY (descendant_oid, ancestor_oid)
) ON COMMIT DELETE ROWS;

CREATE INDEX iAncestor ON m_org_closure (ancestor_oid) INITRANS 30;

CREATE INDEX iDescendant ON m_org_closure (descendant_oid) INITRANS 30;

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_ancestor
FOREIGN KEY (ancestor_oid)
REFERENCES m_object;

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_descendant
FOREIGN KEY (descendant_oid)
REFERENCES m_object;

21 changes: 8 additions & 13 deletions config/sql/midpoint/3.0/oracle/oracle-3.0.sql
Expand Up @@ -348,20 +348,19 @@ CREATE TABLE m_org (
) INITRANS 30;

CREATE TABLE m_org_closure (
id NUMBER(19, 0) NOT NULL,
ancestor_oid VARCHAR2(36 CHAR),
depthValue NUMBER(10, 0),
descendant_oid VARCHAR2(36 CHAR),
relation VARCHAR2(157 CHAR),
PRIMARY KEY (id)
) INITRANS 30;

CREATE TABLE m_org_incorrect (
descendant_oid VARCHAR2(36 CHAR) NOT NULL,
ancestor_oid VARCHAR2(36 CHAR) NOT NULL,
val NUMBER(10, 0) NOT NULL,
PRIMARY KEY (descendant_oid, ancestor_oid)
) INITRANS 30;

CREATE GLOBAL TEMPORARY TABLE m_org_closure_temp_delta (
descendant_oid VARCHAR2(36 CHAR) NOT NULL,
ancestor_oid VARCHAR2(36 CHAR) NOT NULL,
val NUMBER (10, 0) NOT NULL,
PRIMARY KEY (descendant_oid, ancestor_oid)
) ON COMMIT DELETE ROWS;

CREATE TABLE m_org_org_type (
org_oid VARCHAR2(36 CHAR) NOT NULL,
orgType VARCHAR2(255 CHAR)
Expand Down Expand Up @@ -735,10 +734,6 @@ CREATE INDEX iAncestor ON m_org_closure (ancestor_oid) INITRANS 30;

CREATE INDEX iDescendant ON m_org_closure (descendant_oid) INITRANS 30;

CREATE INDEX iAncestorDepth ON m_org_closure (ancestor_oid, depthValue) INITRANS 30;

CREATE INDEX iAncDescDepth ON m_org_closure (ancestor_oid, descendant_oid, depthValue) INITRANS 30;

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_ancestor
FOREIGN KEY (ancestor_oid)
Expand Down
@@ -0,0 +1,24 @@
DROP TABLE m_org_closure;

DROP TABLE IF EXISTS m_org_incorrect;

CREATE TABLE m_org_closure (
descendant_oid VARCHAR(36) NOT NULL,
ancestor_oid VARCHAR(36) NOT NULL,
val INT4 NOT NULL,
PRIMARY KEY (descendant_oid, ancestor_oid)
);

CREATE INDEX iAncestor ON m_org_closure (ancestor_oid);

CREATE INDEX iDescendant ON m_org_closure (descendant_oid);

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_ancestor
FOREIGN KEY (ancestor_oid)
REFERENCES m_object;

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_descendant
FOREIGN KEY (descendant_oid)
REFERENCES m_object;
14 changes: 1 addition & 13 deletions config/sql/midpoint/3.0/postgresql/postgresql-3.0.sql
Expand Up @@ -345,17 +345,9 @@ CREATE TABLE m_org (
);

CREATE TABLE m_org_closure (
id INT8 NOT NULL,
ancestor_oid VARCHAR(36),
depthValue INT4,
descendant_oid VARCHAR(36),
relation VARCHAR(157),
PRIMARY KEY (id)
);

CREATE TABLE m_org_incorrect (
descendant_oid VARCHAR(36) NOT NULL,
ancestor_oid VARCHAR(36) NOT NULL,
val INT4 NOT NULL,
PRIMARY KEY (descendant_oid, ancestor_oid)
);

Expand Down Expand Up @@ -732,10 +724,6 @@ CREATE INDEX iAncestor ON m_org_closure (ancestor_oid);

CREATE INDEX iDescendant ON m_org_closure (descendant_oid);

CREATE INDEX iAncestorDepth ON m_org_closure (ancestor_oid, depthValue);

CREATE INDEX iAncDescDepth ON m_org_closure (ancestor_oid, descendant_oid, depthValue);

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_ancestor
FOREIGN KEY (ancestor_oid)
Expand Down
@@ -0,0 +1,25 @@
DROP TABLE m_org_closure;

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'm_org_incorrect')
DROP TABLE m_org_incorrect;

CREATE TABLE m_org_closure (
descendant_oid NVARCHAR(36) COLLATE database_default NOT NULL,
ancestor_oid NVARCHAR(36) COLLATE database_default NOT NULL,
val INT NOT NULL,
PRIMARY KEY (descendant_oid, ancestor_oid)
);

CREATE INDEX iAncestor ON m_org_closure (ancestor_oid);

CREATE INDEX iDescendant ON m_org_closure (descendant_oid);

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_ancestor
FOREIGN KEY (ancestor_oid)
REFERENCES m_object;

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_descendant
FOREIGN KEY (descendant_oid)
REFERENCES m_object;
14 changes: 1 addition & 13 deletions config/sql/midpoint/3.0/sqlserver/sqlserver-3.0.sql
Expand Up @@ -345,17 +345,9 @@ CREATE TABLE m_org (
);

CREATE TABLE m_org_closure (
id BIGINT NOT NULL,
ancestor_oid NVARCHAR(36) COLLATE database_default,
depthValue INT,
descendant_oid NVARCHAR(36) COLLATE database_default,
relation NVARCHAR(157) COLLATE database_default,
PRIMARY KEY (id)
);

CREATE TABLE m_org_incorrect (
descendant_oid NVARCHAR(36) COLLATE database_default NOT NULL,
ancestor_oid NVARCHAR(36) COLLATE database_default NOT NULL,
val INT NOT NULL,
PRIMARY KEY (descendant_oid, ancestor_oid)
);

Expand Down Expand Up @@ -732,10 +724,6 @@ CREATE INDEX iAncestor ON m_org_closure (ancestor_oid);

CREATE INDEX iDescendant ON m_org_closure (descendant_oid);

CREATE INDEX iAncestorDepth ON m_org_closure (ancestor_oid, depthValue);

CREATE INDEX iAncDescDepth ON m_org_closure (ancestor_oid, descendant_oid, depthValue);

ALTER TABLE m_org_closure
ADD CONSTRAINT fk_ancestor
FOREIGN KEY (ancestor_oid)
Expand Down
Expand Up @@ -94,6 +94,7 @@ <h2><wicket:message key="PageAbout.title.jvmProperties"/></h2>

<div class="main-button-bar">
<a class="btn btn-default" wicket:id="testRepository"/>
<a class="btn btn-default" wicket:id="testRepositoryCheckOrgClosure"/>
<a class="btn btn-default" wicket:id="testProvisioning"/>
</div>

Expand Down
Expand Up @@ -59,13 +59,15 @@ public class PageAbout extends PageAdminConfiguration {

private static final String DOT_CLASS = PageAbout.class.getName() + ".";
private static final String OPERATION_TEST_REPOSITORY = DOT_CLASS + "testRepository";
private static final String OPERATION_TEST_REPOSITORY_CHECK_ORG_CLOSURE = DOT_CLASS + "testRepositoryCheckOrgClosure";
private static final String OPERATION_GET_REPO_DIAG = DOT_CLASS + "getRepoDiag";

private static final String ID_REVISION = "revision";
private static final String ID_PROPERTY = "property";
private static final String ID_VALUE = "value";
private static final String ID_LIST_SYSTEM_ITEMS = "listSystemItems";
private static final String ID_TEST_REPOSITORY = "testRepository";
private static final String ID_TEST_REPOSITORY_CHECK_ORG_CLOSURE = "testRepositoryCheckOrgClosure";
private static final String ID_TEST_PROVISIONING = "testProvisioning";
private static final String ID_IMPLEMENTATION_SHORT_NAME = "implementationShortName";
private static final String ID_IMPLEMENTATION_DESCRIPTION = "implementationDescription";
Expand Down Expand Up @@ -179,6 +181,16 @@ public void onClick(AjaxRequestTarget target) {
};
add(testRepository);

AjaxButton testRepositoryCheckOrgClosure = new AjaxButton(ID_TEST_REPOSITORY_CHECK_ORG_CLOSURE,
createStringResource("PageAbout.button.testRepositoryCheckOrgClosure")) {

@Override
public void onClick(AjaxRequestTarget target) {
testRepositoryCheckOrgClosurePerformed(target);
}
};
add(testRepositoryCheckOrgClosure);

AjaxButton testProvisioning = new AjaxButton(ID_TEST_PROVISIONING,
createStringResource("PageAbout.button.testProvisioning")) {

Expand Down Expand Up @@ -234,6 +246,15 @@ private void testRepositoryPerformed(AjaxRequestTarget target) {
target.add(getFeedbackPanel());
}

private void testRepositoryCheckOrgClosurePerformed(AjaxRequestTarget target) {
Task task = createSimpleTask(OPERATION_TEST_REPOSITORY_CHECK_ORG_CLOSURE);

OperationResult result = getModelDiagnosticService().repositoryTestOrgClosureConsistency(task, true);
showResult(result);

target.add(getFeedbackPanel());
}

private void testProvisioningPerformed(AjaxRequestTarget target) {
Task task = createSimpleTask(OPERATION_TEST_REPOSITORY);

Expand Down

0 comments on commit 5d53b91

Please sign in to comment.