http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/ClerezzaApp.java ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/ClerezzaApp.java b/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/ClerezzaApp.java deleted file mode 100644 index cbe8636..0000000 --- a/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/ClerezzaApp.java +++ /dev/null @@ -1,479 +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.clerezza.platform.launcher; - -import java.io.IOException; -import java.io.PrintWriter; -import java.security.AllPermission; -import java.security.PermissionCollection; -import java.security.Permissions; -import java.security.Policy; -import java.security.ProtectionDomain; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Properties; -import java.util.Set; -import java.util.TreeSet; -import org.apache.felix.framework.Felix; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; -import org.osgi.framework.BundleException; -import org.osgi.framework.FrameworkEvent; -import org.osgi.framework.ServiceReference; -import org.osgi.service.startlevel.StartLevel; -import org.wymiwyg.commons.util.arguments.AnnotatedInterfaceArguments; -import org.wymiwyg.commons.util.arguments.ArgumentHandler; -import org.wymiwyg.commons.util.arguments.ArgumentProcessor; -import org.wymiwyg.commons.util.arguments.InvalidArgumentsException; -import org.wymiwyg.commons.util.dirbrowser.PathNameFilter; -import org.wymiwyg.commons.util.dirbrowser.PathNode; -import org.wymiwyg.commons.util.dirbrowser.PathNodeFactory; - -/** - * Clerezza Launcher Application. - * - * - * @author daniel, reto - */ -public class ClerezzaApp { - - private Felix felixInstance = null; - private int exitCode = -1; - private List<ShutdownListener> shutdownListeners = - new ArrayList<ShutdownListener>(1); - - /** - * Install bundles after core framework launch. - * - * @param context the bundle context. - * @param artDescs the bundles to install. - * @param nextLevel the start level to change to after the installation. - * - * @return the installed bundles. - * - */ - static Set<Bundle> installBundles(BundleContext context, - Collection<MavenArtifactDesc> artDescs, - int nextLevel) throws IOException, BundleException { - - Set<Bundle> installedBundles = new HashSet<Bundle>(); - for (MavenArtifactDesc artDesc : artDescs) { - try { - final Bundle installedBundle = context.installBundle(artDesc.toString(), artDesc.getInputStream()); - installedBundles.add(installedBundle); - } catch (BundleException e) { - System.out.println(e.toString()); - } - } - - ServiceReference startLevelRef = - context.getServiceReference(StartLevel.class.getName()); - StartLevel startLevel = (StartLevel) context.getService(startLevelRef); - for (Bundle bundle : installedBundles) { - startLevel.setBundleStartLevel(bundle, nextLevel); - } - return installedBundles; - } - - /** - * Set Clerezza Instance system exit code. - * - * @param code the code to set. - */ - public void setExitCode(int code) { - exitCode = code; - } - - /** - * Get Clerezza Instance system exit code. - * - * @return the exit code. - */ - public int getExitCode() { - return exitCode; - } - - /** - * Add a shutdown listener. - * - * @param shutdownListener the shutdown listener. - */ - public void addShutdownListener(ShutdownListener shutdownListener) { - shutdownListeners.add(shutdownListener); - } - - /** - * Remove a shutdown Listener. - * - * @param shutdownListener the shutdown listener. - */ - public void removeShutdownListener(ShutdownListener shutdownListener) { - shutdownListeners.remove(shutdownListener); - } - - /** - * Start this Clerezza Instance. - * - * Starts the Felix framework and installs CLerezza Bundles. - * - * This method exits after installing all bundles. - * It does not wait for the bundle installations to complete. - * - * @param args Command line arguments. - */ - public void start(String... args) throws Throwable { - LauncherArguments arguments; - try { - final ArgumentHandler argumentHandler = new ArgumentHandler(args); - arguments = argumentHandler.getInstance(LauncherArguments.class); - argumentHandler.processArguments(new ArgumentProcessor() { - - @Override - public void process(List<String> remaining) throws InvalidArgumentsException { - if (remaining.size() > 0) { - throw new InvalidArgumentsException("The following arguments could not be understood: " + remaining); - } - } - }); - } catch (InvalidArgumentsException e) { - System.out.println(e.getMessage()); - showUsage(); - return; - } - if (arguments.getHelp()) { - showUsage(); - return; - } - start(arguments); - } - - private void start(LauncherArguments arguments) throws Throwable { - Properties configProps = getConfigProps(arguments); - Policy.setPolicy(new Policy() { - - @Override - public PermissionCollection getPermissions(ProtectionDomain domain) { - PermissionCollection result = new Permissions(); - result.add(new AllPermission()); - return result; - } - }); - System.setSecurityManager(new SecurityManager()); - felixInstance = new Felix(configProps); - System.out.println("starting felix"); - felixInstance.start(); - final String revertParam = arguments.getRevertParam(); - final PathNode bundlesRoot = PathNodeFactory.getPathNode(Main.class.getResource("/bundles")); - final BundleContext bundleContext = felixInstance.getBundleContext(); - installBundlesForStartLevels(bundleContext, bundlesRoot, revertParam); - } - - /** - * Stop this Clerezza instance. - * - * This method does not wait for the shutdown to complete before it exits. - */ - public void stop() throws Throwable { - if (felixInstance != null) { - felixInstance.stop(); - } - } - - /** - * Wait for this Clerezza instance to shut down. - * - * After shut down all shutdown listeners are notified. - */ - public void waitForStop() throws Throwable { - FrameworkEvent event = null; - try { - if (felixInstance != null) { - event = felixInstance.waitForStop(0); - } - setExitCode(0); - } catch (Throwable t) { - setExitCode(-1); - event = new FrameworkEvent(FrameworkEvent.ERROR, null, t); - throw t; - } finally { - notifyShutdownListeners(event); - } - } - - private void notifyShutdownListeners(FrameworkEvent event) { - for (ShutdownListener shutdownListener : shutdownListeners) { - shutdownListener.notify(event); - } - } - - private void installBundlesForStartLevels(final BundleContext bundleContext, - final PathNode bundlesRoot, final String revertParam) throws IOException, BundleException { - final String startlevelpathprefix = "startlevel-"; - final String[] startLevelePaths = bundlesRoot.list(new PathNameFilter() { - - @Override - public boolean accept(PathNode dir, String name) { - return name.startsWith(startlevelpathprefix); - } - }); - Arrays.sort(startLevelePaths); - final Bundle[] installedBundles = bundleContext.getBundles(); - final Set<Bundle> newlyInstalledBundles = new HashSet<Bundle>(); - byte startLevel = 0; - for (String startLevelPath : startLevelePaths) { - startLevel = Byte.parseByte( - startLevelPath.substring(startlevelpathprefix.length(), - startLevelPath.length() - 1)); - final PathNode startLevelPathNode = bundlesRoot.getSubPath(startLevelPath); - Set<MavenArtifactDesc> artDescs = getArtDescsFrom(startLevelPathNode); - if (revertParam != null) { - artDescs = getRevertArtifacts(revertParam, artDescs, installedBundles); - } - if (!alreadyInstalled(artDescs, installedBundles) || revertParam != null) { - newlyInstalledBundles.addAll(installBundles(bundleContext, new TreeSet(artDescs), startLevel)); - System.out.println("level " + startLevel + " bundles installed"); - } - } - - for (Bundle bundle : newlyInstalledBundles) { - try { - bundle.start(); - } catch (BundleException e) { - System.out.println("Exception installing Bundle " + bundle + ": " + e.toString()); - } - } - - ServiceReference startLevelRef = - bundleContext.getServiceReference(StartLevel.class.getName()); - StartLevel startLevelService = (StartLevel) bundleContext.getService(startLevelRef); - startLevelService.setInitialBundleStartLevel(startLevel + 1); - startLevelService.setStartLevel(startLevel + 20); - } - - private Set<MavenArtifactDesc> getArtDescsFrom(PathNode pathNode) { - Set<MavenArtifactDesc> result = new HashSet<MavenArtifactDesc>(); - List<PathNode> jarPaths = getJarPaths(pathNode); - for (PathNode jarPath : jarPaths) { - result.add(MavenArtifactDesc.parseFromPath(jarPath)); - } - - return result; - } - - private List<PathNode> getJarPaths(PathNode pathNode) { - List<PathNode> result = new ArrayList<PathNode>(); - for (String childName : pathNode.list()) { - PathNode childNode = pathNode.getSubPath(childName); - if ((!childNode.isDirectory()) && (childName.endsWith(".jar"))) { - result.add(childNode); - } else { - for (PathNode subPath : getJarPaths(childNode)) { - result.add(subPath); - } - } - } - return result; - } - - /** - * Returns true if a bundle is found, whose location starts with a short URI - * ("mvn:[groupId]/[artifactId]") of a Maven Artifact specified. - * - * Returns false iff none of the specified Maven Artifacts is installed. - * - * @param artDescs MavenArtifacts to be checked if a corresponding bundle is - * already installed - * @param installedBundles Bundles installed in the framework - * @return - */ - private boolean alreadyInstalled(Set<MavenArtifactDesc> artDescs, - Bundle[] installedBundles) { - for (int i = 0; i < installedBundles.length; i++) { - String bundleLocation = installedBundles[i].getLocation(); - for (Iterator<MavenArtifactDesc> it = artDescs.iterator(); it.hasNext();) { - MavenArtifactDesc mavenArtifactDesc = it.next(); - if (bundleLocation.matches(mavenArtifactDesc.getShortUri() + "/.*[0-9].*")) { - return true; - } - } - } - return false; - } - - /** - * Returns the Maven Artifacts that have to be reverted to default. - * If the revertParam equals "all", then all platform bundles already installed - * are uninstalled and the returned <code>Set</code> contains all - * Maven Artifacts. - * If the revertParam is a regular expression, then the returned <code>Set</code> - * contains all Maven Artifacts, whose short URI matches the expression. If - * a corresponding bundle is installed, then it is uninstalled. - * If the revertParam equals "missing" then the returned <code>Set</code> - * contains all Maven Artifacts that are not installed. - * @param revertParam - * @param artDescs - * @param installedBundles - * @return - * @throws org.osgi.framework.BundleException - */ - private Set<MavenArtifactDesc> getRevertArtifacts(String revertParam, - Set<MavenArtifactDesc> artDescs, - Bundle[] installedBundles) throws BundleException { - boolean installMissing = revertParam.toLowerCase().equals("missing"); - if (revertParam.equals("all")) { - revertParam = ".*"; - } - Set<MavenArtifactDesc> artsToBeInstalled = new HashSet<MavenArtifactDesc>(); - for (Iterator<MavenArtifactDesc> it = artDescs.iterator(); it.hasNext();) { - MavenArtifactDesc mavenArtifactDesc = it.next(); - boolean isInstalled = false; - if (mavenArtifactDesc.getShortUri().matches(revertParam) || installMissing) { - for (int i = 0; i < installedBundles.length; i++) { - Bundle bundle = installedBundles[i]; - if (bundle.getLocation().matches(mavenArtifactDesc.getShortUri() + "/.*[0-9].*")) { - if (installMissing) { - isInstalled = true; - } else { - bundle.uninstall(); - } - } - } - if (!installMissing || (installMissing && !isInstalled)) { - artsToBeInstalled.add(mavenArtifactDesc); - } - } - } - return artsToBeInstalled; - } - - /** - * Prints usage instructions to stdout - */ - public static void showUsage() { - System.out.print("Usage: LaunchBundle "); - System.out.println(AnnotatedInterfaceArguments.getArgumentsSyntax(LauncherArguments.class)); - PrintWriter out = new PrintWriter(System.out, true); - AnnotatedInterfaceArguments.printArgumentDescriptions( - LauncherArguments.class, out); - out.flush(); - } - - - private Properties getConfigProps(LauncherArguments arguments) { - - Properties configProps = new Properties(); - - configProps.putAll(System.getProperties()); - //ignored as we're setting the starlevel manually to last used start-level + 20 - //configProps.put("org.osgi.framework.startlevel.beginning", "20"); - { - if (arguments.getNotConsoleShell()) { - configProps.put("clerezza.shell.disable", - "true"); - } - } - - { - String argLogLevel = arguments.getLogLevel(); - if (argLogLevel == null) { - argLogLevel = "INFO"; - } - System.out.println("setting log-level to: " + argLogLevel); - configProps.put("org.ops4j.pax.logging.DefaultServiceLog.level", - argLogLevel); - } - { - final String port = arguments.getPort(); - if (port != null) { - configProps.put("org.osgi.service.http.port", port); - } - configProps.put("org.ops4j.pax.url.mvn.repositories", getCommaSeparatedListOfMavenRepos()); - } - - { - //sun.reflect added because of http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6265952 and loading of scala scripts - String extraPackages = (String) configProps.get("org.osgi.framework.system.packages.extra"); - if (extraPackages == null) { - extraPackages = "sun.misc;sun.reflect"; - } else { - extraPackages = "sun.misc;sun.reflect;"+extraPackages; - } - configProps.put("org.osgi.framework.system.packages.extra",extraPackages); - } - - //public static final String CONTEXT_PROPERTY_HTTP_PORT_SECURE = ""; - boolean httpsEnabled = false; - { - - final String httpsPort = arguments.getSecurePort(); - if (httpsPort != null && !"".equals(httpsPort)) { - configProps.put("org.osgi.service.http.port.secure", httpsPort); - httpsEnabled = true; - } - } - { - - final String keyStorePath = arguments.getKeyStorePath(); - if (keyStorePath != null && !"".equals(keyStorePath)) { - configProps.put("org.wymiwyg.jetty.httpservice.https.keystore.path", keyStorePath); - httpsEnabled = true; - } - } - { - - final String keyStorePassword = arguments.getKeyStorePassword(); - if (keyStorePassword != null && !"".equals(keyStorePassword)) { - configProps.put("org.wymiwyg.jetty.httpservice.https.keystore.password", keyStorePassword); - httpsEnabled = true; - } - } - { - - final String keyStoreType = arguments.getKeyStoreType(); - if (keyStoreType != null && !"".equals(keyStoreType)) { - configProps.put("org.wymiwyg.jetty.httpservice.https.keystore.type", keyStoreType); - httpsEnabled = true; - } - } - - { - - final String clientAuth = arguments.getClientAuth(); - if (clientAuth != null && !"".equals(clientAuth)) { - configProps.put("org.wymiwyg.jetty.httpservice.clientauth", clientAuth); - httpsEnabled = true; - } - } - - if (httpsEnabled) { - configProps.put("org.osgi.service.http.secure.enabled", "true"); - } - return configProps; - - } - - private String getCommaSeparatedListOfMavenRepos() { - return "http://repository.apache.org/content/groups/snapshots-group@snapshots@noreleases@id=apache-snapshots," - + "http://repo1.maven.org/maven2/@id=central"; - } -}
http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/LauncherArguments.java ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/LauncherArguments.java b/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/LauncherArguments.java deleted file mode 100644 index fb99d3b..0000000 --- a/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/LauncherArguments.java +++ /dev/null @@ -1,70 +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.clerezza.platform.launcher; - -import org.wymiwyg.commons.util.arguments.CommandLine; - -/** - * - * @author mir - */ -public interface LauncherArguments { - - @CommandLine(longName = "revert", shortName = {"R"}, required = false, - description = "Command to revert platform bundles to default. all|missing|<bundle-uri-pattern>") - public String getRevertParam(); - - @CommandLine(longName = "help", shortName = {"H"}, required = false, - isSwitch = true, description = "Show help on command line arguments") - public boolean getHelp(); - - @CommandLine(longName = "log", shortName = {"L"}, required = false, - description = "set the log-level, the value is one of the following: " + - "TRACE, DEBUG, INFO, WARN, ERROR, FATAL, or NONE") - public String getLogLevel(); - - @CommandLine(longName = "port", shortName = {"P"}, required = false, - description = "The port on which the default webservice shall listen") - public String getPort(); - - @CommandLine(longName = "https_port", shortName = {}, required = false, - description = "The port on which the https secure webserver shall listen") - public String getSecurePort(); - - @CommandLine(longName = "https_keystore_path", shortName = {}, required = false, - description = "The folder with the keystore for https") - public String getKeyStorePath(); - - @CommandLine(longName = "https_keystore_password", shortName = {}, required = false, - description = "The password for accessing the keystore for https") - public String getKeyStorePassword(); - - @CommandLine(longName = "https_keystore_type", shortName = {}, required = false, - description = "The type of the key-store") - public String getKeyStoreType(); - - @CommandLine(longName = "https_keystore_clientauth", shortName = {}, required = false, - description = "Client Auth request, one of \"none\", \"want\" or \"need\"") - public String getClientAuth(); - - @CommandLine(longName = "noConsoleShell", shortName = {"NCS"}, required = false, - isSwitch = true, description = "Disable the console shell") - public boolean getNotConsoleShell(); - -} http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/Main.java ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/Main.java b/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/Main.java deleted file mode 100644 index cfa3366..0000000 --- a/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/Main.java +++ /dev/null @@ -1,48 +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.clerezza.platform.launcher; - -import java.io.IOException; - -/** - * Clerezza Application launcher class. - * - * @author daniel - */ -public class Main { - - public static void main(String... args) throws IOException { - ClerezzaApp clerezza = new ClerezzaApp(); - - try { - clerezza.start(args); - } catch (Throwable t) { - System.err.println("Could not start Clerezza: " + t); - t.printStackTrace(); - System.exit(clerezza.getExitCode()); - } - try { - clerezza.waitForStop(); - } catch (Throwable t) { - System.err.println("Exception during Clerezza shutdown: " + t); - t.printStackTrace(); - System.exit(-1); - } - } -} http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/MavenArtifactDesc.java ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/MavenArtifactDesc.java b/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/MavenArtifactDesc.java deleted file mode 100644 index c8a02bc..0000000 --- a/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/MavenArtifactDesc.java +++ /dev/null @@ -1,147 +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.clerezza.platform.launcher; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import org.wymiwyg.commons.util.dirbrowser.PathNode; - -/** - * Maven Artifact Description - * - * @author daniel - */ -class MavenArtifactDesc implements Comparable<MavenArtifactDesc> { - - //one of these is null - URL bundleUrl; - PathNode pathNode; - String groupId; - String artifactId; - String version; - - /** - * Constructor with bundle URL. - * - * @param groupId the group id. - * @param artifactId the artifact id. - * @param version the version. - * @param bundleUrl the bundle URL. - */ - MavenArtifactDesc(String groupId, String artifactId, String version, URL bundleUrl) { - this.groupId = groupId; - this.artifactId = artifactId; - this.version = version; - this.bundleUrl = bundleUrl; - } - - /** - * Constructor with bundle path. - * - * @param groupId the group id. - * @param artifactId the artifact id. - * @param version the version. - * @param pathNode the bundle path node. - */ - MavenArtifactDesc(String groupId, String artifactId, String version, PathNode pathNode) { - this.groupId = groupId; - this.artifactId = artifactId; - this.version = version; - this.pathNode = pathNode; - } - - /** - * Parse Maven Artifact Description from an URL. - * - * @param bundleUrl the URL. - * @return A new MavenArtifactDesc object. - */ - static MavenArtifactDesc parseFromURL(URL bundleUrl) { - String string = bundleUrl.toString(); - int posSlashM1 = string.lastIndexOf('/'); - int posSlashM2 = string.lastIndexOf('/', posSlashM1 - 1); - int posSlashM3 = string.lastIndexOf('/', posSlashM2 - 1); - String version = string.substring(posSlashM2 + 1, posSlashM1); - String artifactId = string.substring(posSlashM3 + 1, posSlashM2); - String groupId = getGroupId(string.substring(0, posSlashM3)); - return new MavenArtifactDesc(groupId, artifactId, version, bundleUrl); - } - - /** - * Parse Maven Artifact Description from a path node. - * - * @param pathNode The path node. - * @return A new MavenArtifactDesc object. - */ - static MavenArtifactDesc parseFromPath(PathNode pathNode) { - String string = pathNode.getPath(); - int posSlashM1 = string.lastIndexOf('/'); - int posSlashM2 = string.lastIndexOf('/', posSlashM1 - 1); - int posSlashM3 = string.lastIndexOf('/', posSlashM2 - 1); - String version = string.substring(posSlashM2 + 1, posSlashM1); - String artifactId = string.substring(posSlashM3 + 1, posSlashM2); - String groupId = getGroupId(string.substring(0, posSlashM3)); - return new MavenArtifactDesc(groupId, artifactId, version, pathNode); - } - - /** - * Assembles group-id from the diretories after "bundles/" - * - * @param string a path-string. Must contain "bundles/". - */ - static String getGroupId(String string) { - int startPos = string.indexOf("bundles/") + 8; - startPos = string.indexOf('/', startPos) + 1; - return string.substring(startPos).replace('/', '.'); - } - - /** - * Returns an URI in the form "mvn:groupId/artifactId/version" - * - * @return the URI. - */ - public String getShortUri() { - return "mvn:" + groupId + "/" + artifactId; - } - - /** - * Returns a string representation of this object in the form - * "mvn:groupId/artifactId/version" - * - * @return the string representation of this Maven Artifact Description. - */ - @Override - public String toString() { - return "mvn:" + groupId + "/" + artifactId + "/" + version; - } - - InputStream getInputStream() throws IOException { - if (bundleUrl == null) { - return pathNode.getInputStream(); - } - return bundleUrl.openStream(); - } - - @Override - public int compareTo(MavenArtifactDesc o) { - return toString().compareTo(o.toString()); - } -} http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/ShutdownListener.java ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/ShutdownListener.java b/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/ShutdownListener.java deleted file mode 100644 index 1d406ce..0000000 --- a/platform.launcher.storageless.parent/platform.launcher.storageless/src/main/java/org/apache/clerezza/platform/launcher/ShutdownListener.java +++ /dev/null @@ -1,38 +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.clerezza.platform.launcher; - -import org.osgi.framework.FrameworkEvent; - -/** - * A listener that gets notified when the Felix Framework is shut down. - * - * @author daniel - */ -public interface ShutdownListener { - - /** - * Notify listener of complete Clerezza shut down. - * - * @param event - * What event caused the shutdown. Note: event may be null. - */ - public void notify(FrameworkEvent event); -} http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/documentation/images/tut_1_class_diagram.png ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/documentation/images/tut_1_class_diagram.png b/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/documentation/images/tut_1_class_diagram.png deleted file mode 100644 index 0bd04f4..0000000 Binary files a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/documentation/images/tut_1_class_diagram.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/documentation/style/style.css ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/documentation/style/style.css b/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/documentation/style/style.css deleted file mode 100644 index ff49a4d..0000000 --- a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/documentation/style/style.css +++ /dev/null @@ -1,421 +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. - * -*/ - -/*--------------------------------------------------------------------------- - * Two- and three-column layout - */ - -#banner { - top: 0px; - left: 0px; - right: 0px; - height: 116px; -} - -#left { - position: absolute; - z-index: 2; - left: 8px; - width: 184px; - top: 125px; - bottom: 8px; - margin: 0px; - padding: 0px; -} - -#right { - position: absolute; - z-index: 1; - right: 8px; - width: 184px; - top: 125px; - bottom: 8px; - margin: 0px; - padding: 0px; -} - -.Content3Column { - position: absolute; - top: 125px; - bottom: 8px; - left: 208px; - right: 216px; -} - -.Content2Column { - position: absolute; - top: 125px; - bottom: 8px; - left: 208px; - right: 16px; -} - -#center { - z-index: 3; - margin: 0px; - border: none; - padding-bottom: 8px; -} - - -/*--------------------------------------------------------------------------- - * Default element styles - */ - -body { - padding: 0px; - margin: 0px; - border: 0px; - - font-family: helvetica, arial, sans-serif; - font-size: 12px; - - background-color: white; - color: black; -} - -h1, h2, h3, h4, h5, h6 { - margin: 0px; - border: 0px; - padding: 0px; - font-weight: normal; -} - -a:link { color: #008DA8; } -a:active { color: #FE5400; } -a:hover { color: #FE5400; } -a:visited { color: black; } - -iframe { - width:100%; - height: 800px; - border: 0px; -} - -img { - border: 0px; - padding: 0px; - margin: 0px; -} - -p { - border: 0px; - padding: 0px; - margin: 0px; - margin-bottom: 10px; -} - -blockquote { - margin-bottom: 10px; -} - -td { - font-size: 12px; - padding: 2px; -} - -tr.a { - background-color: #e0e0e0; -} -tr.b { - background-color: #ffffff; -} - -th { - font-size: 12px; - font-weight: bold; - white-space: nowrap; - padding: 2px; -} - -th.Row { - text-align: left; - vertical-align: top; -} - -ul, ol { - border: 0px; - padding: 0px; - margin-top: 0px; - margin-bottom: 12px; - margin-left: 20px; -} - - -/*--------------------------------------------------------------------------- - * Page banner - */ - -#banner { - margin: 0px; - border: 0px; - border-bottom: 1px solid #008DA8; - padding: 0px; - background-color: #e0e0e0; - color: #008DA8; - vertical-align: bottom; -} - -#banner a { text-decoration: none; } -#banner a:visited { color: #008DA8; } -#banner a:hover { color: #FE5400; } -#banner a:active { color: #FE5400; } - -#logo { - position: absolute; - top: 5px; - left: 8px; -} - -#versions { - position: absolute; - width: auto; - right: 0px; - top: 0px; - margin: 8px; - font-weight: normal; -} - -/*--------------------------------------------------------------------------- - * Page content - */ - -#content { - margin: 0px; - background-color: white; - color: black; - height: 100%; -} - -#content h1 { - width: 100%; - font-size: 18px; - background-color: #008DA8; - color: white; - padding: 2px; - padding-left: 6px; - margin-top: 24px; - margin-bottom: 12px; -} - -#content .FirstChild { /* IE doesn't understand first-child pseudoelement */ - margin-top: 0px; -} - -#content a { text-decoration: underline; } -#content a:link { color: #008DA8; } -#content a:visited { color: #008DA8; } -#content a:active { color: #FE5400; } -#content a:hover { color: #FE5400; } - -#content h2 { - margin-top: 24px; - border-top: 1px solid #008DA8; - margin-bottom: 16px; - font-size: 15px; - font-weight: bold; - background-color: #e0e0e0;; - padding: 2px; -} - -#content li { - margin-bottom: 6px; -} - -#content th { - background-color: #e0e0e0; -} - -#content td { - -} - -.Source pre { - padding: 4px; - font-family: courier new, monospace; - font-size: 11px; - border: 1px solid #008DA8; - background-color: #e0e0e0; - color: black; -} - -.Source:before { - margin: 0px; - padding: 0px; - border: 0px; - font-size: inherit; - line-spacing: 100%; -} - -.highlight { - background-color: #e0e0e0; - border: 1px dotted #008DA8; - padding: 5px; -} - -/* The following are for images, but can also apply to div's containing images. */ - -#content .Float { - float: right; - margin-left: 8px; - margin-right: 0px; - margin-top: 8px; - margin-bottom: 8px; -} - -#content .Diagram { - display: block; - margin-left: auto; - margin-right: auto; - margin-top: 8px; - margin-bottom: 8px; -} - - -#content .Inline { - display: inline; -} - -.RuleOfThumb { - font-weight: bold; -} - -/*--------------------------------------------------------------------------- - * Side panels - */ - -.SidePanel { - background-color: white; - padding: 0px; - font-size: 11px; -} - -.SidePanel h1 { - margin: 0px; - border: 0px; - padding: 4px; - - color: #008DA8; - - font-size: 12px; - font-weight: bold; -} - - -.SidePanel a { text-decoration: none; } -.SidePanel a:link { color: #000000; } -.SidePanel a:visited { color: #000000; } -.SidePanel a:active { color: #FE5400; } -.SidePanel a:hover { color: #FE5400; } - -/*--------------------------------------------------------------------------- - * Menus - */ - -.MenuGroup { - border-left: 1px solid #A3DAE6; - border-top: 1px solid #A3DAE6; - border-bottom: 1px solid white; /* IE work-around */ - - margin-bottom: 8px; - background-color: white; - color: #008DA8; -} - -.MenuGroup ul { - margin: 0px; - padding-left: 4px; - list-style-type: none; -} - -.MenuGroup li { - padding: 2px; -} - -.MenuGroup .currentLink { -/* background-color: #060;*/ - background-color: #e0e0e0; - color: #008DA8; -} - - -/*--------------------------------------------------------------------------- - * News panel - */ - -.NewsGroup { - border-left: 1px solid #A3DAE6; - border-top: 1px solid #A3DAE6; - border-bottom: 1px solid white; /* IE workaround */ - margin-bottom: 8px; - - color: #008DA8; -} - -.NewsItem { - margin: 4px; -} - -.NewsDate { - font-weight: bold; - margin: 0px; - padding: 0px; -} - -.NewsText { - padding: 0px; - margin: 0px; - margin-bottom: 8px; -} - -.NewsText a { text-decoration: underline; } -.NewsText a:link { color: #008DA8; } -.NewsText a:visited { color: #008DA8; } -.NewsText a:active { color: #FE5400; } -.NewsText a:hover { color: #FE5400; } - -.NewsMore { - font-size: smaller; - margin: 4px; - margin-top: 8px; - text-align: left; -} - -.NewsGroup td { - font-size: 12px; -} - -/*--------------------------------------------------------------------------- - * Document meta-information - */ - -.Meta { - margin-top: 64px; - font-size: smaller; - color: #008DA8; - text-align: right; -} - -.Meta a { text-decoration: underline; } -.Meta a:link { color: #008DA8; } -.Meta a:visited { color: #008DA8; } -.Meta a:active { color: #FE5400; } -.Meta a:hover { color: #FE5400; } http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/images/clerezza.png ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/images/clerezza.png b/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/images/clerezza.png deleted file mode 100644 index cb0efb0..0000000 Binary files a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/resources/images/clerezza.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/site.xml ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/site.xml b/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/site.xml deleted file mode 100644 index 8d5a4cb..0000000 --- a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/site.xml +++ /dev/null @@ -1,30 +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> - <body> - <menu name="Documentation"> - <item name="Usage" href="documentation/usage.xhtml"/> - </menu> - </body> -</project> http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/content/sitemap.xml ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/content/sitemap.xml b/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/content/sitemap.xml deleted file mode 100644 index 38be885..0000000 --- a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/content/sitemap.xml +++ /dev/null @@ -1,28 +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. - ---> - -<sitemap> - <section> - <name>Documentation</name> - <page>usage.xhtml</page> - </section> -</sitemap> http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/content/usage.xhtml ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/content/usage.xhtml b/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/content/usage.xhtml deleted file mode 100644 index 4db0157..0000000 --- a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/content/usage.xhtml +++ /dev/null @@ -1,180 +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. - */ ---> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us"> - <head> - <title>Usage: How to launch the clerezza platform</title> - </head> - <body> - <h1>Usage: How to launch the clerezza platform</h1> - <p>Author: Daniel Spicar, Tsuyoshi Ito - clerezza.org</p> - <p>Date: March 25, 2009</p> - <h2 id="download">1. Download the launcher</h2> - <p> - The latest snapshots of the launcher can be found on: - <br /> - <br /> - <a href="http://repo.trialox.org/snapshot/org/apache/clerezza/org.apache.clerezza.platform.launcher/" target="_blank"> - http://repo.trialox.org/snapshot/org/apache/clerezza/org.apache.clerezza.platform.launcher/ - </a> - <br /> - <br /> - or get a stable release from: - <br /> - <br /> - <a href="http://repo.trialox.org/release/org/apache/clerezza/org.apache.clerezza.platform.launcher/" target="_blank"> - http://repo.trialox.org/release/org/apache/clerezza/org.apache.clerezza.platform.launcher/ - </a> - <br /> - <br /> - (e.g. org.apache.clerezza.platform.launcher-0.2-20090421.105711-13.jar from <a href="http://repo.trialox.org/snapshot/org/apache/clerezza/org.apache.clerezza.platform.launcher/0.2-SNAPSHOT/" target="_blank"> - http://repo.trialox.org/snapshot/org/apache/clerezza/org.apache.clerezza.platform.launcher/0.2-SNAPSHOT/ - </a>). - </p> - <h2 id="run">2. Run the platform</h2> - <p> - Execute the jar by typing - the following into a console: - </p> - <pre> - <code>$ java -Dorg.ops4j.pax.logging.DefaultServiceLog.level=ERROR -jar '/path/to/org.apache.clerezza.platform.launcher-0.2-20090421.105711-13.jar'</code> - </pre> - <p> - This will launch the platform and send the logger output from the - level ERROR and above to the console. - If problems are encountered, make sure the jar archive is executeable. - In a desktop environment like Microsoft Windows it can be enough to - double click the file in order to launch it. - <br /> - If the platform was launched in the console, hit the return key to get a promt (->). - The loaded bundles and their state can be checked by typing: - </p> - <pre> - <code> - -> ps - </code> - </pre> - <p> - The output should look like this: - </p> - <pre> - <code> - START LEVEL 30 - ID State Level Name - [ 0] [Active ] [ 0] System Bundle (1.4.1) - [ 1] [Resolved ] [ 1] Clerezza - Platform Security Conditions (0.2.0.SNAPSHOT) - [ 2] [Active ] [ 2] Apache Felix Bundle Repository (1.2.1) - [ 3] [Active ] [ 2] Apache Felix Configuration Admin Service (1.0.10) - ... - - - <strong>[ 28] [Active ] [ 3] Clerezza - Platform Account Control Panel (0.3.0.SNAPSHOT)</strong> - <strong>[ 29] [Active ] [ 3] Clerezza - Platform Content (0.7.0.SNAPSHOT)</strong> - <strong>[ 30] [Active ] [ 3] Clerezza - Platform Template Manager (0.2.0.SNAPSHOT)</strong> - <strong>[ 32] [Active ] [ 3] Clerezza - Platform Type Handler Space (0.2.0.SNAPSHOT)</strong> - <strong>[ 33] [Active ] [ 3] Clerezza - Platform Usermanager and Rolemanager (0.7.0.SNAPSHOT)</strong> - ... - -> - </code> - </pre> - <p> - To see a list of available services type: - </p> - <pre> - <code> - -> scr list - </code> - </pre> - <p> - The output should look like this: - </p> - <pre> - <code> - Id State Name - [ 0] [active ] org.apache.clerezza.platform.security.PermissionManager - [ 1] [active ] org.apache.clerezza.platform.security.auth.AuthenticatingFilter - [ 2] [active ] org.apache.clerezza.jaxrs.rdf.providers.GraphReader - [ 3] [active ] org.apache.clerezza.jaxrs.rdf.providers.GraphWriter - - - ... - -> - </code> - </pre> - <p> - Now the platform can be accessed in a web browser by going to <i>http://localhost:8080/path_to_service/</i>, whereas <i>path_to_service</i> has to be replaced by the path to a service/module (when asked to authenticate use username "admin" and password "admin". The user account "admin" has all permissions). - <br />Try the following modules: - </p> - <ul> - <li><a href="http://localhost:8080/admin/user-manager/" target="_blank">http://localhost:8080/admin/user-manager/</a></li> - <li><a href="http://localhost:8080/admin/role-manager/" target="_blank">http://localhost:8080/admin/role-manager/</a></li> - <li><a href="http://localhost:8080/admin/template-manager/" target="_blank">http://localhost:8080/admin/template-manager/</a></li> - <li> - <a href="http://localhost:8080/user/admin/control-panel/" target="_blank"> - http://localhost:8080/user/admin/control-panel/ - </a> - (where <i>admin</i> can be the username of an arbitary user) - </li> - <li><a href="http://localhost:8080/tools/editor/" target="_blank">http://localhost:8080/tools/editor/</a></li> - </ul> - <p> - Check out the following sites for more information: - </p> - <ul> - <li> - <a href="http://clerezza.org/projects/org.apache.clerezza.platform.usermanager/" target="_blank"> - http://clerezza.org/projects/org.apache.clerezza.platform.usermanager/ - </a> - </li> - <li><a href="http://clerezza.org/projects/org.apache.clerezza.platform.accountcontrolpanel/" target="_blank">http://clerezza.org/projects/org.apache.clerezza.platform.accountcontrolpanel/</a></li> - <li><a href="http://clerezza.org/projects/org.apache.clerezza.platform.templating.manager/" target="_blank">http://clerezza.org/projects/org.apache.clerezza.platform.templating.manager/</a></li> - <li><a href="http://clerezza.org/projects/org.apache.clerezza.platform.content/" target="_blank">http://clerezza.org/projects/org.apache.clerezza.platform.content/</a></li> - </ul> - <h2 id="shutdown">3. Shutdown the platform</h2> - <p> - The platform can be stopped by typing: - </p> - <pre> - <code> - -> shutdown - </code> - </pre> - - <h2 id="shutdown">4. Felix webconsole</h2> - <p> - As an alternative to the command-line interface Felix also provides - a web-based management interface available by default at - <a href="http://localhost:8080/system/console">http://localhost:8080/system/console</a>. - The port at which the console is accessible can be set with the - <code>org.osgi.service.http.port</code> system property. - </p> - <pre> - <code>$ java -Dorg.osgi.service.http.port=8383 -jar '/path/to/org.apache.clerezza.platform.launcher-0.2-20090421.105711-13.jar'</code> - </pre> - <p> - Starting the platform as above the web-console will be available on - port 8383, note that this has no impact on the port of the plaftform's - webserver which by default listens to port 8080. - </p> - </body> -</html> - http://git-wip-us.apache.org/repos/asf/clerezza/blob/af0d99b2/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/templates/skin.html ---------------------------------------------------------------------- diff --git a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/templates/skin.html b/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/templates/skin.html deleted file mode 100644 index bb1b45d..0000000 --- a/platform.launcher.storageless.parent/platform.launcher.storageless/src/site/xsite/templates/skin.html +++ /dev/null @@ -1,71 +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. - ---> - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <title>clerezza.org - ${title}</title> - <link rel="stylesheet" type="text/css" href="style/style.css"/> - ${head} - </head> - <body> - - <div id="banner"> - <a href="http://clerezza.org/"> - <img id="logo" src="../images/clerezza.png" alt="clerezza.org"/> - </a><br /> - </div> - - <div id="center" class="${centerClass}"> - <div id="content"> - <!-- <h1 class="FirstChild">${title}</h1> --> - ${body} - <p>Copyright (c) 2008-2009 trialox.org (trialox AG, Switzerland)</p> - <br /><br /> - </div> - </div> - - <div class="SidePanel" id="left"> - <#list sitemap.sections as section> - <div class="MenuGroup"> - <h1>${section.name}</h1> - <ul> - <#list section.entries as entry> - <#if entry = page> - <li class="currentLink">${entry.title}</li> - <#else> - <li><a href="${entry.href}">${entry.title}</a></li> - </#if> - </#list> - </ul> - </div> - </#list> - <div class="MenuGroup"> - <h1>Project Site</h1> - <ul> - - <li><a href="../index.html">Back to project site</a></li> - </ul> - </div> - </div> - - </body> -</html>