core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/discovery/ui/Activator.java
author dadubrow
Mon, 02 Aug 2010 08:44:45 -0500
changeset 1734 bf670d38123a
parent 1721 18638adda547
child 1744 48b623de4c8e
permissions -rw-r--r--
More portal framework changes: support for page command bars in page extension ordering across layers on page abstract discovery UI pages improvements to open editor asap and defer updates if needed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1377
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
     1
/*
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
     3
* All rights reserved.
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
     4
* This component and the accompanying materials are made available
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
     6
* which accompanies this distribution, and is available
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
     8
*
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
     9
* Initial Contributors:
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
    10
* Nokia Corporation - initial contribution.
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
    11
*
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
    12
* Contributors:
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
    13
*
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
    14
* Description: 
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
    15
*
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
    16
*/
1360
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    17
package com.nokia.carbide.discovery.ui;
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    18
1634
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    19
import java.io.File;
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    20
import java.io.FileInputStream;
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    21
import java.io.IOException;
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    22
import java.io.InputStream;
1637
06fc2fdd1ac4 add mozilla support
dadubrow
parents: 1634
diff changeset
    23
import java.net.URI;
1734
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    24
import java.net.URISyntaxException;
1634
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    25
import java.net.URL;
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    26
import java.text.MessageFormat;
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    27
import java.util.Properties;
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    28
1637
06fc2fdd1ac4 add mozilla support
dadubrow
parents: 1634
diff changeset
    29
import org.eclipse.core.net.proxy.IProxyData;
1634
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    30
import org.eclipse.core.runtime.IPath;
1734
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    31
import org.eclipse.core.runtime.IProgressMonitor;
1363
dfbd4576cd61 move url to server.properties
dadubrow
parents: 1360
diff changeset
    32
import org.eclipse.core.runtime.IStatus;
1634
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    33
import org.eclipse.core.runtime.Path;
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    34
import org.eclipse.core.runtime.Platform;
1363
dfbd4576cd61 move url to server.properties
dadubrow
parents: 1360
diff changeset
    35
import org.eclipse.core.runtime.Status;
1734
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    36
import org.eclipse.core.runtime.jobs.Job;
1360
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    37
import org.eclipse.jface.resource.ImageDescriptor;
1634
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
    38
import org.eclipse.osgi.service.datalocation.Location;
1734
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    39
import org.eclipse.swt.SWT;
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    40
import org.eclipse.swt.widgets.Control;
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    41
import org.eclipse.swt.widgets.Display;
1360
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    42
import org.eclipse.ui.plugin.AbstractUIPlugin;
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    43
import org.osgi.framework.BundleContext;
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    44
1637
06fc2fdd1ac4 add mozilla support
dadubrow
parents: 1634
diff changeset
    45
import com.nokia.cpp.internal.api.utils.core.ProxyUtils;
06fc2fdd1ac4 add mozilla support
dadubrow
parents: 1634
diff changeset
    46
1360
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    47
/**
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    48
 * The activator class controls the plug-in life cycle
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    49
 */
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    50
public class Activator extends AbstractUIPlugin {
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    51
	// The plug-in ID
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    52
	public static final String PLUGIN_ID = "com.nokia.carbide.discovery.ui"; //$NON-NLS-1$
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    53
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    54
	// The shared instance
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    55
	private static Activator plugin;
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    56
1637
06fc2fdd1ac4 add mozilla support
dadubrow
parents: 1634
diff changeset
    57
	private static final String PROPERTY_PROXYPORT = "network.proxy_port"; //$NON-NLS-1$
06fc2fdd1ac4 add mozilla support
dadubrow
parents: 1634
diff changeset
    58
	private static final String PROPERTY_PROXYHOST = "network.proxy_host"; //$NON-NLS-1$
1734
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    59
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    60
	private boolean proxyDataAvailable;
1637
06fc2fdd1ac4 add mozilla support
dadubrow
parents: 1634
diff changeset
    61
	
1360
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    62
	/**
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    63
	 * The constructor
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    64
	 */
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    65
	public Activator() {
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    66
	}
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    67
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    68
	/*
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    69
	 * (non-Javadoc)
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    70
	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    71
	 */
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    72
	public void start(BundleContext context) throws Exception {
1721
18638adda547 more portal changes:
dadubrow
parents: 1661
diff changeset
    73
		plugin = this;
1360
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
    74
		super.start(context);
1734
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    75
		Job j = new Job("Getting proxy info") {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    76
			@Override
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    77
			protected IStatus run(IProgressMonitor monitor) {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    78
				try {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    79
					IProxyData proxyData = ProxyUtils.getProxyData(new URI("http://www.yahoo.com"));
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    80
					if (proxyData != null) {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    81
						System.setProperty(PROPERTY_PROXYHOST, proxyData.getHost());
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    82
						System.setProperty(PROPERTY_PROXYPORT, String.valueOf(proxyData.getPort()));
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    83
					}
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    84
				} catch (URISyntaxException e) {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    85
				} //$NON-NLS-1$
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    86
				setProxyDataAvailable();
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    87
				return Status.OK_STATUS;
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    88
			}
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    89
		};
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    90
		j.setSystem(true);
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    91
		j.setUser(false);
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    92
		j.schedule();
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    93
	}
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    94
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    95
	private synchronized void setProxyDataAvailable() {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    96
		proxyDataAvailable = true;
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    97
	}
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    98
	
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
    99
	public synchronized boolean isProxyDataAvailable() {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   100
		return proxyDataAvailable;
1360
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   101
	}
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   102
1734
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   103
	public static void runInUIThreadWhenProxyDataSet(final Control control, final Runnable r) {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   104
		Job j = new Job("") {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   105
			@Override
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   106
			protected IStatus run(IProgressMonitor monitor) {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   107
				setBusyCursor(control, true);
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   108
				Activator activator = getDefault();
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   109
				while (!activator.isProxyDataAvailable()) {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   110
					try {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   111
						Thread.sleep(200);
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   112
					} catch (InterruptedException e) {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   113
					}
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   114
				}
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   115
				setBusyCursor(control, false);
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   116
				Display.getDefault().asyncExec(r);
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   117
				return Status.OK_STATUS;
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   118
			}
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   119
		};
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   120
		j.setSystem(true);
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   121
		j.setUser(false);
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   122
		j.schedule();
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   123
	}
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   124
	
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   125
	public static void setBusyCursor(final Control control, final boolean isBusy) {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   126
		final Display display = control.getDisplay();
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   127
		display.syncExec(new Runnable() {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   128
			@Override
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   129
			public void run() {
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   130
				control.setCursor(isBusy ? display.getSystemCursor(SWT.CURSOR_WAIT) : null);
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   131
			}
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   132
		});
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   133
	}
bf670d38123a More portal framework changes:
dadubrow
parents: 1721
diff changeset
   134
	
1360
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   135
	/*
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   136
	 * (non-Javadoc)
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   137
	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   138
	 */
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   139
	public void stop(BundleContext context) throws Exception {
1377
40401ea8b1fd move p2 policy code to discovery plugin for now + add system property for disabling unsigned check
dadubrow
parents: 1363
diff changeset
   140
		super.stop(context);
1360
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   141
		plugin = null;
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   142
	}
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   143
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   144
	/**
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   145
	 * Returns the shared instance
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   146
	 *
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   147
	 * @return the shared instance
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   148
	 */
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   149
	public static Activator getDefault() {
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   150
		return plugin;
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   151
	}
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   152
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   153
	/**
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   154
	 * Returns an image descriptor for the image file at the given
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   155
	 * plug-in relative path
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   156
	 *
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   157
	 * @param path the path
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   158
	 * @return the image descriptor
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   159
	 */
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   160
	public static ImageDescriptor getImageDescriptor(String path) {
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   161
		return imageDescriptorFromPlugin(PLUGIN_ID, path);
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   162
	}
1363
dfbd4576cd61 move url to server.properties
dadubrow
parents: 1360
diff changeset
   163
dfbd4576cd61 move url to server.properties
dadubrow
parents: 1360
diff changeset
   164
	/**
dfbd4576cd61 move url to server.properties
dadubrow
parents: 1360
diff changeset
   165
	 * Log to error log
dfbd4576cd61 move url to server.properties
dadubrow
parents: 1360
diff changeset
   166
	 * @param message
dfbd4576cd61 move url to server.properties
dadubrow
parents: 1360
diff changeset
   167
	 * @param t
dfbd4576cd61 move url to server.properties
dadubrow
parents: 1360
diff changeset
   168
	 */
dfbd4576cd61 move url to server.properties
dadubrow
parents: 1360
diff changeset
   169
	public static void logError(String message, Throwable t) {
dfbd4576cd61 move url to server.properties
dadubrow
parents: 1360
diff changeset
   170
		getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, message, t));
dfbd4576cd61 move url to server.properties
dadubrow
parents: 1360
diff changeset
   171
	}
1634
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   172
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   173
	/**
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   174
	 * Get a value from the server.properties file
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   175
	 * @param key
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   176
	 * @return
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   177
	 */
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   178
	public static String getFromServerProperties(String key) {
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   179
		Location installLocation = Platform.getInstallLocation();
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   180
		URL url = installLocation.getURL();
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   181
		IPath path = new Path(url.getPath());
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   182
		path = path.append("configuration/server.properties"); //$NON-NLS-1$
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   183
		File file = path.toFile();
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   184
		Properties properties = new Properties();
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   185
		try {
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   186
			InputStream is = new FileInputStream(file);
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   187
			properties.load(is);
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   188
			is.close();
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   189
		} catch (IOException e) {
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   190
			String message = 
1661
cd8159f371c7 multiple changes:
dadubrow
parents: 1637
diff changeset
   191
				MessageFormat.format(Messages.Activator_MissingConfigURLError, key);
1634
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   192
			Activator.logError(message, e);
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   193
		}
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   194
		return (String) properties.get(key);
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   195
	}
c8405758cfd4 add portal support for browser page
dadubrow
parents: 1378
diff changeset
   196
1360
b609311b7b1c initial commit
dadubrow
parents:
diff changeset
   197
}