Repository: syncope Updated Branches: refs/heads/master 2d036afe2 -> 3082eb0d6
bugfix in schema output and refactoring, SYNCOPE-158 Project: http://git-wip-us.apache.org/repos/asf/syncope/repo Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/3082eb0d Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/3082eb0d Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/3082eb0d Branch: refs/heads/master Commit: 3082eb0d6728681d6a5f8dc86d343cebd65aa3be Parents: 2d036af Author: massi <[email protected]> Authored: Tue Nov 3 16:52:42 2015 +0100 Committer: massi <[email protected]> Committed: Tue Nov 3 16:52:42 2015 +0100 ---------------------------------------------------------------------- .../cli/commands/policy/PolicyCommand.java | 6 +- .../cli/commands/policy/PolicyDetails.java | 8 +-- .../client/cli/commands/policy/PolicyList.java | 7 +- .../commands/policy/PolicyResultManager.java | 3 +- .../policy/PolicySyncopeOperations.java | 4 +- .../commands/report/ReportExportExecution.java | 30 +-------- .../cli/commands/report/ReportListJobs.java | 2 +- .../report/ReportSyncopeOperations.java | 35 ++++++++-- .../cli/commands/schema/SchemaDelete.java | 2 +- .../client/cli/commands/schema/SchemaList.java | 17 +---- .../cli/commands/schema/SchemaListAll.java | 16 +---- .../cli/commands/schema/SchemaListPlain.java | 2 +- .../client/cli/commands/schema/SchemaRead.java | 17 +---- .../commands/schema/SchemaResultManager.java | 68 +++++++++++--------- .../schema/SchemaSyncopeOperations.java | 12 ++-- .../commands/self/WorkflowExportDefinition.java | 5 +- .../commands/self/WorkflowExportDiagram.java | 3 +- .../self/WorkflowSyncopeOperations.java | 8 +-- .../client/cli/commands/task/TaskCommand.java | 8 +-- .../client/cli/commands/task/TaskDetails.java | 11 ++-- .../client/cli/commands/task/TaskList.java | 7 +- .../cli/commands/task/TaskResultManager.java | 4 +- .../commands/task/TaskSyncopeOperations.java | 4 +- 23 files changed, 124 insertions(+), 155 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyCommand.java index 6c11f02..6403049 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyCommand.java @@ -32,7 +32,7 @@ public class PolicyCommand extends AbstractCommand { + " Options:\n" + " --help \n" + " --details \n" - + " --list-policy \n" + + " --list \n" + " Syntax: --list-policy {POLICY-TYPE} \n" + " Policy type: ACCOUNT / PASSWORD / SYNC / PUSH\n" + " --read \n" @@ -50,7 +50,7 @@ public class PolicyCommand extends AbstractCommand { case DETAILS: new PolicyDetails(input).details(); break; - case LIST_POLICY: + case LIST: new PolicyList(input).list(); break; case READ: @@ -76,7 +76,7 @@ public class PolicyCommand extends AbstractCommand { HELP("--help"), DETAILS("--details"), - LIST_POLICY("--list-policy"), + LIST("--list"), READ("--read"), DELETE("--delete"); http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDetails.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDetails.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDetails.java index bb4fdb6..077ab45 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDetails.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyDetails.java @@ -41,10 +41,10 @@ public class PolicyDetails extends AbstractPolicyCommand { if (input.parameterNumber() == 0) { try { final Map<String, String> details = new LinkedMap<>(); - final int accountPolicySize = policySyncopeOperations.list(PolicyType.ACCOUNT).size(); - final int passwordPolicySize = policySyncopeOperations.list(PolicyType.PASSWORD).size(); - final int syncPolicySize = policySyncopeOperations.list(PolicyType.SYNC).size(); - final int pushPolicySize = policySyncopeOperations.list(PolicyType.PUSH).size(); + final int accountPolicySize = policySyncopeOperations.list(PolicyType.ACCOUNT.name()).size(); + final int passwordPolicySize = policySyncopeOperations.list(PolicyType.PASSWORD.name()).size(); + final int syncPolicySize = policySyncopeOperations.list(PolicyType.SYNC.name()).size(); + final int pushPolicySize = policySyncopeOperations.list(PolicyType.PUSH.name()).size(); details.put("total number", String.valueOf(accountPolicySize + passwordPolicySize + syncPolicySize http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyList.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyList.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyList.java index 9720abf..95a7d98 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyList.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyList.java @@ -31,7 +31,7 @@ public class PolicyList extends AbstractPolicyCommand { private static final Logger LOG = LoggerFactory.getLogger(PolicyList.class); - private static final String LIST_HELP_MESSAGE = "policy --list-policy {POLICY-TYPE}\n" + private static final String LIST_HELP_MESSAGE = "policy --list {POLICY-TYPE}\n" + " Policy type: ACCOUNT / PASSWORD / SYNC / PUSH"; private final Input input; @@ -43,12 +43,11 @@ public class PolicyList extends AbstractPolicyCommand { public void list() { if (input.parameterNumber() == 1) { try { - final PolicyType policyType = PolicyType.valueOf(input.firstParameter()); final LinkedList<AbstractPolicyTO> policyTOs = new LinkedList<>(); - for (final AbstractPolicyTO policyTO : policySyncopeOperations.list(policyType)) { + for (final AbstractPolicyTO policyTO : policySyncopeOperations.list(input.firstParameter())) { policyTOs.add(policyTO); } - policyResultManager.printPoliciesByType(policyType, policyTOs); + policyResultManager.printPoliciesByType(input.firstParameter(), policyTOs); } catch (final SyncopeClientException ex) { LOG.error("Error listing policy", ex); policyResultManager.genericError(ex.getMessage()); http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyResultManager.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyResultManager.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyResultManager.java index 16995a6..acd7eb3 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyResultManager.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyResultManager.java @@ -55,8 +55,9 @@ public class PolicyResultManager extends CommonsResultManager { } - public void printPoliciesByType(final PolicyType policyType, final LinkedList<AbstractPolicyTO> policyTOs) { + public void printPoliciesByType(final String policyTypeString, final LinkedList<AbstractPolicyTO> policyTOs) { System.out.println(""); + final PolicyType policyType = PolicyType.valueOf(policyTypeString); switch (policyType) { case ACCOUNT: for (final AbstractPolicyTO policyTO : policyTOs) { http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicySyncopeOperations.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicySyncopeOperations.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicySyncopeOperations.java index 7c478f8..e2d4070 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicySyncopeOperations.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicySyncopeOperations.java @@ -32,8 +32,8 @@ public class PolicySyncopeOperations { return policyService.read(Long.valueOf(policyId)); } - public <T extends AbstractPolicyTO> List<T> list(final PolicyType policyType) { - return policyService.list(policyType); + public <T extends AbstractPolicyTO> List<T> list(final String policyType) { + return policyService.list(PolicyType.valueOf(policyType)); } public void delete(final String policyId) { http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportExportExecution.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportExportExecution.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportExportExecution.java index eadcbbc..0dd7fb8 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportExportExecution.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportExportExecution.java @@ -19,14 +19,12 @@ package org.apache.syncope.client.cli.commands.report; import java.io.IOException; -import java.io.SequenceInputStream; import java.util.Arrays; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.ws.WebServiceException; import org.apache.syncope.client.cli.Input; import org.apache.syncope.client.cli.util.CommandUtils; -import org.apache.syncope.client.cli.util.XMLUtils; import org.apache.syncope.common.lib.SyncopeClientException; import org.apache.syncope.common.lib.types.ReportExecExportFormat; import org.slf4j.Logger; @@ -52,31 +50,9 @@ public class ReportExportExecution extends AbstractReportCommand { final String[] parameters = Arrays.copyOf(input.getParameters(), input.parameterNumber() - 1); for (final String parameter : parameters) { try { - final ReportExecExportFormat format = ReportExecExportFormat.valueOf(input.lastParameter()); - final SequenceInputStream report = (SequenceInputStream) reportSyncopeOperations. - exportExecutionResult(parameter, format).getEntity(); - switch (format) { - case XML: - final String xmlFinalName = "export_" + parameter + ".xml"; - XMLUtils.createXMLFile(report, xmlFinalName); - reportResultManager.genericMessage(xmlFinalName + " successfully created"); - break; - case CSV: - reportResultManager.genericError(format + " doesn't supported"); - break; - case PDF: - reportResultManager.genericError(format + " doesn't supported"); - break; - case HTML: - reportResultManager.genericError(format + " doesn't supported"); - break; - case RTF: - reportResultManager.genericError(format + " doesn't supported"); - break; - default: - reportResultManager.genericError(format + " doesn't supported"); - break; - } + final String result = reportSyncopeOperations.exportExecutionResult( + parameter, input.lastParameter()); + reportResultManager.genericMessage(result); } catch (final WebServiceException | SyncopeClientException ex) { LOG.error("Error exporting execution", ex); if (ex.getMessage().startsWith("NotFound")) { http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportListJobs.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportListJobs.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportListJobs.java index d9ce475..ff743dc 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportListJobs.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportListJobs.java @@ -40,7 +40,7 @@ public class ReportListJobs extends AbstractReportCommand { if (input.parameterNumber() == 0) { try { for (final JobStatusType jobStatusType : JobStatusType.values()) { - reportResultManager.printReportExecution(reportSyncopeOperations.listJobs(jobStatusType)); + reportResultManager.printReportExecution(reportSyncopeOperations.listJobs(jobStatusType.name())); } } catch (final SyncopeClientException ex) { LOG.error("Error listing report", ex); http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportSyncopeOperations.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportSyncopeOperations.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportSyncopeOperations.java index 1cf4514..a02ae76 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportSyncopeOperations.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportSyncopeOperations.java @@ -18,14 +18,19 @@ */ package org.apache.syncope.client.cli.commands.report; +import java.io.IOException; +import java.io.SequenceInputStream; import java.util.List; -import javax.ws.rs.core.Response; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; import org.apache.syncope.client.cli.SyncopeServices; +import org.apache.syncope.client.cli.util.XMLUtils; import org.apache.syncope.common.lib.to.ReportExecTO; import org.apache.syncope.common.lib.to.ReportTO; import org.apache.syncope.common.lib.types.JobStatusType; import org.apache.syncope.common.lib.types.ReportExecExportFormat; import org.apache.syncope.common.rest.api.service.ReportService; +import org.xml.sax.SAXException; public class ReportSyncopeOperations { @@ -39,16 +44,36 @@ public class ReportSyncopeOperations { return reportService.read(Long.valueOf(reportId)); } - public List<ReportExecTO> listJobs(final JobStatusType jobStatusType) { - return reportService.listJobs(jobStatusType); + public List<ReportExecTO> listJobs(final String jobStatusType) { + return reportService.listJobs(JobStatusType.valueOf(jobStatusType)); } public List<ReportTO> list() { return reportService.list(); } - public Response exportExecutionResult(final String executionKey, final ReportExecExportFormat fmt) { - return reportService.exportExecutionResult(Long.valueOf(executionKey), fmt); + public String exportExecutionResult(final String executionKey, final String reportExecExportFormat) + throws TransformerException, SAXException, IOException, ParserConfigurationException { + final ReportExecExportFormat format = ReportExecExportFormat.valueOf(reportExecExportFormat); + final SequenceInputStream report = (SequenceInputStream) reportService.exportExecutionResult(Long.valueOf( + executionKey), format).getEntity(); + final String xmlFinalName = "export_" + executionKey + ".xml"; + switch (format) { + case XML: + XMLUtils.createXMLFile(report, xmlFinalName); + break; + case CSV: + return format + " doesn't supported"; + case PDF: + return format + " doesn't supported"; + case HTML: + return format + " doesn't supported"; + case RTF: + return format + " doesn't supported"; + default: + return format + " doesn't supported"; + } + return xmlFinalName; } public void execute(final String reportId) { http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaDelete.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaDelete.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaDelete.java index 5b33f93..beae088 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaDelete.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaDelete.java @@ -45,7 +45,7 @@ public class SchemaDelete extends AbstractSchemaCommand { final String[] parameters = Arrays.copyOfRange(input.getParameters(), 1, input.parameterNumber()); try { for (final String parameter : parameters) { - schemaSyncopeOperations.delete(SchemaType.valueOf(input.firstParameter()), parameter); + schemaSyncopeOperations.delete(input.firstParameter(), parameter); schemaResultManager.deletedMessage("Schema", parameter); } } catch (final SyncopeClientException | WebServiceException ex) { http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaList.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaList.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaList.java index 3b2bc83..5615b50 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaList.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaList.java @@ -43,24 +43,11 @@ public class SchemaList extends AbstractSchemaCommand { public void list() { if (input.parameterNumber() == 1) { try { - final SchemaType schemaType = SchemaType.valueOf(input.firstParameter()); final LinkedList<AbstractSchemaTO> schemaTOs = new LinkedList<>(); - for (final AbstractSchemaTO schemaTO : schemaSyncopeOperations.list(schemaType)) { + for (final AbstractSchemaTO schemaTO : schemaSyncopeOperations.list(input.firstParameter())) { schemaTOs.add(schemaTO); } - switch (schemaType) { - case PLAIN: - schemaResultManager.printSchemas(schemaTOs); - break; - case DERIVED: - schemaResultManager.fromListDerived(schemaTOs); - break; - case VIRTUAL: - schemaResultManager.fromListVirtual(schemaTOs); - break; - default: - break; - } + schemaResultManager.toView(input.firstParameter(), schemaTOs); } catch (final SyncopeClientException ex) { LOG.error("Error listing schema", ex); schemaResultManager.genericError(ex.getMessage()); http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaListAll.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaListAll.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaListAll.java index 490eab0..fb03347 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaListAll.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaListAll.java @@ -44,22 +44,10 @@ public class SchemaListAll extends AbstractSchemaCommand { try { for (final SchemaType schemaType : SchemaType.values()) { final LinkedList<AbstractSchemaTO> schemaTOs = new LinkedList<>(); - for (final AbstractSchemaTO schemaTO : schemaSyncopeOperations.list(schemaType)) { + for (final AbstractSchemaTO schemaTO : schemaSyncopeOperations.list(schemaType.name())) { schemaTOs.add(schemaTO); } - switch (schemaType) { - case PLAIN: - schemaResultManager.printSchemas(schemaTOs); - break; - case DERIVED: - schemaResultManager.fromListDerived(schemaTOs); - break; - case VIRTUAL: - schemaResultManager.fromListVirtual(schemaTOs); - break; - default: - break; - } + schemaResultManager.toView(schemaType.name(), schemaTOs); } } catch (final SyncopeClientException | WebServiceException ex) { LOG.error("Error listing schema", ex); http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaListPlain.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaListPlain.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaListPlain.java index cbb6f77..5b18219 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaListPlain.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaListPlain.java @@ -45,7 +45,7 @@ public class SchemaListPlain extends AbstractSchemaCommand { for (final AbstractSchemaTO schemaTO : schemaSyncopeOperations.listPlain()) { schemaTOs.add(schemaTO); } - schemaResultManager.printSchemas(schemaTOs); + schemaResultManager.printPlainSchemas(schemaTOs); } catch (final SyncopeClientException | WebServiceException ex) { LOG.error("Error listing schema", ex); schemaResultManager.genericError(ex.getMessage()); http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaRead.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaRead.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaRead.java index 599148e..0459cac 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaRead.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaRead.java @@ -46,24 +46,11 @@ public class SchemaRead extends AbstractSchemaCommand { if (input.parameterNumber() >= 2) { final String[] parameters = Arrays.copyOfRange(input.getParameters(), 1, input.parameterNumber()); try { - final SchemaType schemaType = SchemaType.valueOf(input.firstParameter()); final LinkedList<AbstractSchemaTO> schemaTOs = new LinkedList<>(); for (final String parameter : parameters) { - schemaTOs.add(schemaSyncopeOperations.read(schemaType, parameter)); - } - switch (schemaType) { - case PLAIN: - schemaResultManager.printSchemasWithDetails(schemaTOs); - break; - case DERIVED: - schemaResultManager.fromListDerived(schemaTOs); - break; - case VIRTUAL: - schemaResultManager.fromListVirtual(schemaTOs); - break; - default: - break; + schemaTOs.add(schemaSyncopeOperations.read(input.firstParameter(), parameter)); } + schemaResultManager.toView(input.firstParameter(), schemaTOs); } catch (final SyncopeClientException | WebServiceException ex) { LOG.error("Error reading schema", ex); if (ex.getMessage().startsWith("NotFound")) { http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaResultManager.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaResultManager.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaResultManager.java index 2ff8712..7dbdfd8 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaResultManager.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaResultManager.java @@ -27,48 +27,54 @@ import org.apache.syncope.common.lib.to.AbstractSchemaTO; import org.apache.syncope.common.lib.to.DerSchemaTO; import org.apache.syncope.common.lib.to.PlainSchemaTO; import org.apache.syncope.common.lib.to.VirSchemaTO; +import org.apache.syncope.common.lib.types.SchemaType; public class SchemaResultManager extends CommonsResultManager { - public void printSchemas(final LinkedList<? extends AbstractSchemaTO> schemaTOs) { - final Table.TableBuilder tableBuilder - = new Table.TableBuilder("plain schemas").header("schema key").header("type").header("mandatory"); + public void toView(final String schemaTypeString, final LinkedList<? extends AbstractSchemaTO> schemaTOs) { + switch (SchemaType.valueOf(schemaTypeString)) { + case PLAIN: + printPlainSchemasDetailed(schemaTOs); + break; + case DERIVED: + fromListDerived(schemaTOs); + break; + case VIRTUAL: + fromListVirtual(schemaTOs); + break; + default: + break; + } + } + + private void printPlainSchemasDetailed(final LinkedList<? extends AbstractSchemaTO> schemaTOs) { + System.out.println(""); for (final AbstractSchemaTO schemaTO : schemaTOs) { - tableBuilder.rowValues(new LinkedList(Arrays.asList( - ((PlainSchemaTO) schemaTO).getKey(), - ((PlainSchemaTO) schemaTO).getType().toString(), - ((PlainSchemaTO) schemaTO).getMandatoryCondition()))); + printPlanSchemaDetailed((PlainSchemaTO) schemaTO); } - tableBuilder.build().print(); } - public void printSchemasWithDetails(final LinkedList<? extends AbstractSchemaTO> schemaTOs) { + private void printPlanSchemaDetailed(final PlainSchemaTO schemaTO) { + System.out.println(" > SCHEMA ID: " + schemaTO.getKey()); + System.out.println(" type: " + schemaTO.getType().toString()); + System.out.println(" any type class: " + schemaTO.getAnyTypeClass()); + System.out.println(" conversion pattern: " + schemaTO.getConversionPattern()); + System.out.println(" mandatory condition: " + schemaTO.getMandatoryCondition()); + System.out.println(" mime type: " + schemaTO.getMimeType()); + System.out.println(" validator class: " + schemaTO.getValidatorClass()); + System.out.println(" chiper algorithm: " + (schemaTO.getCipherAlgorithm() == null + ? "" : schemaTO.getCipherAlgorithm().getAlgorithm())); + System.out.println(""); + } + + public void printPlainSchemas(final LinkedList<? extends AbstractSchemaTO> schemaTOs) { final Table.TableBuilder tableBuilder - = new Table.TableBuilder("plain schema details ") - .header("schema key") - .header("type class") - .header("pattern") - .header("enum keys") - .header("enum values") - .header("mandatory condition") - .header("mime type") - .header("secret key") - .header("class validator") - .header("chiper") - .header("type"); + = new Table.TableBuilder("plain schemas").header("schema key").header("type").header("mandatory"); for (final AbstractSchemaTO schemaTO : schemaTOs) { tableBuilder.rowValues(new LinkedList(Arrays.asList( ((PlainSchemaTO) schemaTO).getKey(), - ((PlainSchemaTO) schemaTO).getAnyTypeClass(), - ((PlainSchemaTO) schemaTO).getConversionPattern(), - ((PlainSchemaTO) schemaTO).getEnumerationKeys(), - ((PlainSchemaTO) schemaTO).getEnumerationValues(), - ((PlainSchemaTO) schemaTO).getMandatoryCondition(), - ((PlainSchemaTO) schemaTO).getMimeType(), - ((PlainSchemaTO) schemaTO).getSecretKey(), - ((PlainSchemaTO) schemaTO).getValidatorClass(), - ((PlainSchemaTO) schemaTO).getCipherAlgorithm(), - ((PlainSchemaTO) schemaTO).getType().toString()))); + ((PlainSchemaTO) schemaTO).getType().toString(), + ((PlainSchemaTO) schemaTO).getMandatoryCondition()))); } tableBuilder.build().print(); } http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java index c5e8097..757e2d6 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java @@ -28,12 +28,12 @@ public class SchemaSyncopeOperations { private final SchemaService schemaService = SyncopeServices.get(SchemaService.class); - public <T extends AbstractSchemaTO> T read(final SchemaType schemaType, final String schemaName) { - return schemaService.read(schemaType, schemaName); + public <T extends AbstractSchemaTO> T read(final String schemaTypeString, final String schemaName) { + return schemaService.read(SchemaType.valueOf(schemaTypeString), schemaName); } - public <T extends AbstractSchemaTO> List<T> list(final SchemaType schemaType) { - return schemaService.list(schemaType, null); + public <T extends AbstractSchemaTO> List<T> list(final String schemaTypeString) { + return schemaService.list(SchemaType.valueOf(schemaTypeString), null); } public <T extends AbstractSchemaTO> List<T> listVirtual() { @@ -48,7 +48,7 @@ public class SchemaSyncopeOperations { return schemaService.list(SchemaType.DERIVED, null); } - public void delete(final SchemaType schemaType, final String schemaName) { - schemaService.delete(schemaType, schemaName); + public void delete(final String schemaTypeString, final String schemaName) { + schemaService.delete(SchemaType.valueOf(schemaTypeString), schemaName); } } http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowExportDefinition.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowExportDefinition.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowExportDefinition.java index 25d326a..2b09a92 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowExportDefinition.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowExportDefinition.java @@ -18,6 +18,7 @@ */ package org.apache.syncope.client.cli.commands.self; +import javax.ws.rs.core.Response; import javax.xml.ws.WebServiceException; import org.apache.syncope.client.cli.Input; import org.apache.syncope.client.cli.util.CommandUtils; @@ -41,8 +42,8 @@ public class WorkflowExportDefinition extends AbstractWorkflowCommand { public void export() { if (input.parameterNumber() == 1) { try { - final AnyTypeKind anyTypeKind = AnyTypeKind.valueOf(input.firstParameter()); - System.out.println(" > > > > " + workflowSyncopeOperations.exportDefinition(anyTypeKind).getEntity()); + + final Response response = workflowSyncopeOperations.exportDefinition(input.firstParameter()); } catch (final SyncopeClientException | WebServiceException ex) { LOG.error("Error", ex); if (ex.getMessage().startsWith("NotFound")) { http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowExportDiagram.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowExportDiagram.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowExportDiagram.java index abc4c61..7d98d70 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowExportDiagram.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowExportDiagram.java @@ -42,8 +42,7 @@ public class WorkflowExportDiagram extends AbstractWorkflowCommand { public void export() { if (input.parameterNumber() == 1) { try { - final AnyTypeKind anyTypeKind = AnyTypeKind.valueOf(input.firstParameter()); - final Response response = workflowSyncopeOperations.exportDiagram(anyTypeKind); + final Response response = workflowSyncopeOperations.exportDiagram(input.firstParameter()); final byte[] diagram = IOUtils.readBytesFromStream((InputStream) response.getEntity()); final FileOutputStream fos = new FileOutputStream("/tmp/diagram.png"); fos.write(diagram); http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowSyncopeOperations.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowSyncopeOperations.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowSyncopeOperations.java index 173db43..6d0f3b2 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowSyncopeOperations.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowSyncopeOperations.java @@ -29,12 +29,12 @@ public class WorkflowSyncopeOperations { private final WorkflowService workflowService = SyncopeServices.get(WorkflowService.class); - public Response exportDiagram(final AnyTypeKind anyTypeKind) { + public Response exportDiagram(final String anyTypeKindString) { WebClient.client(workflowService).accept(RESTHeaders.MEDIATYPE_IMAGE_PNG); - return workflowService.exportDiagram(anyTypeKind); + return workflowService.exportDiagram(AnyTypeKind.valueOf(anyTypeKindString)); } - public Response exportDefinition(final AnyTypeKind anyTypeKind) { - return workflowService.exportDefinition(anyTypeKind); + public Response exportDefinition(final String anyTypeKindString) { + return workflowService.exportDefinition(AnyTypeKind.valueOf(anyTypeKindString)); } } http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskCommand.java index bf76ff0..6794667 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskCommand.java @@ -32,8 +32,8 @@ public class TaskCommand extends AbstractCommand { + " Options:\n" + " --help \n" + " --details\n" - + " --list-task \n" - + " Syntax: --list-task {TASK-TYPE} \n" + + " --list\n" + + " Syntax: --list {TASK-TYPE} \n" + " Task type: NOTIFICATION / PROPAGATION / PUSH / SCHEDULED / SYNCHRONIZATION\n" + " --list-running-jobs \n" + " --list-scheduled-jobs \n" @@ -59,7 +59,7 @@ public class TaskCommand extends AbstractCommand { case DETAILS: new TaskDetails(input).details(); break; - case LIST_TASK: + case LIST: new TaskList(input).list(); break; case LIST_RUNNING_JOBS: @@ -100,7 +100,7 @@ public class TaskCommand extends AbstractCommand { HELP("--help"), DETAILS("--details"), - LIST_TASK("--list-task"), + LIST("--list"), LIST_RUNNING_JOBS("--list-running-jobs"), LIST_SCHEDULED_JOBS("--list-scheduled-jobs"), READ("--read"), http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskDetails.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskDetails.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskDetails.java index e4a325e..0e12590 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskDetails.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskDetails.java @@ -51,11 +51,12 @@ public class TaskDetails extends AbstractTaskCommand { if (input.parameterNumber() == 0) { try { final Map<String, String> details = new LinkedMap<>(); - final List<AbstractTaskTO> notificationTaskTOs = taskSyncopeOperations.list(TaskType.NOTIFICATION); - final List<AbstractTaskTO> propagationTaskTOs = taskSyncopeOperations.list(TaskType.PROPAGATION); - final List<AbstractTaskTO> pushTaskTOs = taskSyncopeOperations.list(TaskType.PUSH); - final List<AbstractTaskTO> scheduledTaskTOs = taskSyncopeOperations.list(TaskType.SCHEDULED); - final List<AbstractTaskTO> syncTaskTOs = taskSyncopeOperations.list(TaskType.SYNCHRONIZATION); + final List<AbstractTaskTO> notificationTaskTOs + = taskSyncopeOperations.list(TaskType.NOTIFICATION.name()); + final List<AbstractTaskTO> propagationTaskTOs = taskSyncopeOperations.list(TaskType.PROPAGATION.name()); + final List<AbstractTaskTO> pushTaskTOs = taskSyncopeOperations.list(TaskType.PUSH.name()); + final List<AbstractTaskTO> scheduledTaskTOs = taskSyncopeOperations.list(TaskType.SCHEDULED.name()); + final List<AbstractTaskTO> syncTaskTOs = taskSyncopeOperations.list(TaskType.SYNCHRONIZATION.name()); final List<TaskExecTO> runningTOs = taskSyncopeOperations.listRunningJobs(); final List<TaskExecTO> scheduledTOs = taskSyncopeOperations.listScheduledJobs(); final int notificationTaskSize = notificationTaskTOs.size(); http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskList.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskList.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskList.java index 699b287..02a22b0 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskList.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskList.java @@ -31,7 +31,7 @@ public class TaskList extends AbstractTaskCommand { private static final Logger LOG = LoggerFactory.getLogger(TaskList.class); - private static final String LIST_HELP_MESSAGE = "task --list-task {TASK-TYPE}\n" + private static final String LIST_HELP_MESSAGE = "task --list {TASK-TYPE}\n" + " Task type: NOTIFICATION / PROPAGATION / PUSH / SCHEDULED / SYNCHRONIZATION"; private final Input input; @@ -43,12 +43,11 @@ public class TaskList extends AbstractTaskCommand { public void list() { if (input.parameterNumber() == 1) { try { - final TaskType taskType = TaskType.valueOf(input.firstParameter()); final LinkedList<AbstractTaskTO> taskTOs = new LinkedList<>(); - for (final AbstractTaskTO taskTO : taskSyncopeOperations.list(taskType)) { + for (final AbstractTaskTO taskTO : taskSyncopeOperations.list(input.firstParameter())) { taskTOs.add(taskTO); } - taskResultManager.printTasksType(taskType, taskTOs); + taskResultManager.printTasksType(input.firstParameter(), taskTOs); } catch (final SyncopeClientException ex) { LOG.error("Error listing task", ex); taskResultManager.genericError(ex.getMessage()); http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskResultManager.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskResultManager.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskResultManager.java index 6ca0c6c..2441864 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskResultManager.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskResultManager.java @@ -51,9 +51,9 @@ public class TaskResultManager extends CommonsResultManager { } } - public void printTasksType(final TaskType taskType, final LinkedList<AbstractTaskTO> taskTOs) { + public void printTasksType(final String taskTypeString, final LinkedList<AbstractTaskTO> taskTOs) { System.out.println(""); - switch (taskType) { + switch (TaskType.valueOf(taskTypeString)) { case NOTIFICATION: for (final AbstractTaskTO taskTO : taskTOs) { printNotificationTask(((NotificationTaskTO) taskTO)); http://git-wip-us.apache.org/repos/asf/syncope/blob/3082eb0d/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskSyncopeOperations.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskSyncopeOperations.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskSyncopeOperations.java index 756efa6..cecb2b8 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskSyncopeOperations.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskSyncopeOperations.java @@ -47,8 +47,8 @@ public class TaskSyncopeOperations { taskService.read(Long.valueOf(taskId)); } - public List<AbstractTaskTO> list(final TaskType type) { - return taskService.list(type, new TaskQuery()).getResult(); + public List<AbstractTaskTO> list(final String type) { + return taskService.list(TaskType.valueOf(type), new TaskQuery()).getResult(); } public TaskExecTO readExecution(final String executionId) {
