http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/adf/src/main/java/org/apache/falcon/adfservice/TableFeed.java ---------------------------------------------------------------------- diff --git a/addons/adf/src/main/java/org/apache/falcon/adfservice/TableFeed.java b/addons/adf/src/main/java/org/apache/falcon/adfservice/TableFeed.java deleted file mode 100644 index a3e11ef..0000000 --- a/addons/adf/src/main/java/org/apache/falcon/adfservice/TableFeed.java +++ /dev/null @@ -1,125 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.falcon.adfservice; - -import org.apache.falcon.adfservice.util.FSUtils; -import org.apache.falcon.FalconException; - -import java.net.URISyntaxException; - -/** - * Table Feed. - */ -public class TableFeed extends Feed { - private static final String TABLE_FEED_TEMPLATE_FILE = "table-feed.xml"; - private static final String TABLE_PARTITION_SEPARATOR = "#"; - - private String tableName; - private String partitions; - - public TableFeed(final Builder builder) { - this.feedName = builder.tableFeedName; - this.clusterName = builder.feedClusterName; - this.frequency = builder.feedFrequency; - this.startTime = builder.feedStartTime; - this.endTime = builder.feedEndTime; - this.tableName = builder.feedTableName; - this.aclOwner = builder.feedAclOwner; - this.partitions = builder.feedPartitions; - } - - private String getTable() { - return tableName + TABLE_PARTITION_SEPARATOR + partitions; - } - - @Override - public String getEntityxml() throws FalconException { - try { - String template = FSUtils.readHDFSFile(ADFJob.TEMPLATE_PATH_PREFIX, TABLE_FEED_TEMPLATE_FILE); - return template.replace("$feedName$", feedName) - .replace("$frequency$", frequency) - .replace("$startTime$", startTime) - .replace("$endTime$", endTime) - .replace("$cluster$", clusterName) - .replace("$table$", getTable()) - .replace("$aclowner$", aclOwner); - } catch (URISyntaxException e) { - throw new FalconException("Error when generating entity xml for table feed", e); - } - } - - /** - * Builder for table Feed. - */ - public static class Builder { - private String tableFeedName; - private String feedClusterName; - private String feedFrequency; - private String feedStartTime; - private String feedEndTime; - private String feedTableName; - private String feedAclOwner; - private String feedPartitions; - - public TableFeed build() { - return new TableFeed(this); - } - - public Builder withFeedName(final String feedName) { - this.tableFeedName = feedName; - return this; - } - - public Builder withClusterName(final String clusterName) { - this.feedClusterName = clusterName; - return this; - } - - public Builder withFrequency(final String frequency) { - this.feedFrequency = frequency; - return this; - } - - public Builder withStartTime(final String startTime) { - this.feedStartTime = startTime; - return this; - } - - public Builder withEndTime(final String endTime) { - this.feedEndTime = endTime; - return this; - } - - public Builder withTableName(final String tableName) { - this.feedTableName = tableName; - return this; - } - - public Builder withAclOwner(final String aclOwner) { - this.feedAclOwner = aclOwner; - return this; - } - - public Builder withPartitions(final String partitions) { - this.feedPartitions = partitions; - return this; - } - } - -}
http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/adf/src/main/java/org/apache/falcon/adfservice/util/ADFJsonConstants.java ---------------------------------------------------------------------- diff --git a/addons/adf/src/main/java/org/apache/falcon/adfservice/util/ADFJsonConstants.java b/addons/adf/src/main/java/org/apache/falcon/adfservice/util/ADFJsonConstants.java deleted file mode 100644 index 9e48685..0000000 --- a/addons/adf/src/main/java/org/apache/falcon/adfservice/util/ADFJsonConstants.java +++ /dev/null @@ -1,73 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.falcon.adfservice.util; - -/** - * ADF JSON Constants in ADF request. - */ -public final class ADFJsonConstants { - - public static final String ADF_REQUEST_ACTIVITY = "activity"; - public static final String ADF_REQUEST_TRANSFORMATION = "transformation"; - public static final String ADF_REQUEST_TYPE = "type"; - public static final String ADF_REQUEST_JOBID = "jobId"; - public static final String ADF_REQUEST_START_TIME = "dataSliceStart"; - public static final String ADF_REQUEST_END_TIME = "dataSliceEnd"; - public static final String ADF_REQUEST_SCHEDULER = "scheduler"; - public static final String ADF_REQUEST_POLICY = "policy"; - public static final String ADF_REQUEST_TIMEOUT = "timeout"; - public static final String ADF_REQUEST_FREQUENCY = "frequency"; - public static final String ADF_REQUEST_INTERVAL = "interval"; - public static final String ADF_REQUEST_LINKED_SERVICES = "linkedServices"; - public static final String ADF_REQUEST_NAME = "name"; - public static final String ADF_REQUEST_INPUTS = "inputs"; - public static final String ADF_REQUEST_OUTPUTS = "outputs"; - public static final String ADF_REQUEST_TABLES = "tables"; - public static final String ADF_REQUEST_PROPERTIES = "properties"; - public static final String ADF_REQUEST_EXTENDED_PROPERTIES = "extendedProperties"; - public static final String ADF_REQUEST_CLUSTER_NAME = "clusterName"; - public static final String ADF_REQUEST_RUN_ON_BEHALF_USER = "runOnBehalf"; - public static final String ADF_REQUEST_LOCATION = "location"; - public static final String ADF_REQUEST_FOLDER_PATH = "folderPath"; - public static final String ADF_REQUEST_SCRIPT = "script"; - public static final String ADF_REQUEST_SCRIPT_PATH = "scriptPath"; - public static final String ADF_REQUEST_LINKED_SERVICE_NAME = "linkedServiceName"; - public static final String ADF_REQUEST_TABLE_NAME = "tableName"; - public static final String ADF_REQUEST_TABLE_PARTITION = "partitionedBy"; - public static final String ADF_REQUEST_LOCATION_TYPE_AZURE_BLOB = "AzureBlobLocation"; - public static final String ADF_REQUEST_CONNECTION_STRING = "connectionString"; - public static final String ADF_REQUEST_BLOB_ACCOUNT_NAME = "AccountName="; - - public static final String ADF_STATUS_PROTOCOL = "TransportProtocolVersion"; - public static final String ADF_STATUS_JOBID = "JobId"; - public static final String ADF_STATUS_STATUS = "Status"; - public static final String ADF_STATUS_PROGRESS = "Progress"; - public static final String ADF_STATUS_LOG_URL = "LogURL"; - public static final String ADF_STATUS_ERROR_TYPE = "ErrorType"; - public static final String ADF_STATUS_ERROR_MESSAGE = "ErrorMessage"; - public static final String ADF_STATUS_PROTOCOL_NAME = "2.0-preview"; - public static final String ADF_STATUS_ERROR_TYPE_VALUE = "UserError"; - public static final String ADF_STATUS_SUCCEEDED = "Succeeded"; - public static final String ADF_STATUS_FAILED = "Failed"; - public static final String ADF_STATUS_EXECUTING = "Executing"; - public static final String ADF_STATUS_CANCELED = "Canceled"; - - private ADFJsonConstants() { - } -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/adf/src/main/java/org/apache/falcon/adfservice/util/FSUtils.java ---------------------------------------------------------------------- diff --git a/addons/adf/src/main/java/org/apache/falcon/adfservice/util/FSUtils.java b/addons/adf/src/main/java/org/apache/falcon/adfservice/util/FSUtils.java deleted file mode 100644 index 58abfbf..0000000 --- a/addons/adf/src/main/java/org/apache/falcon/adfservice/util/FSUtils.java +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.falcon.adfservice.util; - -import org.apache.commons.io.IOUtils; -import org.apache.falcon.FalconException; -import org.apache.falcon.hadoop.HadoopClientFactory; -import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.fs.Path; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.net.URISyntaxException; - -/** - * Utility for file operations. - */ -public final class FSUtils { - private static final Logger LOG = LoggerFactory.getLogger(FSUtils.class); - private FSUtils() { - } - - public static String readHDFSFile(final String filePath, final String fileName) - throws URISyntaxException, FalconException { - BufferedReader br = null; - try { - Path path = new Path(filePath, fileName); - FileSystem fs = HadoopClientFactory.get().createProxiedFileSystem(path.toUri()); - br = new BufferedReader(new InputStreamReader(fs.open(path))); - StringBuilder fileContent = new StringBuilder(); - String line; - while (true) { - line = br.readLine(); - if (line == null) { - break; - } - fileContent.append(line); - } - return fileContent.toString(); - } catch (IOException e) { - throw new FalconException("Error reading file from hdfs: " + filePath + fileName + ": " + e.toString(), e); - } finally { - IOUtils.closeQuietly(br); - } - } - - public static String createFile(final Path path, - final String content) throws FalconException { - OutputStream out = null; - try { - FileSystem fs = HadoopClientFactory.get().createProxiedFileSystem(path.toUri()); - out = fs.create(path); - out.write(content.getBytes()); - } catch (IOException e) { - throw new FalconException("Error preparing script file: " + path, e); - } finally { - IOUtils.closeQuietly(out); - } - return path.toString(); - } - - public static void createDir(final Path dirPath) throws FalconException { - FileSystem fs = HadoopClientFactory.get().createProxiedFileSystem(dirPath.toUri()); - try { - if (!fs.exists(dirPath)) { - LOG.info("Creating directory: {}", dirPath); - HadoopClientFactory.mkdirsWithDefaultPerms(fs, dirPath); - } - } catch (IOException e) { - throw new FalconException("Error creating directory: " + dirPath, e); - } - } - - public static void removeDir(final Path dirPath) throws FalconException { - FileSystem fs = HadoopClientFactory.get().createProxiedFileSystem(dirPath.toUri()); - try { - fs.delete(dirPath, true); - } catch (IOException e) { - throw new FalconException("Error creating directory: " + dirPath, e); - } - } -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/actions/pom.xml ---------------------------------------------------------------------- diff --git a/addons/designer/actions/pom.xml b/addons/designer/actions/pom.xml deleted file mode 100644 index 64f5ee3..0000000 --- a/addons/designer/actions/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> - -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.falcon.designer</groupId> - <artifactId>designer-main</artifactId> - <version>0.6-SNAPSHOT</version> - </parent> - <artifactId>designer-action</artifactId> - <description>Apache Falcon Pipeline Designer - Action Module</description> - <name>Apache Falcon Designer Action</name> - <packaging>jar</packaging> - - <dependencies> - <dependency> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </dependency> - <dependency> - <groupId>org.apache.falcon.designer</groupId> - <artifactId>designer-core</artifactId> - </dependency> -</dependencies> - -</project> http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/actions/src/main/java/org/apache/falcon/designer/action/configuration/EmailActionConfiguration.java ---------------------------------------------------------------------- diff --git a/addons/designer/actions/src/main/java/org/apache/falcon/designer/action/configuration/EmailActionConfiguration.java b/addons/designer/actions/src/main/java/org/apache/falcon/designer/action/configuration/EmailActionConfiguration.java deleted file mode 100644 index fd37a49..0000000 --- a/addons/designer/actions/src/main/java/org/apache/falcon/designer/action/configuration/EmailActionConfiguration.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.falcon.designer.action.configuration; - -import org.apache.falcon.designer.configuration.ActionConfiguration; -/** - * Action object holding Email data. - */ -public class EmailActionConfiguration extends ActionConfiguration<EmailActionConfiguration> { - - private String to; - private String cc; - private String subject; - private String body; - - private static final String NAME = "Email"; - - public String getTo() { - return to; - } - - public void setTo(String to) { - this.to = to; - } - - public String getCc() { - return cc; - } - - public void setCc(String cc) { - this.cc = cc; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getBody() { - return body; - } - - public void setBody(String body) { - this.body = body; - } - - @Override - public String getName() { - return NAME; - } - - @Override - public Class<EmailActionConfiguration> getConfigClass() { - return EmailActionConfiguration.class; - } -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/actions/src/main/java/org/apache/falcon/designer/primitive/action/EmailAction.java ---------------------------------------------------------------------- diff --git a/addons/designer/actions/src/main/java/org/apache/falcon/designer/primitive/action/EmailAction.java b/addons/designer/actions/src/main/java/org/apache/falcon/designer/primitive/action/EmailAction.java deleted file mode 100644 index 1bd1197..0000000 --- a/addons/designer/actions/src/main/java/org/apache/falcon/designer/primitive/action/EmailAction.java +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.falcon.designer.primitive.action; - -import org.apache.falcon.designer.action.configuration.EmailActionConfiguration; -import org.apache.falcon.designer.primitive.Action; -import org.apache.falcon.designer.primitive.Code; -import org.apache.falcon.designer.primitive.Message; - -/** - * EmailAction Primitive containing implementation to compile. - */ -public class EmailAction extends Action<EmailAction, EmailActionConfiguration> { - - private String nameSpace; - private String entity; - - private EmailActionConfiguration emailConfig; - - public EmailAction(EmailActionConfiguration config , String nameSpace, String entity) { - this.emailConfig = config; - this.nameSpace = nameSpace; - this.entity = entity; - } - - @Override - public EmailActionConfiguration getConfiguration() { - return emailConfig; - } - - @Override - public void setConfiguration(EmailActionConfiguration config) { - this.emailConfig = config; - - } - - @Override - public boolean hasOutput() { - // TODO Auto-generated method stub - return false; - } - - @Override - protected EmailAction copy() { - // TODO Auto-generated method stub - return null; - } - - @Override - public Iterable<Message> validate() { - // TODO Auto-generated method stub - return null; - } - - @Override - protected Code doCompile() { - getConfiguration().getBody(); - return null; - } - - @Override - protected EmailAction doOptimize() { - // TODO Auto-generated method stub - return null; - } - - @Override - public String getNamespace() { - return nameSpace; - } - - @Override - public String getEntity() { - return entity; - } - -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/checkstyle/pom.xml ---------------------------------------------------------------------- diff --git a/addons/designer/checkstyle/pom.xml b/addons/designer/checkstyle/pom.xml deleted file mode 100644 index 5513685..0000000 --- a/addons/designer/checkstyle/pom.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> - -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>org.apache.falcon.designer</groupId> - <artifactId>checkstyle</artifactId> - <version>0.6-SNAPSHOT</version> - <name>Apache Falcon Pipeline Designer Checkstyle</name> -</project> http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/checkstyle/src/main/resources/falcon/checkstyle-java-header.txt ---------------------------------------------------------------------- diff --git a/addons/designer/checkstyle/src/main/resources/falcon/checkstyle-java-header.txt b/addons/designer/checkstyle/src/main/resources/falcon/checkstyle-java-header.txt deleted file mode 100644 index 5d5f1e3..0000000 --- a/addons/designer/checkstyle/src/main/resources/falcon/checkstyle-java-header.txt +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/checkstyle/src/main/resources/falcon/checkstyle-noframes.xsl ---------------------------------------------------------------------- diff --git a/addons/designer/checkstyle/src/main/resources/falcon/checkstyle-noframes.xsl b/addons/designer/checkstyle/src/main/resources/falcon/checkstyle-noframes.xsl deleted file mode 100644 index 6308ef8..0000000 --- a/addons/designer/checkstyle/src/main/resources/falcon/checkstyle-noframes.xsl +++ /dev/null @@ -1,218 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> - -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - - <xsl:output method="html" indent="yes"/> - <xsl:decimal-format decimal-separator="." grouping-separator=","/> - - <xsl:key name="files" match="file" use="@name"/> - - <!-- Checkstyle XML Style Sheet by Stephane Bailliez <[email protected]> --> - <!-- Part of the Checkstyle distribution found at http://checkstyle.sourceforge.net --> - <!-- Usage (generates checkstyle_report.html): --> - <!-- <checkstyle failonviolation="false" config="${check.config}"> --> - <!-- <fileset dir="${src.dir}" includes="**/*.java"/> --> - <!-- <formatter type="xml" toFile="${doc.dir}/checkstyle_report.xml"/> --> - <!-- </checkstyle> --> - <!-- <style basedir="${doc.dir}" destdir="${doc.dir}" --> - <!-- includes="checkstyle_report.xml" --> - <!-- style="${doc.dir}/checkstyle-noframes-sorted.xsl"/> --> - - <xsl:template match="checkstyle"> - <html> - <head> - <style type="text/css"> - .bannercell { - border: 0px; - padding: 0px; - } - body { - margin-left: 10; - margin-right: 10; - font:normal 80% arial,helvetica,sanserif; - background-color:#FFFFFF; - color:#000000; - } - .a td { - background: #efefef; - } - .b td { - background: #fff; - } - th, td { - text-align: left; - vertical-align: top; - } - th { - font-weight:bold; - background: #ccc; - color: black; - } - table, th, td { - font-size:100%; - border: none - } - table.log tr td, tr th { - - } - h2 { - font-weight:bold; - font-size:140%; - margin-bottom: 5; - } - h3 { - font-size:100%; - font-weight:bold; - background: #525D76; - color: white; - text-decoration: none; - padding: 5px; - margin-right: 2px; - margin-left: 2px; - margin-bottom: 0; - } - </style> - </head> - <body> - <a name="top"></a> - <!-- jakarta logo --> - <table border="0" cellpadding="0" cellspacing="0" width="100%"> - <tr> - <td class="bannercell" rowspan="2"> - <!--a href="http://jakarta.apache.org/"> - <img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/> - </a--> - </td> - <td class="text-align:right"> - <h2>CheckStyle Audit</h2> - </td> - </tr> - <tr> - <td class="text-align:right">Designed for use with - <a href='http://checkstyle.sourceforge.net/'>CheckStyle</a> - and<a href='http://jakarta.apache.org'>Ant</a>. - </td> - </tr> - </table> - <hr size="1"/> - - <!-- Summary part --> - <xsl:apply-templates select="." mode="summary"/> - <hr size="1" width="100%" align="left"/> - - <!-- Package List part --> - <xsl:apply-templates select="." mode="filelist"/> - <hr size="1" width="100%" align="left"/> - - <!-- For each package create its part --> - <xsl:apply-templates select="file[@name and generate-id(.) = generate-id(key('files', @name))]"/> - - <hr size="1" width="100%" align="left"/> - - - </body> - </html> - </xsl:template> - - - <xsl:template match="checkstyle" mode="filelist"> - <h3>Files</h3> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <tr> - <th>Name</th> - <th>Errors</th> - </tr> - <xsl:for-each select="file[@name and generate-id(.) = generate-id(key('files', @name))]"> - <xsl:sort data-type="number" order="descending" select="count(key('files', @name)/error)"/> - <xsl:variable name="errorCount" select="count(error)"/> - <tr> - <xsl:call-template name="alternated-row"/> - <td> - <a href="#f-{@name}"> - <xsl:value-of select="@name"/> - </a> - </td> - <td> - <xsl:value-of select="$errorCount"/> - </td> - </tr> - </xsl:for-each> - </table> - </xsl:template> - - - <xsl:template match="file"> - <a name="f-{@name}"></a> - <h3>File - <xsl:value-of select="@name"/> - </h3> - - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <tr> - <th>Error Description</th> - <th>Line</th> - </tr> - <xsl:for-each select="key('files', @name)/error"> - <xsl:sort data-type="number" order="ascending" select="@line"/> - <tr> - <xsl:call-template name="alternated-row"/> - <td> - <xsl:value-of select="@message"/> - </td> - <td> - <xsl:value-of select="@line"/> - </td> - </tr> - </xsl:for-each> - </table> - <a href="#top">Back to top</a> - </xsl:template> - - - <xsl:template match="checkstyle" mode="summary"> - <h3>Summary</h3> - <xsl:variable name="fileCount" - select="count(file[@name and generate-id(.) = generate-id(key('files', @name))])"/> - <xsl:variable name="errorCount" select="count(file/error)"/> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <tr> - <th>Files</th> - <th>Errors</th> - </tr> - <tr> - <xsl:call-template name="alternated-row"/> - <td> - <xsl:value-of select="$fileCount"/> - </td> - <td> - <xsl:value-of select="$errorCount"/> - </td> - </tr> - </table> - </xsl:template> - - <xsl:template name="alternated-row"> - <xsl:attribute name="class"> - <xsl:if test="position() mod 2 = 1">a</xsl:if> - <xsl:if test="position() mod 2 = 0">b</xsl:if> - </xsl:attribute> - </xsl:template> -</xsl:stylesheet> - - http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/checkstyle/src/main/resources/falcon/checkstyle.xml ---------------------------------------------------------------------- diff --git a/addons/designer/checkstyle/src/main/resources/falcon/checkstyle.xml b/addons/designer/checkstyle/src/main/resources/falcon/checkstyle.xml deleted file mode 100644 index 9e18299..0000000 --- a/addons/designer/checkstyle/src/main/resources/falcon/checkstyle.xml +++ /dev/null @@ -1,233 +0,0 @@ -<?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> - -<!DOCTYPE module PUBLIC - "-//Puppy Crawl//DTD Check Configuration 1.2//EN" - "http://www.puppycrawl.com/dtds/configuration_1_2.dtd"> - -<!-- - - Checkstyle configuration for Falcon that is based on the sun_checks.xml file - that is bundled with Checkstyle and includes checks for: - - - the Java Language Specification at - http://java.sun.com/docs/books/jls/second_edition/html/index.html - - - the Sun Code Conventions at http://java.sun.com/docs/codeconv/ - - - the Javadoc guidelines at - http://java.sun.com/j2se/javadoc/writingdoccomments/index.html - - - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html - - - some best practices - - Checkstyle is very configurable. Be sure to read the documentation at - http://checkstyle.sf.net (or in your downloaded distribution). - - Most Checks are configurable, be sure to consult the documentation. - - To completely disable a check, just comment it out or delete it from the file. - - Finally, it is worth reading the documentation. - ---> - -<module name="Checker"> - - <!-- Checks that a package.html file exists for each package. --> - <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml --> - <!-- module name="PackageHtml"/ --> - - <!-- Checks whether files end with a new line. --> - <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile --> - <module name="NewlineAtEndOfFile"/> - - <!-- Checks for Headers --> - <!-- See http://checkstyle.sf.net/config_header.html --> - <module name="Header"> - <property name="headerFile" value="checkstyle/src/main/resources/falcon/checkstyle-java-header.txt"/> - </module> - - <module name="FileLength"/> - <module name="FileTabCharacter"/> - - <module name="TreeWalker"> - <!-- Checks for Javadoc comments. --> - <!-- See http://checkstyle.sf.net/config_javadoc.html --> - <module name="JavadocType"> - <property name="scope" value="public"/> - <property name="allowMissingParamTags" value="true"/> - </module> - <module name="JavadocStyle"/> - - <module name="SuperClone"/> - <module name="SuperFinalize"/> - - <!-- Checks for Naming Conventions. --> - <!-- See http://checkstyle.sf.net/config_naming.html --> - <module name="ConstantName"/> - <module name="ClassTypeParameterName"> - <property name="format" value="^[A-Z]+$"/> - </module> - <module name="LocalFinalVariableName"> - <!--<property name="format" value="^[A-Z][_A-Z0-9]*$"/>--> - </module> - <module name="LocalVariableName"/> - <module name="MemberName"/> - <module name="MethodName"/> - <module name="MethodTypeParameterName"> - <property name="format" value="^[A-Z]+$"/> - </module> - <module name="PackageName"/> - <module name="ParameterName"/> - <module name="StaticVariableName"/> - <module name="TypeName"/> - - <!-- Checks for imports --> - <!-- See http://checkstyle.sf.net/config_import.html --> - <module name="IllegalImport"/> - <!-- defaults to sun.* packages --> - <module name="RedundantImport"/> - <module name="UnusedImports"/> - - - <!-- Checks for Size Violations. --> - <!-- See http://checkstyle.sf.net/config_sizes.html --> - <module name="LineLength"> - <property name="max" value="120"/> - </module> - <module name="MethodLength"/> - <module name="ParameterNumber"/> - <module name="OuterTypeNumber"/> - - <!-- Checks for whitespace --> - <!-- See http://checkstyle.sf.net/config_whitespace.html --> - <module name="GenericWhitespace"/> - <module name="EmptyForIteratorPad"/> - <module name="MethodParamPad"/> - <module name="WhitespaceAround"> - <property name="tokens" value="LITERAL_IF"/> - </module> - <module name="NoWhitespaceAfter"> - <property name="tokens" - value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/> - </module> - <module name="NoWhitespaceBefore"/> - <module name="OperatorWrap"/> - <module name="ParenPad"/> - <module name="TypecastParenPad"/> - <module name="WhitespaceAfter"> - <property name="tokens" value="COMMA, SEMI"/> - </module> - - <module name="Regexp"> - <property name="format" value="[ \t]+$"/> - <property name="illegalPattern" value="true"/> - <property name="message" value="Trailing whitespace"/> - </module> - - <!-- Modifier Checks --> - <!-- See http://checkstyle.sf.net/config_modifiers.html --> - <module name="ModifierOrder"/> - <module name="RedundantModifier"/> - - - <!-- Checks for blocks. You know, those {}'s --> - <!-- See http://checkstyle.sf.net/config_blocks.html --> - <module name="AvoidNestedBlocks"/> - <module name="EmptyBlock"> - <!-- catch blocks need a statement or a comment. --> - <property name="option" value="text"/> - <property name="tokens" value="LITERAL_CATCH"/> - </module> - <module name="EmptyBlock"> - <!-- all other blocks need a real statement. --> - <property name="option" value="stmt"/> - <property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, - LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, INSTANCE_INIT, - STATIC_INIT"/> - </module> - <module name="LeftCurly"/> - <module name="NeedBraces"/> - <module name="RightCurly"/> - - - <!-- Checks for common coding problems --> - <!-- See http://checkstyle.sf.net/config_coding.html --> - <!-- module name="AvoidInlineConditionals"/--> - <module name="DoubleCheckedLocking"/> - <module name="EmptyStatement"/> - <module name="EqualsHashCode"/> - <module name="StringLiteralEquality"/> - <module name="HiddenField"> - <property name="ignoreConstructorParameter" value="true"/> - <property name="ignoreAbstractMethods" value="true"/> - <property name="ignoreSetter" value="true"/> - </module> - <module name="IllegalInstantiation"/> - <module name="InnerAssignment"/> - <module name="MissingSwitchDefault"/> - <module name="RedundantThrows"/> - <module name="SimplifyBooleanExpression"/> - <module name="SimplifyBooleanReturn"/> - <module name="DefaultComesLast"/> - - <!-- Checks for class design --> - <!-- See http://checkstyle.sf.net/config_design.html --> - <module name="FinalClass"/> - <module name="HideUtilityClassConstructor"/> - <module name="InterfaceIsType"/> - <module name="VisibilityModifier"> - <property name="protectedAllowed" value="true"/> - </module> - <module name="MissingOverride"/> - - - <!-- Miscellaneous other checks. --> - <!-- See http://checkstyle.sf.net/config_misc.html --> - <module name="ArrayTypeStyle"/> - <module name="ArrayTrailingComma"/> - <!-- - This generates too many false-positives on wrapped 'throws' clauses - to be really useful. Disabled for now. - - Falcon style is: - * Spaces, not tabs. - * Indent by four spaces. - * Indent by four spaces when wrapping a line. - --> - <module name="Indentation"> - <property name="basicOffset" value="4"/> - <property name="caseIndent" value="0"/> - </module> - <module name="TodoComment"/> - <module name="UpperEll"/> - - <module name="FileContentsHolder"/> - </module> - - <!-- allow warnings to be suppressed --> - <module name="SuppressionCommentFilter"> - <property name="offCommentFormat" value="SUSPEND CHECKSTYLE CHECK ParameterNumberCheck|VisibilityModifierCheck|HiddenFieldCheck|MethodName"/> - <property name="onCommentFormat" value="RESUME CHECKSTYLE CHECK ParameterNumberCheck|VisibilityModifierCheck|HiddenFieldCheck|MethodName"/> - <property name="checkFormat" value="ParameterNumberCheck|VisibilityModifierCheck|HiddenFieldCheck|MethodName"/> - </module> - -</module> http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/checkstyle/src/main/resources/falcon/findbugs-exclude.xml ---------------------------------------------------------------------- diff --git a/addons/designer/checkstyle/src/main/resources/falcon/findbugs-exclude.xml b/addons/designer/checkstyle/src/main/resources/falcon/findbugs-exclude.xml deleted file mode 100644 index 0a7580d..0000000 --- a/addons/designer/checkstyle/src/main/resources/falcon/findbugs-exclude.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<FindBugsFilter> - <!-- These are generated by xjc compiler and hence excluded. --> - <Match> - <Or> - <Class name="~org.apache.falcon.entity.v0.feed.Validity" /> - <Class name="~org.apache.falcon.entity.v0.process.Validity" /> - </Or> - </Match> - - <!-- - Disable encoding as this might give an impression that Falcon code base is - "Internationalization" ready, but we haven't done anything consciously to guarantee that. - --> - <Match> - <Bug pattern="DM_DEFAULT_ENCODING" /> - </Match> -</FindBugsFilter> http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/common/pom.xml ---------------------------------------------------------------------- diff --git a/addons/designer/common/pom.xml b/addons/designer/common/pom.xml deleted file mode 100644 index d59a376..0000000 --- a/addons/designer/common/pom.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> - -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.falcon.designer</groupId> - <artifactId>designer-main</artifactId> - <version>0.6-SNAPSHOT</version> - </parent> - <artifactId>designer-common</artifactId> - <description>Apache Falcon Pipeline Designer - Common Module</description> - <name>Apache Falcon Designer Common</name> - <packaging>jar</packaging> - - <dependencies> - <dependency> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </dependency> - </dependencies> - -</project> http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/pom.xml ---------------------------------------------------------------------- diff --git a/addons/designer/core/pom.xml b/addons/designer/core/pom.xml deleted file mode 100644 index 9833de0..0000000 --- a/addons/designer/core/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> - -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.falcon.designer</groupId> - <artifactId>designer-main</artifactId> - <version>0.6-SNAPSHOT</version> - </parent> - <artifactId>designer-core</artifactId> - <description>Apache Falcon Pipeline Designer - Core Module</description> - <name>Apache Falcon Designer Core</name> - <packaging>jar</packaging> - - <dependencies> - <dependency> - <groupId>org.apache.falcon</groupId> - <artifactId>falcon-client</artifactId> - </dependency> - - <dependency> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </dependency> - - <dependency> - <groupId>net.sourceforge.findbugs</groupId> - <artifactId>jsr305</artifactId> - </dependency> - - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - </dependency> - <dependency> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-common</artifactId> - </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-hdfs</artifactId> - </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-hdfs</artifactId> - <scope>test</scope> - <classifier>tests</classifier> - </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-common</artifactId> - <scope>test</scope> - <classifier>tests</classifier> - </dependency> - </dependencies> - -</project> http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/ActionConfiguration.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/ActionConfiguration.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/ActionConfiguration.java deleted file mode 100644 index 884f459..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/ActionConfiguration.java +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.falcon.designer.configuration; - -/** - * Abstract ActionConfiguration extending Configuration. - */ -public abstract class ActionConfiguration<A extends ActionConfiguration> extends Configuration<A> { - - private static final String CATEGORY = "ACTION"; - - @Override - public String getCategory() { - return CATEGORY; - } - -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/Configuration.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/Configuration.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/Configuration.java deleted file mode 100644 index 30c0314..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/Configuration.java +++ /dev/null @@ -1,81 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.falcon.designer.configuration; - -import java.io.IOException; -import org.codehaus.jackson.JsonGenerationException; -import org.codehaus.jackson.JsonParseException; -import org.codehaus.jackson.map.JsonMappingException; -import org.codehaus.jackson.map.ObjectMapper; - -/** - * This is the configuration that primitives will use to configure their - * instance. - */ -public abstract class Configuration<T extends Configuration> { - private static final ObjectMapper MAPPER = new ObjectMapper(); - - public abstract String getName(); - - public abstract String getCategory(); - - /** - * Serialize it from a action type to string type. - * @param act - * actual Action Configuration data - * @return - */ - public String serialize() throws SerdeException { - String returnJsonString; - try { - returnJsonString = MAPPER.writeValueAsString(this); - } catch (JsonGenerationException e) { - throw new SerdeException("Failed serializing object ", e); - } catch (JsonMappingException e) { - throw new SerdeException("Failed serializing object ", e); - } catch (IOException e) { - throw new SerdeException("Failed serializing object ", e); - } - return returnJsonString; - } - - /** - * Deserialize from string to object of Action type. - * @param actString - * actual Data - * @return - */ - public T deserialize(String actString) throws SerdeException { - T returnEmailAction; - try { - returnEmailAction = MAPPER.readValue(actString, getConfigClass()); - } catch (JsonParseException e) { - throw new SerdeException("Failed deserialize string " + actString, - e); - } catch (JsonMappingException e) { - throw new SerdeException("Failed deserialize string " + actString, - e); - } catch (IOException e) { - throw new SerdeException("Failed deserialize string " + actString, - e); - } - return returnEmailAction; - } - - public abstract Class<T> getConfigClass(); -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/FlowConfig.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/FlowConfig.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/FlowConfig.java deleted file mode 100644 index ba7d074..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/FlowConfig.java +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.falcon.designer.configuration; - -/** - * Flow data. More parameters would need to be added. - */ -public class FlowConfig extends Configuration<FlowConfig> { - - private String namespace; - private String entity; - private String name; - private static final String CATEGORY = "FLOW"; - - public FlowConfig(String namespace, String entity, String name) { - this.namespace = namespace; - this.entity = entity; - this.name = name; - - } - - @Override - public String getCategory() { - return CATEGORY; - } - - @Override - public String getName() { - return name; - } - - public String getNamespace() { - return namespace; - } - - public void setNamespace(String namespace) { - this.namespace = namespace; - } - - public String getEntity() { - return entity; - } - - public void setEntity(String entity) { - this.entity = entity; - } - - @Override - public Class<FlowConfig> getConfigClass() { - return FlowConfig.class; - } - -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/SerdeException.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/SerdeException.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/SerdeException.java deleted file mode 100644 index 107180c..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/SerdeException.java +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.falcon.designer.configuration; - -/** - * Checked Exception that is thrown on serialization/deserialization of a config - * object failure. - */ -public class SerdeException extends Exception { - /** - * Constructs a default exception with no cause or message. - */ - public SerdeException() { - super(); - } - - /** - * Constructs an exception with a specific message. - * @param message - * - Message on the exception - */ - public SerdeException(String message) { - super(message); - } - - /** - * Constructs an exception with a specific message and cause. - * @param message - * - Message on the exception - * @param cause - * - Underlying exception that resulted in this being thrown - */ - public SerdeException(String message, Throwable cause) { - super(message, cause); - } - - /** - * Constructs an exception with a cause and message is initialized to be - * same as that of the cause. - * @param cause - * - Underlying exception that resulted in this being thrown - */ - public SerdeException(Throwable cause) { - super(cause); - } -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/TransformConfiguration.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/TransformConfiguration.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/TransformConfiguration.java deleted file mode 100644 index 6e0fedb..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/configuration/TransformConfiguration.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.falcon.designer.configuration; - -/** - * Concrete implementation of Transform Configuration. - */ -public abstract class TransformConfiguration<A extends TransformConfiguration> extends Configuration<A> { - - - private static final String CATEGORY = "TRANSFORM"; - - @Override - public String getCategory() { - return CATEGORY; - } - -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Action.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Action.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Action.java deleted file mode 100644 index e16c013..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Action.java +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.falcon.designer.primitive; - -import org.apache.commons.lang.NotImplementedException; -import org.apache.falcon.designer.configuration.ActionConfiguration; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -import java.net.URI; -import java.util.Map; - -/** - * Actions are components of flows. They encapsulate an atomic - * execution unit in a flow. If an action is dependent on another - * action, then the action wont be started unless the preceding - * action is entirely complete. - * - * Few examples of Actions are - * 1. SSH Action, which executes a shell command on a remote host - * 2. Data Transform Action, which executes a collection of data transformation - * as a single logical unit - * - * There are no restrictions imposed on an Action with respect to the input - * or the output such as in a Transformation. - */ -public abstract class Action<A extends Action, B extends ActionConfiguration> extends Primitive<A, B> { - - protected static final String TYPE="ACTION"; - - @Nonnull - public String getType() { - return TYPE; - } - - /** - * Indicates whether this action has any output or not. If this function - * returns true, then {@link Action#outputKeys()} and {@link Action#outputFile()} ()} - * needs to be implemented by the concrete class. - * - * @return - True if the action has output that any downstream control or action - * can consume, false otherwise. - */ - public abstract boolean hasOutput(); - - /** - * Are the keys that the action chooses to expose to the external world that - * can either be used to manage the flow control or be used as an input in a subsequent - * action within the context of a flow. Each key that may be output by this - * action would have to declared along with its return type {@link java.sql.Types}. - * - * If an action output key isn't white listed through this with a specific type, - * then default type is assumed {@link java.sql.Types#VARCHAR}. All output keys - * are nullable. If null the flow control can assume default values (which may vary - * depending on the data type. For ex: VARCHAR(""), NUMERIC(0), DATETIME(CURRENTTIME)) - * - * @return - Output key name and its corresponding data type. If the output key - * doesn't conform to this data type, the flow may fail at runtime or may safely assume - * default value. The behavior is left to the implementation of the flow compiler - * and scheduler. - */ - @Nullable - public Map<String, Integer> outputKeys() { - if (hasOutput()) { - throw new NotImplementedException(getClass() + "::outputKeys()"); - } else { - return null; - } - } - - /** - * Returns a file name as URI that can be mapped to generic hadoop file system - * implementation. - * - * @return - Fully qualified file name uri as understood by the hadoop file system. - */ - @Nullable - public URI outputFile() { - if (hasOutput()) { - throw new NotImplementedException(getClass() + "::outputFile()"); - } else { - return null; - } - } -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Code.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Code.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Code.java deleted file mode 100644 index 35eeeb1..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Code.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.falcon.designer.primitive; - -/** - * For now a simple marker interface for holding source code - * corresponding to a primitive. - */ -public interface Code { - //TODO Details to be figured out as go along. -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/CompilationException.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/CompilationException.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/CompilationException.java deleted file mode 100644 index 603225b..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/CompilationException.java +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.falcon.designer.primitive; - -import java.util.Iterator; - -/** - * Checked excpetion that is thrown when there are one more - * issues with the primitive that is being compiled. - */ -public class CompilationException extends Exception implements Iterable<Message> { - - private final String detailedMessage; - - private final Iterable<Message> messages; - /** - * Construct default CompilationException with the messages (that - * may typically be returned by the validation phase). - * - * @param validationMessages - Iterable messages. - */ - public CompilationException(Iterable<Message> validationMessages) { - StringBuilder buffer = new StringBuilder(); - for (Message message : validationMessages) { - if (buffer.length() > 0) { - buffer.append('\n'); - } - buffer.append(message); - } - detailedMessage = buffer.toString(); - messages = validationMessages; - } - - @Override - public String getMessage() { - return detailedMessage; - } - - - @Override - public Iterator<Message> iterator() { - return messages.iterator(); - } -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Message.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Message.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Message.java deleted file mode 100644 index e5a68a8..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Message.java +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.falcon.designer.primitive; - -/** - * Messages are pieces of information that may be surfaced to the caller - * by any of the operation on the primitives. For ex. Compilation on the - * transformation or flow may return some messages, some of which may be - * serious errors or warnings. - */ -public class Message { - - /** - * Message type that each message is associated with. - */ - public enum Type {ERROR, WARNING, INFORMATION} - - private final Type type; - private final String message; - private Object context; - - public Message(Type messageType, String messageText) { - this.type = messageType; - this.message = messageText; - } - - public Type getType() { - return type; - } - - public String getMessage() { - return message; - } - - public Object getContext() { - return context; - } - - public void setContext(Object context) { - this.context = context; - } - - @Override - public String toString() { - return "Message{" - + "type=" + type - + ", message='" + message + '\'' - + ", context=" + context - + '}'; - } -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Primitive.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Primitive.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Primitive.java deleted file mode 100644 index aa825a9..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Primitive.java +++ /dev/null @@ -1,159 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.falcon.designer.primitive; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import org.apache.falcon.designer.configuration.Configuration; -import org.apache.falcon.designer.configuration.SerdeException; -import org.apache.falcon.designer.storage.Storage; -import org.apache.falcon.designer.storage.StorageException; -import org.apache.falcon.designer.storage.Storeable; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -/** - * All elements of the pipeline are essentially a primitive. These primitives - * only have life during the pipeline design time. - */ -public abstract class Primitive<T extends Primitive, V extends Configuration> - implements Storeable { - - public abstract void setConfiguration(V config); - - protected abstract T copy(); - - @Nonnull - public abstract V getConfiguration(); - - /** - * Perform a validation to see if the primitive configuration is consistent - * with this primitive. - * @return - Messages that need to be sent as feedback from the validation. - * As long as one of the messages returned has a message type. - * Returns null if there are no messages to return from the - * validation. {@link Message.Type} is {@link Message.Type#ERROR}, - * the primitive cannot be compiled successfully. - */ - @Nullable - public abstract Iterable<Message> validate(); - - /** - * Compile the primitive and generate corresponding binary/source code The - * compile method fails if there are one or more {@link Message.Type#ERROR} - * messages from the validation phase. - * @return - Code object generated for the primitive. - * @throws CompilationException - * - Compilation issues as returned by validate (if any of the - * {@link Message} is of type {@link Message.Type#ERROR} - */ - @Nonnull - public Code compile() throws CompilationException { - Iterable<Message> validationMessages = validate(); - boolean error = false; - if (validationMessages != null) { - for (Message message : validationMessages) { - if (message.getType() == Message.Type.ERROR) { - error = true; - break; - } - } - } - if (error) { - throw new CompilationException(validationMessages); - } else { - T optimized = optimize(); - return optimized.doCompile(); - } - } - - /** - * This method is invoked only when the primitive is confirmed to be valid. - * This would generate binary or source code for this primitive and its - * configuration. - * @return - Code object generated by the primitive. - */ - @Nonnull - protected abstract Code doCompile(); - - /** - * This method is invoked only when the primitive is confirmed to be valid. - * This would operate on the current instance and return back an optimized - * version of the same type. - * @return - Optimized object of the same type. - */ - @Nonnull - @SuppressWarnings("unchecked") - public T optimize() { - T copy = copy(); - return (T) copy.doOptimize(); - } - - protected abstract T doOptimize(); - - public abstract String getNamespace(); - - public abstract String getEntity(); - - @Override - public void store(Storage storage) throws StorageException { - try { - - BufferedWriter bufferedWriterInst = - new BufferedWriter(new OutputStreamWriter(storage.create( - getNamespace(), getEntity()))); - String serializedResource = - getConfiguration().serialize(); - bufferedWriterInst.write(serializedResource); - bufferedWriterInst.close(); - } catch (IOException e) { - throw new StorageException(e.getMessage()); - } catch (SerdeException e) { - throw new StorageException(e.getMessage()); - } - - } - - @Override - public void restore(Storage storage) throws StorageException { - try { - BufferedReader bufferedReaderInst = - new BufferedReader(new InputStreamReader(storage.open( - getNamespace(), getEntity()))); - String configInString = bufferedReaderInst.readLine(); - setConfiguration((V)getConfiguration().deserialize(configInString)); - bufferedReaderInst.close(); - } catch (IOException e) { - throw new StorageException(e.getMessage()); - } catch (SerdeException e) { - throw new StorageException(e.getMessage()); - } - - } - - @Override - public void delete(Storage storage) throws StorageException { - storage.delete(getNamespace(), getEntity()); - setConfiguration(null); - } - -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Transform.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Transform.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Transform.java deleted file mode 100644 index b2d4396..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/primitive/Transform.java +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.falcon.designer.primitive; - -import org.apache.falcon.designer.configuration.TransformConfiguration; -import org.apache.falcon.designer.schema.RelationalData; - -import javax.annotation.Nonnull; - -import java.util.Collections; -import java.util.List; - -/** - * Transform is a foundational primitive in Falcon designer. All well - * understood data transformations are to be implemented as a Transform. - * - * A transform would typically consume one or more data inputs conforming - * to a schema and would produce one or more output typically with an uniform schema. - * - */ -public abstract class Transform extends Primitive<Transform , TransformConfiguration> { - - protected List<RelationalData> inputData; - protected List<RelationalData> outputData; - - /** Empty constructor to be used only for deserialization - * and cloning. Not otherwise. - */ - protected Transform() { - } - - /** - * Setter typically used for deserialization & cloning. - * - * @param inputData - List of input data - */ - protected void setInputData(@Nonnull List<RelationalData> inputData) { - this.inputData = inputData; - } - - /** - * Setter typically used for deserialization & cloning. - * - * @param outputData - List of output data - */ - protected void setOutputData(@Nonnull List<RelationalData> outputData) { - this.outputData = outputData; - } - - /** - * Each Transform by default requires one or more input data sets - * and produces a single output data set. - * - * @param inData - List of input data sets for this transform - * @param outData - List of Output data produced by this transform - */ - protected Transform(@Nonnull List<RelationalData> inData, @Nonnull List<RelationalData> outData) { - inputData = Collections.unmodifiableList(inData); - outputData = Collections.unmodifiableList(outData); - } - - @Nonnull - public List<RelationalData> getInputData() { - return inputData; - } - - @Nonnull - public List<RelationalData> getOutputData() { - return outputData; - } - -} http://git-wip-us.apache.org/repos/asf/falcon/blob/6f5b476c/addons/designer/core/src/main/java/org/apache/falcon/designer/schema/RelationalData.java ---------------------------------------------------------------------- diff --git a/addons/designer/core/src/main/java/org/apache/falcon/designer/schema/RelationalData.java b/addons/designer/core/src/main/java/org/apache/falcon/designer/schema/RelationalData.java deleted file mode 100644 index d930e40..0000000 --- a/addons/designer/core/src/main/java/org/apache/falcon/designer/schema/RelationalData.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.falcon.designer.schema; - -import org.apache.falcon.designer.source.DataSource; -import org.apache.falcon.designer.storage.Storage; -import org.apache.falcon.designer.storage.StorageException; -import org.apache.falcon.designer.storage.Storeable; - -import javax.annotation.Nonnull; - -/** - * Relational Data marker for now. - */ -public class RelationalData implements Storeable { - - //TODO To work out details as we go along. - - public RelationalData(RelationalSchema relationalSchema, DataSource dataSource) { - - } - - @Override - public void store(@Nonnull Storage storage) throws StorageException { - //TODO - } - - @Override - public void restore(@Nonnull Storage storage) throws StorageException { - //TODO - } - - @Override - public void delete(@Nonnull Storage storage) throws StorageException { - //TODO - } -}
